MCP tool response text-content block dropped when structuredContent is also present (runtime_get_value)
Description
When calling an MCP tool whose response includes both a structuredContent block (JSON metadata) and a content text block (the actual document body), Claude Code appears to surface only the structured block and silently drops the text block.
Repro
- MCP server: custom internal
runtime-mcpserver (HTTP transport) - Tool:
runtime_get_value(name="consumer-service", filepath="xx/xx.json") - Called identically across: fresh session, re-authenticated session, and after fully removing/re-adding the MCP server — same result every time.
Expected: tool returns the full document body (JSON text) plus metadata, per the tool's own description ("Returns the document body as text ... plus publication metadata ... as separate structured content").
Actual (in Claude Code):
{"namespace":"consumer-service","file":"xx/xx.json","cell":"cell-001","doc_type":"json","document_id":" etc}
Only the metadata wrapper — no document body text.
Confirmed not server-side: the identical tool call against the identical MCP server, run from Cursor, returns the full body correctly (JSON with 26 store IDs). This isolates the bug to Claude Code's handling of the MCP response, not the server.
Environment: Claude Code CLI, macOS (Darwin 25.5.0)
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗