Recap: Your AI project manager. Plain markdown. Local-first. Open source.
Recap MCP demonstrates solid fundamentals: all 11 tools have clear verb-noun naming (briefing, project_list, task_add, etc.), descriptions range 50-200 chars (within baseline), and input schemas are fully defined with Zod. However, output schemas are undocumented, LLMs cannot predict response structure. Error handling is minimal (generic 'tool_error' with message only, no recovery guidance or categorization). Parameter descriptions are present but sparse (avg ~30 chars vs baseline 72 chars). No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Missing idempotency guidance for write operations. Composition is clean (single responsibility per tool), but no pagination support for list tools despite potential for large result sets.
Session-start orientation. Run this at the beginning of every conversation to load workspace status, active projects, recent activity, and stale projects. Returns a 'welcome_flow_active' flag if the workspace is empty.
Load full context for a single project: description, body, open tasks, blocked tasks, knowledge files, and recent session logs. Use this when you need to dive deep into one project.
Create a new project. Optionally seed it from a template: 'generic', 'job-search', 'side-project', 'learning', 'writing', or 'moving'. Each template adds starter tasks and an optional knowledge starter file.
List projects in the workspace. Filter by status (active, archived, all). Returns slug, name, description, task counts, and last-touched dates.
Drop a timestamped note into a project. For stray thoughts that don't fit a session log.
Fuzzy ranked search across projects, tasks, sessions, and notes. Ranks by recency, type relevance, and field match. Use to recall anything in the workspace.
Output schemas undocumented. LLMs cannot predict response structure (fields, types, pagination). Baseline: 100% of A+ tools document return types.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools marked READ_ONLY, WRITE, DESTRUCTIVE in metadata but not exposed to LLM via schema.
Error handling lacks recovery guidance and categorization. Generic 'tool_error' response with message only. No indication of retryability, user-fixable vs fatal, or next steps.
List tools (project_list, task_list, search) lack pagination parameters (limit, offset, cursor). No documented result caps. Large workspaces risk context window exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Log a session entry for a project: what was worked on, decisions made, next steps. The core 'log progress' tool. Run at the end of a working session.
Add a task to a project. Supports priority, due date, and notes.
Delete a task from a project.
List tasks for a project. Filter by status (open, done, blocked, all). Sorted by priority then due date.
Update a task. Change status, priority, due date, notes, or title. Pass null for due/notes to clear them.
Parameter descriptions sparse (avg ~30 chars vs baseline 72 chars). E.g., 'Project slug' lacks format/constraint guidance. 'Filter by status' doesn't explain when to use each enum value.