MCP structured content
Category: protocol
Renders `structuredContent` (JSON payloads) in a useful way rather than discarding it — e.g. pretty-printed JSON, structured table, or widget rendering.
Support by client
| Client | Status | Notes | Verified |
|---|---|---|---|
| unsupported | structuredContent absent from model context. Model report: 'I received the text content block (call id 720847). However, I did NOT receive a visible structuredContent. No JSON profile or item array appeared in the tool result... So from the model's perspective in this client: structuredContent absent (or at least not passed into the model context alongside the text block).' No dedicated UI panel for structured data either. Call id: 720847. | 2026-07-05T15:59:25.702Z | |
| unsupported | Assistant response is plain text only; it reports receiving the text block but says structuredContent was not surfaced back, with no rich/structured rendering visible. | 2026-07-08T15:02:43.911Z | |
| unsupported | structuredContent JSON dropped: model reports only the text block arrived, item array absent (call id 51a76d). Automated via Mirroir. | 2026-07-09T17:55:22.168Z | |
| unknown | — | ||
| supported | The model's reply referenced fields that exist only in the structuredContent payload — the client fed structured content to the model. | 2026-07-04T15:50:04.378Z | |
| supported | Model consumes structuredContent: markdown probes's {nonce} JSON was reproduced verbatim in replies. Note: when structuredContent is present, ChatGPT web feeds it to the model INSTEAD of content[].text — text blocks are shadowed. | 2026-07-05T15:30:28.177Z | |
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| supported | The model's reply referenced fields that exist only in the structuredContent payload — the client fed structured content to the model. | 2026-07-04T15:52:42.711Z | |
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| unsupported | The model echoed the tool response's nonce but referenced none of the structuredContent payload fields — the client likely surfaced only the text fallback. | 2026-07-08T15:43:59.083Z | |
| unknown | — | ||
| unknown | — | ||
| unsupported | The model echoed the tool response's nonce but referenced none of the structuredContent payload fields — the client likely surfaced only the text fallback. | 2026-07-04T15:46:08.084Z | |
| unknown | — | ||
| supported | The model's reply referenced fields that exist only in the structuredContent payload — the client fed structured content to the model. | 2026-07-04T15:43:15.838Z | |
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| unknown | — | ||
| unsupported | The model echoed the tool response's nonce but referenced none of the structuredContent payload fields — the client likely surfaced only the text fallback. (tool_use event and debug log both missed; inferred toolCalled from call-id echo) | 2026-07-04T15:50:10.896Z | |
| unknown | — | ||
| unknown | — | ||
| supported | The model's reply referenced fields that exist only in the structuredContent payload — the client fed structured content to the model. (stream event did not name the tool; inferred toolCalled from call-id echo) | 2026-07-04T15:44:41.748Z | |
| unsupported | The model echoed the tool response's nonce but referenced none of the structuredContent payload fields — the client likely surfaced only the text fallback. | 2026-07-04T15:46:18.735Z | |
| unknown | — | ||
| unknown | — | ||
| unknown | — |