MCP server for AI-assisted task management with daily planning, velocity, and forecasting
Server has 22 tools with complete input schemas and descriptions. Naming follows verb_noun convention (create_task, get_task, list_tasks, etc.). Descriptions are present but often generic (avg ~80 chars, below 194-char baseline). Parameters are well-typed with enums for constrained fields (category, status, priority). However, output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal (generic error wrapping). No tool annotations (readOnlyHint, destructiveHint). Several tools lack actionable guidance (e.g., 'AI-recommended task selection' without explaining selection criteria). Two tools (display_task_board, seed_tasks_from_projects) inferred from test file, not core.mjs registration, capped at 50.
Use AI to analyze agent-modes session context notes for task completion and progress.
Mark tasks as completed for a specific date. Updates daily log and task status.
Create a new task in the task board.
Delete a task by ID.
Display a formatted task board showing tasks by status and category.
Generate forecast for when tasks will be completed based on current velocity.
Generate AI-written weekly productivity summary from daily logs.
No output schemas documented. LLMs cannot predict response structure (fields, types, pagination). Violates pattern:tool and pattern:response-shaper. Every tool should document what it returns.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes. delete_task, update_task, plan_day, complete_tasks, update_velocity, seed_tasks_from_projects should be marked destructiveHint=true or idempotentHint=true.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Get daily log for a specific date (YYYY-MM-DD). Defaults to today.
Generate summary of a daily log including completion rate and category breakdown.
Get current projections including velocity and forecast.
Get a task by its ID.
List daily logs within a date range.
List tasks with optional filtering by category, status, or tags.
Convert natural language task description into structured task data using AI.
Plan tasks for a specific date. Adds task IDs to planned_task_ids.
AI-recommended task selection for today based on priority, dependencies, and recent progress.
AI-powered task recommendation using DeepSeek for intelligent prioritization.
Scan recent agent-modes sessions for context notes that may indicate task completion.
Seed the task board with initial tasks from project templates.
Use AI to create a concise, clear summary of a task description.
Update an existing task.
Update velocity (tasks/day) based on recent completion data.
Descriptions are generic and lack actionable guidance. 'AI-recommended task selection' (recommend_daily_tasks, recommend_daily_tasks_ai) does not explain selection criteria, dependencies, or when to use one vs the other. Descriptions should be 50-200 chars and answer WHAT, WHEN, and WHY.
Two tools (display_task_board, seed_tasks_from_projects) are defined in test-new-tools.mjs, not core.mjs. Tool registration is inferred from test code, not explicit server registration. Per HARD SCORING RULE, these tools capped at 50.
Error handling is minimal. toTextResponse() wraps errors generically without recovery guidance. No categorization of retryable vs fatal errors. Violates pattern:recovery-guide. Errors should tell LLM what to do next.