diff --git a/mcp-server/src/PluginBridge.ts b/mcp-server/src/PluginBridge.ts index 31b0863..1d872a0 100644 --- a/mcp-server/src/PluginBridge.ts +++ b/mcp-server/src/PluginBridge.ts @@ -102,12 +102,18 @@ export class PluginBridge { public async executePluginTask>( task: PluginTask ): Promise { - // Check if there are connected clients + // Check for a single connected client if (this.connectedClients.size === 0) { throw new Error( `No Penpot plugin instances are currently connected. Please ensure the plugin is running and connected.` ); } + if (this.connectedClients.size > 1) { + throw new Error( + `Multiple (${this.connectedClients.size}) Penpot MCP Plugin instances are connected. ` + + `Ask the user to ensure that only one instance is connected at a time.` + ); + } // Register the task for result correlation this.pendingTasks.set(task.id, task); @@ -147,7 +153,7 @@ export class PluginBridge { }, this.taskTimeoutSecs * 1000); this.taskTimeouts.set(task.id, timeoutHandle); - this.logger.info(`Sent task ${task.id} to ${sentCount} connected clients`); + this.logger.info(`Sent task ${task.id} to ${sentCount} connected client`); return await task.getResultPromise(); }