Cross-tool memory for AI agents. Enables seamless context handoff between Cursor, Claude Code, Codex, Windsurf, Gemini, Copilot, Continue.dev, Zed, and Aider. Exposes task management, snapshots, decisions, and context operations as MCP tools.
Stitch MCP server has well-structured tool definitions with clear naming (verb_noun pattern) and comprehensive descriptions. All 10 tools have input schemas with type definitions and required field declarations. However, output schemas are not documented, parameter descriptions lack depth (missing format/constraint details), and error handling guidance is absent. Tool descriptions are strong (100-200 chars, LLM-optimized), but parameter-level descriptions are minimal. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in metadata.
Record a technical decision. WHEN: Any architectural, design, or implementation choice where alternatives existed. WHAT: The problem, what you chose, what you rejected, and why. Future agents use this to avoid repeating failed experiments. Duplicate decisions (same problem) are auto-rejected.
Idempotent project bootstrap. Call this FIRST at the start of every session. It silently initializes .stitch/ if needed, creates the active_task file, and ensures all directories exist. Safe to call multiple times.
Create a new task with a title and objective. This also sets it as the active task.
Read the full context.md file for a task — the human-readable living document with all context.
Generate a compact handoff bundle for a task. Contains objective, state, decisions, and recent activity — everything needed to resume work.
Get full details of a task including objective, state, decisions, and recent snapshots. Use 'active' as task_id to get the currently active task.
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields without knowing response structure. All 10 tools lack return type documentation.
Parameter descriptions lack constraint details. E.g., 'task_id' accepts 'active' as special value but this is buried in tool description, not param description. 'message' in stitch_snapshot requires 'min 10 chars' but constraint is in tool description, not schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
List all tasks in the current project or globally. Use this to discover what tasks exist and find the active task.
Search for tasks by keyword across titles, objectives, tags, and decisions.
Save a snapshot of progress. WHEN: (1) After completing any sub-task or step, (2) After a failed experiment (prefix with 'FAILED:'), (3) Every 3-5 meaningful actions as a progress checkpoint, (4) Before session end. WHAT: Be specific — 'Implemented JWT auth with RS256, tokens expire in 1h' not 'worked on auth'. Duplicates are auto-rejected.
Update the current state, next steps, blockers, or status of a task.
No tool annotations despite clear risk metadata. Tools marked WRITE (create_task, update_task, snapshot, add_decision, auto_setup) should declare destructiveHint=true. READ_ONLY tools should declare readOnlyHint=true. Annotations enable safer agent planning.
No error handling guidance. Tools lack recovery hints. E.g., stitch_search with invalid query should suggest 'Try a simpler keyword' or 'Use stitch_list_tasks to discover available tasks'. Agents cannot self-correct without guidance.
stitch_update_task has 5 optional parameters with no defaults documented. Unclear which combinations are valid or what happens if all are omitted. Undocumented parameter relationships invite misuse.