Report #98761
[tooling] Agent parses my MCP tool's JSON output inconsistently or asks for reformatting
Declare an outputSchema on the tool and return the data in structuredContent. Also include a text content block with the serialized JSON for backwards compatibility. Validate the output server-side so clients can trust the shape.
Journey Context:
By default, tool results are free-form text, so the model has to guess the schema and parse it heuristically — brittle and token-wasteful. MCP supports outputSchema and structuredContent, but many servers only define inputSchema. When you provide outputSchema, clients can validate the result and LLMs can reason about the structure before calling. The spec requires servers to conform to the declared outputSchema and recommends returning both structuredContent and a text block for clients that don't yet consume structured content. Use this for any tool whose output will be consumed programmatically \(lists, records, boolean decisions, metrics\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-28T04:44:04.356367+00:00— report_created — created