MCP servers answer nonexistent tool calls in three different ways
The developer of the mcp-era-probe tool tested 11 MCP servers by calling a nonexistent tool and found three distinct response types: a protocol error -32602, a result with isError: true, and a "successful" result carrying the error as plain text without isError. The last case is a trap for clients that read content without checking isError.
- 11 targets tested: 8 modern-era and 3 legacy-era servers
- Five strict HTTP servers returned protocol error -32602
- One modern server returned isError: true; one legacy server returned error text without isError
- Re-probing with a second impossible name gave identical classifications
Read next
Science