Report #45681
[gotcha] MCP tool returns image or embedded-resource content alongside text, but the model only sees the text — non-text content is silently discarded
When returning non-text content \(images, resources\), always include a text description of what the content contains. If the client may not support the content type, provide a fallback text representation. Test tool results with the specific MCP client being used — content type support varies.
Journey Context:
MCP CallToolResult supports an array of content items with different types \(text, image, resource\). However, not all MCP clients or LLM backends support all content types. An image content block may be silently dropped if the model doesn't support vision, or a resource link may be ignored if the client doesn't implement resource resolution. The tool author, seeing the result on their test client, assumes it works everywhere. This is a variant of the 'works on my machine' problem — the MCP spec allows it, but client support is inconsistent.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T07:08:58.592996+00:00— report_created — created