{"record":{"id":"2e5d1b5198bcfce1","repo":"Tencent/WeKnora","slug":"tool-not-found","errorCode":null,"errorMessage":"tool not found","messagePattern":"tool not found","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/mcp/errors.go","lineNumber":19,"sourceCode":"package mcp\n\nimport \"errors\"\n\nvar (\n\t// ErrUnsupportedTransport is returned when transport type is not supported\n\tErrUnsupportedTransport = errors.New(\"unsupported transport type\")\n\n\t// ErrNotConnected is returned when operation requires connection but client is not connected\n\tErrNotConnected = errors.New(\"client not connected\")\n\n\t// ErrAlreadyConnected is returned when trying to connect an already connected client\n\tErrAlreadyConnected = errors.New(\"client already connected\")\n\n\t// ErrInitializeFailed is returned when MCP initialize handshake fails\n\tErrInitializeFailed = errors.New(\"MCP initialize handshake failed\")\n\n\t// ErrToolNotFound is returned when requested tool is not found\n\tErrToolNotFound = errors.New(\"tool not found\")\n\n\t// ErrResourceNotFound is returned when requested resource is not found\n\tErrResourceNotFound = errors.New(\"resource not found\")\n\n\t// ErrInvalidResponse is returned when server response is invalid\n\tErrInvalidResponse = errors.New(\"invalid response from server\")\n\n\t// ErrTimeout is returned when operation times out\n\tErrTimeout = errors.New(\"operation timed out\")\n\n\t// ErrConnectionClosed is returned when connection is closed unexpectedly\n\tErrConnectionClosed = errors.New(\"connection closed\")\n)\n","sourceCodeStart":1,"sourceCodeEnd":33,"githubUrl":"https://github.com/Tencent/WeKnora/blob/988cbb03305e055d8ebb7d46d9ac6cc0803cd074/internal/mcp/errors.go#L1-L33","documentation":"Sentinel error returned by the MCP client when a tool call names a tool the connected server did not advertise in its initialize/Tools response — i.e., the tool list has no such entry (wrong name, server version drift, or tool disabled server-side). Callers match on this value with errors.Is to surface a 'tool not found' condition distinctly from transport failures.","triggerScenarios":"Thrown at internal/mcp/errors.go:19 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Call ListTools to discover the exact tool names the server exposes","Fix the tool name typo or case mismatch in the caller","Confirm the MCP server actually registers/loads the tool (server-side config)","Handle tool availability changes dynamically rather than caching names"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"988cbb03305e055d8ebb7d46d9ac6cc0803cd074","analyzedAt":"2026-09-02T14:41:08.344Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}