-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Summary
Build an MCP server that allows Claude to capture context that scrolls away during a session - the goal, decisions, insights, risks, and assumptions. This powers the Loom Context Panel in the VS Code extension.
Motivation
During a Claude session, important context scrolls out of view:
- Why am I here? - The original goal/problem being solved
- What did we decide and why? - Key choices made, with reasoning
- What did we learn? - Key findings, constraints, gotchas discovered
- What are we assuming / what could go wrong? - Risks and assumptions
The sticky TODO list shows progress, but these four categories of context are lost. The Recap MCP captures them so the VS Code extension can display them.
Recap File Schema
Stored in ~/.config/iloom-ai/recaps/ using same path-encoding as looms:
{
"goal": "The original problem statement",
"entries": [
{
"id": "uuid",
"timestamp": "2025-12-15T10:23:45Z",
"type": "decision",
"content": "Using soft reset instead of hard reset to preserve uncommitted changes"
},
{
"id": "uuid",
"timestamp": "2025-12-15T10:25:12Z",
"type": "insight",
"content": "The finish command already has WIP commit handling that we can reuse"
}
]
}Entry types: decision, insight, risk, assumption, other
MCP Tools
set_goal
Set the initial goal (called once at session start)
- Input:
{ goal: string } - Output:
{ success: true }
add_entry
Append an entry to the recap
- Input:
{ type: "decision" | "insight" | "risk" | "assumption" | "other", content: string } - Output:
{ id: string, timestamp: string }
get_recap
Read current recap (for catching up or review)
- Input: (none)
- Output:
{ goal: string, entries: Array<{ id, timestamp, type, content }> }
CLI Command: il recap --json
Fast read-only command for the VS Code extension:
- Skips config validation, loom validation, etc.
- Reads
~/.config/iloom-ai/recaps/{current-loom}.jsonand outputs it - Fast startup - extension calls this to get current recap state
- Extension doesn't need to know path-encoding logic
MCP Integration
Follow existing pattern from issue-management-server.ts:
- New file:
src/mcp/recap-server.ts - Uses
@modelcontextprotocol/sdk - Receives
LOOM_PATHenv var to derive recap filename - Injected via CLI same as issue_management MCP
Acceptance Criteria
- Recap MCP server implemented with three tools
- Recap files stored in
~/.config/iloom-ai/recaps/with correct naming -
il recap --jsoncommand works and is fast - MCP config generation updated to include recap server
- Server starts with Claude session (alongside issue_management)
Related
- iloom-vscode#43 - POC Loom Context Panel (consumes this data)
- Prompt updates (separate issue) - tells Claude when to use this MCP
Metadata
Metadata
Assignees
Labels
Type
Projects
Status