{"record":{"id":"a0004b4f30d8a729","repo":"n8n-io/n8n","slug":"tool-not-found","errorCode":null,"errorMessage":"Tool not found","messagePattern":"Tool not found","errorType":"exception","errorClass":"NodeOperationError","httpStatus":null,"severity":"error","filePath":"packages/@n8n/nodes-langchain/nodes/mcp/McpClient/resourceMapping.ts","lineNumber":37,"sourceCode":"\tconst serverTransport = this.getNodeParameter('serverTransport') as McpServerTransport;\n\tconst endpointUrl = this.getNodeParameter('endpointUrl') as string;\n\tconst node = this.getNode();\n\tconst client = await connectMcpClientForCredential(this, {\n\t\tauthentication,\n\t\tserverTransport,\n\t\tendpointUrl,\n\t\tsurface: 'MCP Client',\n\t});\n\n\tif (!client.ok) {\n\t\tthrow mapToNodeOperationError(node, client.error);\n\t}\n\n\ttry {\n\t\tconst result = await getAllTools(client.result);\n\t\tconst tool = result.find((tool) => tool.name === toolId);\n\t\tif (!tool) {\n\t\t\tthrow new NodeOperationError(this.getNode(), 'Tool not found');\n\t\t}\n\n\t\tconst fields = convertJsonSchemaToResourceMapperFields(tool.inputSchema);\n\t\treturn {\n\t\t\tfields,\n\t\t};\n\t} finally {\n\t\tawait client.result.close();\n\t}\n}\n","sourceCodeStart":19,"sourceCodeEnd":48,"githubUrl":"https://github.com/n8n-io/n8n/blob/5ac6606e81f67bb9534255570cd4e86fd8101eee/packages/@n8n/nodes-langchain/nodes/mcp/McpClient/resourceMapping.ts#L19-L48","documentation":"Error \"Tool not found\" thrown in n8n-io/n8n.","triggerScenarios":"Thrown at packages/@n8n/nodes-langchain/nodes/mcp/McpClient/resourceMapping.ts:37 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5ac6606e81f67bb9534255570cd4e86fd8101eee","analyzedAt":"2026-08-12T05:26:35.080Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}