n8n-io/n8n · error · OperationalError
Tool not found
Error message
Tool not found
What it means
Error "Tool not found" thrown in n8n-io/n8n.
Source
Thrown at packages/@n8n/nodes-langchain/nodes/mcp/McpTrigger/McpServer.ts:638
}
const callId = extra.requestId ? `${extra.sessionId}_${extra.requestId}` : extra.sessionId;
try {
if (!request.params?.name || !request.params?.arguments) {
throw new OperationalError('Require a name and arguments for the tool call');
}
const toolName = request.params.name;
const toolArguments =
typeof request.params.arguments === 'object' && request.params.arguments !== null
? request.params.arguments
: {};
const tools = this.sessionManager.getTools(extra.sessionId) ?? [];
const requestedTool = tools.find((tool) => tool.name === toolName);
if (!requestedTool) {
throw new OperationalError('Tool not found');
}
// Eager pre-execution credential gate: if the caller has not connected a
// required private credential, surface the actionable connection URLs
// (via elicitation when supported, otherwise as text) instead of
// executing (or enqueuing) the workflow.
const gateResult = this.pendingGateResults[callId];
if (gateResult && !gateResult.readyToExecute) {
return await this.handleCredentialGate(server, gateResult, callId);
}
try {
if (this.executionCoordinator.isQueueMode()) {
const requestId = extra.requestId?.toString() ?? '';
this.storePendingResponse(extra.sessionId, requestId);
// Resolve handlePostMessage so webhook can return and enqueue execution.
// The handler continues running asynchronously, waiting for worker response.View on GitHub (pinned to 5ac6606e81)
When it happens
Trigger: Thrown at packages/@n8n/nodes-langchain/nodes/mcp/McpTrigger/McpServer.ts:638 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/970cf1d7e0135534.
Report an issue: GitHub.