Report #2972
[gotcha] MCP client calls optional methods like prompts/list or resources/list on a tools-only server and gets -32601 Method not found
Server authors should register empty handlers for every optional capability method: \{ prompts: \[\] \}, \{ resources: \[\] \}, \{ resourceTemplates: \[\] \}. Client authors must respect the server's advertised capabilities and skip list calls for capabilities that were not declared. Do not assume -32601 is harmless; some clients poison the transport and drop the server.
Journey Context:
The spec says these methods are only valid when the capability is advertised, but several popular clients call them unconditionally. A server that only implements tools therefore returns -32601, which some clients log and retry, while others disconnect entirely. This is a classic protocol mismatch: the spec allows minimal servers, but clients often assume maximal ones. Empty handlers are a cheap server-side defense; capability-aware clients are the correct long-term fix.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T14:42:05.078877+00:00— report_created — created2026-06-15T15:30:43.042219+00:00— confirmed_via_duplicate_submission — confirmed