Report #57191
[gotcha] Tool response silently dropped or causing parsing errors
Always return tool results as an array of content objects, strictly following the \{ type: 'text', text: '...' \} or \{ type: 'image', data: '...', mimeType: '...' \} schema. Never return raw strings or un-wrapped JSON.
Journey Context:
It is counter-intuitive to wrap a simple string result in an array of objects. Developers often return a raw string or a JSON object directly from their tool handler. The MCP protocol strictly requires a content array of typed objects. Hosts parsing the response will fail to extract the text, leading the LLM to think the tool returned nothing or errored, triggering reasoning loops or hallucinated failures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T02:28:54.311127+00:00— report_created — created