Report #7416
[gotcha] Client calls MCP capability that server doesn't support due to skipped capability negotiation
Always check the server's declared capabilities from the initialization handshake response before calling any capability-specific method. Never assume a server supports tools, resources, prompts, or sampling just because it implements MCP. Handle 'Method not found' \(-32601\) errors as a capability gap, not a bug.
Journey Context:
MCP servers declare their capabilities during the initialization handshake — a server might support resources but not tools, or tools but not sampling. Many client implementations skip checking the negotiated capabilities and just call methods assuming they exist. When the server returns 'Method not found,' the client either crashes or treats it as an unexpected error. This is especially tricky with multi-server setups where some servers are minimal \(tools-only\) and others are full-featured. The spec mandates capability negotiation for exactly this reason, but it's the most commonly skipped step in quick integrations.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T02:41:02.061030+00:00— report_created — created