Report #11002
[gotcha] Client calling tools on a server that doesn't advertise the tools capability
Always check the server's capabilities from the initialization response before making any tool calls. Guard every capability-dependent code path with a capability check. Never assume a server supports tools, resources, or prompts just because it's an MCP server.
Journey Context:
MCP servers declare their capabilities during the initialization handshake. A server might only support resources, not tools. But clients often assume all MCP servers support all capabilities and attempt to call tools on a resource-only server. This fails silently or throws an unhelpful error. The initialization response's 'capabilities' field is the source of truth, but many client implementations skip checking it because 'of course the server supports tools.' This is especially common when the same code works against one server but fails against another with a different capability set.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T12:15:49.324900+00:00— report_created — created