Tencent/WeKnora · error
tool not found
Error message
tool not found
What it means
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.
Source
Thrown at internal/mcp/errors.go:19
package mcp
import "errors"
var (
// ErrUnsupportedTransport is returned when transport type is not supported
ErrUnsupportedTransport = errors.New("unsupported transport type")
// ErrNotConnected is returned when operation requires connection but client is not connected
ErrNotConnected = errors.New("client not connected")
// ErrAlreadyConnected is returned when trying to connect an already connected client
ErrAlreadyConnected = errors.New("client already connected")
// ErrInitializeFailed is returned when MCP initialize handshake fails
ErrInitializeFailed = errors.New("MCP initialize handshake failed")
// ErrToolNotFound is returned when requested tool is not found
ErrToolNotFound = errors.New("tool not found")
// ErrResourceNotFound is returned when requested resource is not found
ErrResourceNotFound = errors.New("resource not found")
// ErrInvalidResponse is returned when server response is invalid
ErrInvalidResponse = errors.New("invalid response from server")
// ErrTimeout is returned when operation times out
ErrTimeout = errors.New("operation timed out")
// ErrConnectionClosed is returned when connection is closed unexpectedly
ErrConnectionClosed = errors.New("connection closed")
)
View on GitHub (pinned to 988cbb0330)
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
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/mcp/errors.go:19 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02).
Data as JSON: /api/errors/2e5d1b5198bcfce1.
Report an issue: GitHub.