[FEATURE] Improve MCP tool call display formatting for better readability
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
MCP tool calls currently display with verbose, hard-to-read formatting that wraps parameter values across multiple
lines, making it difficult to quickly understand what operation is being performed.
### Current Display
⏺ filesystem-elisara - edit_file (MCP)(path:
"/Users/shadow/Work/elisara/frontend/src/app/features/auth/login/login.compo
nent.spec.ts", edits: [{"oldText":" describe('Loading State', () => {\n
it('should show loading spinner when loading', (done) => {\n // Set
loading
state BEFORE subscribing so the observable emits\n store.setState({\n
auth: {\n user: null,\n token: null,\n loading:
true,\n
error: null\n }\n }) as any;\n\n // Now
subscribe...
Compare this to built-in Edit tool which cleanly shows the file path and changes.
Proposed Solution
Format MCP tool calls similarly to built-in tools with clean parameter display in the header, followed by the
actual output.
### Desired Display (like built-in Edit tool)
⏺ filesystem-elisara - edit_file (MCP)
⎿ Editing /Users/shadow/Work/elisara/frontend/src/app/features/auth/login/login.component.spec.ts
⎿ The file has been updated. Here's the result:
25→ it('should show loading spinner when loading', () => {
26→ // Use overrideSelector for synchronous testing
27→ store.overrideSelector(selectAuthLoading, true);
28→ store.refreshState();
29→
30→ fixture.detectChanges() as any;
Key improvements:
- Clean, single-line tool invocation header
- File path shown cleanly (not wrapped mid-word)
- Parameters hidden from header - not shown in verbose JSON format
- Actual diff/output displayed cleanly below (this already works well)
Alternative Solutions
_No response_
Priority
Medium - Would be very helpful
Feature Category
CLI commands and flags
Use Case Example
- Dramatically improves readability when using MCP filesystem, database, and other MCP servers
- Makes MCP tools have feature parity with built-in tools in terms of UX
- Reduces visual clutter in conversation history by 80%+
- Encourages adoption of MCP ecosystem by removing UX friction
Additional Context
- Affects all MCP tool calls (filesystem, postgres, brave-search, etc.)
- The actual output/results are already well-formatted - only the invocation header needs improvement
- This is especially problematic for tools with large parameters (edit operations with multi-line strings, SQL
queries, etc.)
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗