Completed
on 8 Jan 2026, 10:46 am

Output

🎯 New MCP Tool: konui_get_recent_kontasks

✓ Agreed - Dedicated Tool is Best

Using existing MCP infrastructure keeps it clean. A new focused tool can return exactly what Claude needs - no HTML bloat, just structured context summaries.

📋 Tool Specification

konui_get_recent_kontasks

Parameters:
  count: number (1-5, default: 3)
  scope?: "product" | "vibetools" | "all"
  includeOutput?: boolean (default: false)

Returns:
  kontasks: [
    {
      id: string,
      title: string,
      status: string,
      scope: string,
      tags: string[],
      createdAt: string,
      summary: string,      // NEW: extracted key points
      filesChanged?: string[], // NEW: if commit detected
      commitSha?: string,     // NEW: if present in context
      output?: string         // Only if includeOutput=true
    }
  ]

📊 Token Comparison

Approach Est. Tokens
konui_list_tasks (current) - metadata only ~150/task
konui_get_task - full output HTML ~800-2000/task
konui_get_recent_kontasks (new) ~100-150/task
3 kontasks comparison: ~3000-6000 vs ~300-450

🔧 Implementation Plan

  1. Add summary extraction to task-store.ts
    Parse HTML output → extract title, key bullet points, files
  2. New MCP handler in konui/src/mcp-server.ts
    konui_get_recent_kontasks with count param
  3. Update CLAUDE.md with instruction
    "Call konui_get_recent_kontasks at turn start for context"

💡 Example Output (What Claude Sees)

{
  "kontasks": [
    {
      "id": "515b507c-...",
      "title": "Auto-load Recent Kontasks on Turn Start",
      "status": "completed",
      "scope": "vibetools",
      "tags": ["kontasks", "context"],
      "createdAt": "2025-01-08T10:30:00Z",
      "summary": "Analyzed context gap in workflow. Proposed UserPromptSubmit hook to inject recent kontask summaries. Recommended Option A.",
      "commitSha": null
    },
    {
      "id": "4593ff7b-...",
      "title": "Turn: Fix notification badge",
      "status": "completed", 
      "scope": "vibetools",
      "tags": ["ui", "notifications"],
      "createdAt": "2025-01-08T10:15:00Z",
      "summary": "Fixed badge to show unread count instead of total notifications.",
      "filesChanged": ["konui/src/views/layout.ts"],
      "commitSha": "4593ff7b"
    }
  ]
}

📝 Summary Extraction Logic

For the summary field, we can:

  • Option 1: Parse first <p> or <h3> from HTML output
  • Option 2: Add context.summary when creating kontasks
  • Option 3: Use title + first 100 chars of stripped HTML

Recommend Option 2 - cleaner, lets Claude write good summaries at creation time.

What's Next?

Choose an action:

Quick Actions

Original Request

No layout configured

Details

Type General
Status Completed
Scope vibetools
Tags kontasksmcpkonsoleperformance
Created 8 Jan 2026, 10:46 am
Updated 8 Jan 2026, 10:46 am
Timing
⏱️ 39.9s
0 tools
TTFE 0% Thinking 100% Tools 0%
Created By claude

Raw Data

{
  "id": "45225f98-1720-4cdb-8f7b-b797eff1e73a",
  "type": "general",
  "status": "completed",
  "title": "New MCP Tool: konui_get_recent_kontasks",
  "description": "Design for a focused MCP tool to fetch last N kontasks with minimal token output",
  "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;\">🎯 New MCP Tool: konui_get_recent_kontasks</h2>\n\n<div style=\"background:#1e3a5f;border:1px solid #3b82f6;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#3b82f6;margin:0 0 12px 0;\">✓ Agreed - Dedicated Tool is Best</h3>\n<p style=\"margin:0;line-height:1.6;\">Using existing MCP infrastructure keeps it clean. A new focused tool can return <strong>exactly what Claude needs</strong> - no HTML bloat, just structured context summaries.</p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#22c55e;margin:0 0 12px 0;\">📋 Tool Specification</h3>\n<pre style=\"margin:0;background:#1e1e1e;padding:12px;border-radius:4px;overflow-x:auto;\">\n<span style=\"color:#c678dd;\">konui_get_recent_kontasks</span>\n\n<span style=\"color:#7f848e;\">Parameters:</span>\n  <span style=\"color:#e5c07b;\">count</span>: number (1-5, default: 3)\n  <span style=\"color:#e5c07b;\">scope</span>?: \"product\" | \"vibetools\" | \"all\"\n  <span style=\"color:#e5c07b;\">includeOutput</span>?: boolean (default: false)\n\n<span style=\"color:#7f848e;\">Returns:</span>\n  kontasks: [\n    {\n      id: string,\n      title: string,\n      status: string,\n      scope: string,\n      tags: string[],\n      createdAt: string,\n      <span style=\"color:#98c379;\">summary</span>: string,      <span style=\"color:#7f848e;\">// NEW: extracted key points</span>\n      <span style=\"color:#98c379;\">filesChanged</span>?: string[], <span style=\"color:#7f848e;\">// NEW: if commit detected</span>\n      <span style=\"color:#98c379;\">commitSha</span>?: string,     <span style=\"color:#7f848e;\">// NEW: if present in context</span>\n      output?: string         <span style=\"color:#7f848e;\">// Only if includeOutput=true</span>\n    }\n  ]\n</pre>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#61afef;margin:0 0 12px 0;\">📊 Token Comparison</h3>\n<table style=\"width:100%;border-collapse:collapse;\">\n<tr style=\"border-bottom:1px solid #4b5563;\">\n<th style=\"text-align:left;padding:8px;color:#fff;\">Approach</th>\n<th style=\"text-align:right;padding:8px;color:#fff;\">Est. Tokens</th>\n</tr>\n<tr style=\"border-bottom:1px solid #4b5563;\">\n<td style=\"padding:8px;\">konui_list_tasks (current) - metadata only</td>\n<td style=\"padding:8px;text-align:right;\">~150/task</td>\n</tr>\n<tr style=\"border-bottom:1px solid #4b5563;\">\n<td style=\"padding:8px;\">konui_get_task - full output HTML</td>\n<td style=\"padding:8px;text-align:right;color:#ef4444;\">~800-2000/task</td>\n</tr>\n<tr style=\"border-bottom:1px solid #4b5563;\">\n<td style=\"padding:8px;color:#22c55e;\">konui_get_recent_kontasks (new)</td>\n<td style=\"padding:8px;text-align:right;color:#22c55e;\">~100-150/task</td>\n</tr>\n<tr>\n<td style=\"padding:8px;font-weight:bold;\">3 kontasks comparison:</td>\n<td style=\"padding:8px;text-align:right;\">\n<span style=\"color:#ef4444;\">~3000-6000</span> vs <span style=\"color:#22c55e;\">~300-450</span>\n</td>\n</tr>\n</table>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#c678dd;margin:0 0 12px 0;\">🔧 Implementation Plan</h3>\n<ol style=\"margin:0;padding-left:20px;line-height:2;\">\n<li><strong>Add summary extraction</strong> to task-store.ts\n  <br><span style=\"color:#7f848e;font-size:0.9em;\">Parse HTML output → extract title, key bullet points, files</span></li>\n<li><strong>New MCP handler</strong> in konui/src/mcp-server.ts\n  <br><span style=\"color:#7f848e;font-size:0.9em;\">konui_get_recent_kontasks with count param</span></li>\n<li><strong>Update CLAUDE.md</strong> with instruction\n  <br><span style=\"color:#7f848e;font-size:0.9em;\">\"Call konui_get_recent_kontasks at turn start for context\"</span></li>\n</ol>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#e5c07b;margin:0 0 12px 0;\">💡 Example Output (What Claude Sees)</h3>\n<pre style=\"margin:0;background:#1e1e1e;padding:12px;border-radius:4px;font-size:0.9em;overflow-x:auto;\">\n{\n  \"kontasks\": [\n    {\n      \"id\": \"515b507c-...\",\n      \"title\": \"Auto-load Recent Kontasks on Turn Start\",\n      \"status\": \"completed\",\n      \"scope\": \"vibetools\",\n      \"tags\": [\"kontasks\", \"context\"],\n      \"createdAt\": \"2025-01-08T10:30:00Z\",\n      \"summary\": \"Analyzed context gap in workflow. Proposed UserPromptSubmit hook to inject recent kontask summaries. Recommended Option A.\",\n      \"commitSha\": null\n    },\n    {\n      \"id\": \"4593ff7b-...\",\n      \"title\": \"Turn: Fix notification badge\",\n      \"status\": \"completed\", \n      \"scope\": \"vibetools\",\n      \"tags\": [\"ui\", \"notifications\"],\n      \"createdAt\": \"2025-01-08T10:15:00Z\",\n      \"summary\": \"Fixed badge to show unread count instead of total notifications.\",\n      \"filesChanged\": [\"konui/src/views/layout.ts\"],\n      \"commitSha\": \"4593ff7b\"\n    }\n  ]\n}\n</pre>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#fff;margin:0 0 12px 0;\">📝 Summary Extraction Logic</h3>\n<p style=\"margin:0 0 8px 0;color:#9ca3af;\">For the <code style=\"background:#1e1e1e;padding:2px 6px;border-radius:3px;\">summary</code> field, we can:</p>\n<ul style=\"margin:0;padding-left:20px;line-height:1.8;\">\n<li><strong>Option 1:</strong> Parse first &lt;p&gt; or &lt;h3&gt; from HTML output</li>\n<li><strong>Option 2:</strong> Add <code style=\"background:#1e1e1e;padding:2px 6px;border-radius:3px;\">context.summary</code> when creating kontasks</li>\n<li><strong>Option 3:</strong> Use title + first 100 chars of stripped HTML</li>\n</ul>\n<p style=\"margin:8px 0 0 0;color:#22c55e;\">Recommend Option 2 - cleaner, lets Claude write good summaries at creation time.</p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;\">\n<h4 style=\"margin:0 0 8px 0;color:#fff;\">What's Next?</h4>\n<p style=\"color:#9ca3af;margin:0;\">Choose an action:</p>\n</div>\n</div>",
    "choices": [
      {
        "label": "Build it",
        "value": "Implement konui_get_recent_kontasks MCP tool. Add the handler to konui/src/mcp-server.ts with summary extraction, then update CLAUDE.md with usage instructions.",
        "primary": true
      },
      {
        "label": "Add summary field first",
        "value": "First update konui_create_task to accept a context.summary field, so we capture good summaries at creation time. Then build the new tool."
      },
      {
        "label": "Simpler: just wrapper",
        "value": "Keep it simple - just create a wrapper around existing konui_list_tasks that returns last N with limit and no output HTML. Skip summary extraction for v1."
      }
    ],
    "requestedAt": "2025-01-08T10:35:00Z",
    "requestId": "5fa0faf8-3a50-4004-8b81-d5c6338a2f3c",
    "turnTiming": {
      "totalMs": 39926,
      "ttfeMs": 45,
      "thinkingMs": 39881,
      "toolExecutionMs": 0,
      "toolCallCount": 0,
      "thinkingPct": 100,
      "toolsPct": 0,
      "ttfePct": 0
    }
  },
  "createdBy": "claude",
  "createdAt": "2026-01-08T00:46:51.454Z",
  "updatedAt": "2026-01-08T00:46:56.565Z",
  "requestId": "5fa0faf8-3a50-4004-8b81-d5c6338a2f3c",
  "scope": "vibetools",
  "tags": [
    "kontasks",
    "mcp",
    "konsole",
    "performance"
  ],
  "targetUser": "claude"
}
DashboardReportsKontasksFlowsDecisionsSessionsTelemetryLogs + Go