Plugins extend FrontMCP servers with reusable functionality. They hook into the server lifecycle and can modify tool behavior, add new capabilities, and integrate with external services.
interface Plugin { name: string; // Called when server starts onInit?(server: Server): Promise<void>; // Called when server stops onDestroy?(): Promise<void>; // Called before each tool execution beforeTool?(context: ToolContext): Promise<void>; // Called after each tool execution afterTool?(context: ToolContext, result: any): Promise<any>; // Called on errors onError?(error: Error, context: ToolContext): Promise<void>;}