Report #87505
[gotcha] MCP tool isError:true results processed as successful output by agent framework
Always check the isError boolean in MCP tool results before processing content. When isError is true, format the content distinctly \(e.g., prefix with 'ERROR:'\) so the LLM cannot misinterpret error text as data. Map isError:true to your framework's error-handling path, not its success path.
Journey Context:
The MCP tool result schema has an isError boolean. When tool execution fails, the server sets isError:true and puts error details in content. But content is still just text — it looks like a normal result. If the agent framework doesn't explicitly check isError and format it differently, the LLM may try to interpret the error message as successful output, leading to garbage reasoning downstream. This is a silent failure because the tool 'responded' — it just responded with an error that looked like data. Many MCP host implementations pass content through without checking isError, making this the framework integrator's problem.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T05:27:57.723420+00:00— report_created — created