← Back to Kontasks
MCP Tool History Rendering Fix
Fixed MCP tool rendering in history playback - summaries now shown
Output
MCP Tool History Rendering Fix
Issue Identified
MCP tools (like mcp__konui__konui_get_turn) were showing only the tool name in history playback, without the summary that appears in real-time.
Fix Applied
// Before (line 191-193): } else { displayText = toolName; } // After: } else if (toolName.startsWith('mcp__')) { // MCP tools - show full name and summary displayText = toolName + (input.summary ? ': ' + input.summary : ''); } else { // Other tools - show name and summary if available displayText = toolName + (input.summary ? ': ' + input.summary : ''); }
Architectural Note: History vs Real-time
There are inherent differences between real-time and history that cannot be eliminated due to storage constraints:
| Feature | Real-time | History |
|---|---|---|
| Tool use (name + summary) | ✓ Full | ✓ Full (fixed) |
| Tool result summary | ✓ Full | ✓ Full |
| Tool result content (short) | ✓ Shows <20 lines | ✗ Not stored |
| Error events | ✓ Inline display | ✗ Not persisted |
| Edit diffs | ✓ Full | ✓ Full |
| Todo lists | ✓ Full | ✓ Full |
Why Some Data Isn't Stored
The workingHistory in kontext is designed to be compact:
- Tool content not stored - Full tool outputs (file contents, search results) would make kontext files enormous
- Errors ephemeral - Error events are streaming-only, not persisted to history
- Summary only - Only summary text is stored for tool results
Commit
8549f52a Turn: Fix MCP tool rendering in history playback
Impact
History playback will now show MCP tool summaries (like mcp__konui__konui_get_turn: Getting turn data...) instead of just the tool name.
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
consolehistorymcp
Created
10 Jan 2026, 9:48 am
Updated
10 Jan 2026, 9:48 am
Timing
⏱️ 191.5s
0 tools
● TTFE 0%
● Thinking 100%
● Tools 0%
Created By
claude
📋 Claude's Context
Session
ses_df705a8d...
🔗 Git Commit
8549f52a
Raw Data
{
"id": "ac13fe64-8984-4cf2-8263-c3e61760016f",
"type": "general",
"status": "completed",
"title": "MCP Tool History Rendering Fix",
"description": "Fixed MCP tool rendering in history playback - summaries now shown",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:'Consolas','Monaco',monospace;\">\n<h2 style=\"font-family:sans-serif;color:#fff;margin:0 0 16px 0;\">MCP Tool History Rendering Fix</h2>\n\n<h3 style=\"color:#98c379;margin:16px 0 8px 0;\">Issue Identified</h3>\n<p style=\"color:#abb2bf;line-height:1.6;\">MCP tools (like <code style=\"background:#2d2d2d;padding:2px 6px;border-radius:3px;color:#e5c07b;\">mcp__konui__konui_get_turn</code>) were showing only the tool name in history playback, without the summary that appears in real-time.</p>\n\n<h3 style=\"color:#98c379;margin:16px 0 8px 0;\">Fix Applied</h3>\n<pre style=\"background:#2d2d2d;padding:16px;border-radius:6px;overflow-x:auto;line-height:1.6;color:#e0e0e0;margin:8px 0;\">\n<span style=\"color:#7f848e;\">// Before (line 191-193):</span>\n} else {\n displayText = toolName;\n}\n\n<span style=\"color:#7f848e;\">// After:</span>\n} else if (toolName.startsWith(<span style=\"color:#98c379;\">'mcp__'</span>)) {\n <span style=\"color:#7f848e;\">// MCP tools - show full name and summary</span>\n displayText = toolName + (input.summary ? <span style=\"color:#98c379;\">': '</span> + input.summary : <span style=\"color:#98c379;\">''</span>);\n} else {\n <span style=\"color:#7f848e;\">// Other tools - show name and summary if available</span>\n displayText = toolName + (input.summary ? <span style=\"color:#98c379;\">': '</span> + input.summary : <span style=\"color:#98c379;\">''</span>);\n}\n</pre>\n\n<h3 style=\"color:#98c379;margin:16px 0 8px 0;\">Architectural Note: History vs Real-time</h3>\n<p style=\"color:#abb2bf;line-height:1.6;\">There are inherent differences between real-time and history that <strong>cannot be eliminated</strong> due to storage constraints:</p>\n\n<table style=\"width:100%;border-collapse:collapse;margin:12px 0;\">\n<tr style=\"background:#2d2d2d;\">\n<th style=\"padding:10px;text-align:left;border-bottom:1px solid #444;color:#61afef;\">Feature</th>\n<th style=\"padding:10px;text-align:left;border-bottom:1px solid #444;color:#61afef;\">Real-time</th>\n<th style=\"padding:10px;text-align:left;border-bottom:1px solid #444;color:#61afef;\">History</th>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Tool use (name + summary)</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full (fixed)</td>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Tool result summary</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Tool result content (short)</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Shows <20 lines</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#f87171;\">✗ Not stored</td>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Error events</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Inline display</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#f87171;\">✗ Not persisted</td>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Edit diffs</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n</tr>\n<tr>\n<td style=\"padding:8px;border-bottom:1px solid #333;\">Todo lists</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n<td style=\"padding:8px;border-bottom:1px solid #333;color:#98c379;\">✓ Full</td>\n</tr>\n</table>\n\n<h3 style=\"color:#98c379;margin:16px 0 8px 0;\">Why Some Data Isn't Stored</h3>\n<p style=\"color:#abb2bf;line-height:1.6;\">The <code style=\"background:#2d2d2d;padding:2px 6px;border-radius:3px;color:#e5c07b;\">workingHistory</code> in kontext is designed to be compact:</p>\n<ul style=\"color:#abb2bf;line-height:1.8;margin:8px 0;padding-left:24px;\">\n<li><strong>Tool content not stored</strong> - Full tool outputs (file contents, search results) would make kontext files enormous</li>\n<li><strong>Errors ephemeral</strong> - Error events are streaming-only, not persisted to history</li>\n<li><strong>Summary only</strong> - Only summary text is stored for tool results</li>\n</ul>\n\n<h3 style=\"color:#61afef;margin:16px 0 8px 0;\">Commit</h3>\n<pre style=\"background:#2d2d2d;padding:12px;border-radius:6px;color:#abb2bf;\">\n<span style=\"color:#e5c07b;\">8549f52a</span> Turn: Fix MCP tool rendering in history playback\n</pre>\n\n<h3 style=\"color:#61afef;margin:16px 0 8px 0;\">Impact</h3>\n<p style=\"color:#abb2bf;\">History playback will now show MCP tool summaries (like <code style=\"background:#2d2d2d;padding:2px 6px;border-radius:3px;\">mcp__konui__konui_get_turn: Getting turn data...</code>) instead of just the tool name.</p>\n</div>",
"requestedAt": "2025-01-10T15:30:00Z",
"requestId": "28d27a05-8d97-4630-bcc8-80db2cb2decb",
"commitSha": "8549f52a",
"choices": [
{
"label": "Restart konui",
"value": "Please restart konui to apply the changes",
"primary": true
},
{
"label": "Store more in history",
"value": "Investigate storing more tool data in workingHistory for richer history playback"
},
{
"label": "View console code",
"value": "Show me the console-render-items.ts file"
}
],
"turnTiming": {
"totalMs": 191533,
"ttfeMs": 106,
"thinkingMs": 191425,
"toolExecutionMs": 0,
"toolCallCount": 0,
"thinkingPct": 100,
"toolsPct": 0,
"ttfePct": 0
}
},
"createdBy": "claude",
"createdAt": "2026-01-09T23:48:51.731Z",
"updatedAt": "2026-01-09T23:48:57.446Z",
"requestId": "28d27a05-8d97-4630-bcc8-80db2cb2decb",
"scope": "vibetools",
"tags": [
"console",
"history",
"mcp"
],
"sessionId": "ses_df705a8d-ea1",
"flowId": "flow_01KEHQ5A7ZX7YDB8KG1NP2GE68",
"flowLinks": [
{
"flowId": "flow_01KEHQ5A7ZX7YDB8KG1NP2GE68",
"edgeType": "evidence",
"createdAt": "2026-01-09T23:48:51.731Z"
}
]
}