danielfrey2280
10/09/2025, 4:22 PMts
Error calling tool COMPOSIO_CREATE_PLAN: McpError: MCP error -32001: Request timed out
ToolException: Error calling tool COMPOSIO_CREATE_PLAN: McpError: MCP error -32001: Request timed out
at _callTool (/Users/danielfrey/projects/syntrics/node_modules/.pnpm/@langchain+mcp-Akram Boussanni
10/09/2025, 11:44 PMAkram Boussanni
10/09/2025, 11:44 PMdanielfrey2280
10/10/2025, 1:20 PMdanielfrey2280
10/10/2025, 1:20 PMabhishekpatil4
10/11/2025, 4:25 PMdanielfrey2280
10/12/2025, 8:53 AMdanielfrey2280
10/13/2025, 8:26 AMAkram Boussanni
10/13/2025, 8:27 AMdanielfrey2280
10/13/2025, 2:29 PMdanielfrey2280
10/14/2025, 10:07 PMdanielfrey2280
10/15/2025, 6:32 AMabhishekpatil4
10/15/2025, 7:51 AMdanielfrey2280
10/15/2025, 10:22 AMRahul
10/15/2025, 9:14 PMdanielfrey2280
10/16/2025, 4:59 PMRahul
10/16/2025, 8:42 PMdanielfrey2280
10/17/2025, 11:13 AMts
const tools = await client.getTools();
// Wrap each tool's func to ensure timeout is always passed to _callTool
const toolsWithTimeout = tools.map((tool) => {
// Type assertion to access internal func property
const mutableTool = tool as DynamicStructuredTool & {
defaultConfig?: RunnableConfig;
func?: (...args: unknown[]) => Promise<unknown>;
};
// Wrap the internal func that _callTool receives its config from
if (mutableTool.func) {
const originalFunc = mutableTool.func.bind(mutableTool);
mutableTool.func = async (...args: unknown[]) => {
// The signature is: func(args, runManager, config)
// We need to inject timeout into the config (third parameter)
const [toolArgs, runManager, config] = args;
const configWithTimeout = {
...(config as RunnableConfig),
timeout: (config as RunnableConfig)?.timeout ?? MCP_CLIENT_TIMEOUT,
};
return originalFunc(toolArgs, runManager, configWithTimeout);
};
}
// Ensure defaultConfig exists
if (!mutableTool.defaultConfig) {
mutableTool.defaultConfig = { timeout: MCP_CLIENT_TIMEOUT };
} else if (!mutableTool.defaultConfig.timeout) {
mutableTool.defaultConfig = {
...mutableTool.defaultConfig,
timeout: MCP_CLIENT_TIMEOUT,
};
}
return tool;danielfrey2280
10/31/2025, 1:13 PMdanielfrey2280
11/01/2025, 9:18 AMabhishekpatil4
11/02/2025, 3:36 AMdanielfrey2280
11/02/2025, 9:19 AM