Feature request: show MCP tool args but collapse result output by default
Summary
Request a display mode (or per-MCP-server config) where tool call arguments remain visible in the chat UI but the result payload is collapsed by default.
Use case
I use an MCP server (remnote-mcp-server) whose tools return large JSON results. By default, Claude Code renders the full JSON from the MCP response's content field as a wall of text — hundreds of lines per tool call. Several other MCP servers I use render tool calls as a collapsed line like Called <tool> (ctrl+o to expand) that I can drill into on demand.
What I tried
1. Local server patch
Patched remnote-mcp-server to return only a short placeholder string ([toolName ok]) in content, keeping the full payload in structuredContent (which the LLM still reads fine).
Result: chat now shows nothing more than:
Called remnote (ctrl+o to expand)
No args visible. No result visible. The short placeholder I put in content doesn't render either. Pressing ctrl+o does not expand it — it toggles overall view mode, and there's still nothing to see for that tool call. Net: I lost visibility into what was queried in exchange for losing the JSON wall. The only way to recover the query is to open the session's .jsonl transcript manually.
2. Looked for a Claude Code setting
Checked the MCP docs and settings.json reference. MAX_MCP_OUTPUT_TOKENS controls truncation, and MCP servers can declare an anthropic/maxResultSizeChars annotation, but neither provides a "collapse the output, keep the args visible" display mode. No settings.json key found for this.
3. Filed upstream issue on the MCP server
robert7/remnote-mcp-server#15 — but this is really a Claude Code UI concern, not an MCP server concern, and affects any server that returns non-trivial result payloads.
Proposed behavior
Any of:
- Settings key like
mcpOutputDisplay: "compact" | "full"(defaultfullfor back-compat) that collapses result rendering to a summary line while still showing the tool + args header. - Always collapse tool results by default; always show args. This matches what many other agent UIs (Cursor, Zed MCP integrations) do.
ctrl+oexpands the result block. - Per-MCP-server config in
settings.jsonto opt individual servers into compact rendering.
Related
- MCP server tool responses carry both
structuredContentandcontent. Spec-aware clients should be able to render one and hide the other; today Claude Code's UI seems to rendercontentverbatim regardless of whetherstructuredContentis populated.
Environment
- Claude Code (latest, darwin arm64, macOS 15 Tahoe)
- Observed across multiple MCP servers with large results; most acute with
remnote-mcp-serverv0.13.0
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗