diff --git a/packages/data-provider/src/mcp.ts b/packages/data-provider/src/mcp.ts index 4f3225838f..c52ca7d15a 100644 --- a/packages/data-provider/src/mcp.ts +++ b/packages/data-provider/src/mcp.ts @@ -4,6 +4,7 @@ import { extractEnvVariable } from './utils'; const BaseOptionsSchema = z.object({ iconPath: z.string().optional(), timeout: z.number().optional(), + initTimeout: z.number().optional(), }); export const StdioOptionsSchema = BaseOptionsSchema.extend({ diff --git a/packages/mcp/src/connection.ts b/packages/mcp/src/connection.ts index 72c4b472d3..4531ae777d 100644 --- a/packages/mcp/src/connection.ts +++ b/packages/mcp/src/connection.ts @@ -269,7 +269,7 @@ export class MCPConnection extends EventEmitter { this.transport = this.constructTransport(this.options); this.setupTransportDebugHandlers(); - const connectTimeout = 10000; + const connectTimeout = this.options.initTimeout ?? 10000; await Promise.race([ this.client.connect(this.transport), new Promise((_resolve, reject) =>