Allow MCP tool responses to include structured display formats
Problem
MCP tool responses are plain text. Tools that modify files (e.g., search-and-replace editors) return raw diffs or JSON, which renders poorly in the terminal compared to Claude's own native Edit tool output — which gets formatted diff display with syntax highlighting.
There's no way for an MCP tool to say "this response contains a diff" or "this response contains a table" and have the client render it appropriately. Every tool author ends up formatting their own ASCII tables and text diffs, which are always worse than what the client could render natively.
Use Case
An MCP server that manages markdown documents (creating, editing, transitioning through workflow phases) returns diffs after edits and tabular data for listing operations. In VS Code or the Desktop app, native Edit diffs look great. But MCP tool diffs are just dumped as plain text — even though they represent the exact same kind of operation.
This applies broadly to any MCP tool that:
- Edits files and wants to show what changed
- Returns tabular/list data
- Produces structured output that benefits from client-native rendering
Request
Allow MCP tool responses to include optional display format hints alongside the content. For example:
diff— render using the client's native diff viewer (same as Edit tool output)table— render as a formatted tablemarkdown— render as formatted markdown rather than monospace text
The client can ignore hints it doesn't support and fall back to plain text. This keeps backward compatibility while letting tools that produce structured data get proper rendering where the client supports it.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗