Enterprise-grade Model Context Protocol server for intelligent task management, evaluation scoring, and session-based workflow tracking. Seamlessly integrates with AI assistants to provide structured task orchestration, real-time progress monitoring, and comprehensive evaluation metrics.
The server defines 3 tools with explicit schemas and descriptions. Tool names follow verb_noun convention (create_tasklist, update_task, get_status) which is good. Descriptions are present and between 100-200 chars, meeting baseline expectations. Schemas are well-structured with proper types and constraints (e.g., enum for status, min/max for evaluation score). However, there are notable gaps: parameters lack comprehensive descriptions (e.g., 'updates' object in update_task has no description explaining what it does), output schemas are not documented anywhere, and error handling is minimal. The tools operate on session-scoped state without explicit guidance on idempotence, idempotent operation pattern is not explicitly declared.
Create a new task list for the current session. Can optionally include initial tasks.
Get the current status of all tasks in a task list, or a specific task by ID.
Update a specific task's properties including title, status, acceptance criteria, or evaluation score.
Missing output schema documentation. Tools return JSON but LLMs cannot plan downstream calls without knowing the structure. E.g., get_status should document whether it returns {tasks: [...], total: number} or {task: object, status: string}.
Parameter 'updates' in update_task lacks description. The schema shows it accepts title, status, acceptanceCriteria, evaluation, but the param itself has no description explaining when/why to use it or what it controls.
No error handling guidance in tool implementations. The code returns {success: false, error: ...} in JSON but provides no recovery hints. E.g., if taskListId is invalid, the error should suggest 'Call get_status() first to list available task lists.' or similar.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 65 | <=2025-11-25 | v2 |
| 2026-03-09 | C | 68 | 2025-03-26+ | v1 |
No idempotence declaration. Update_task will likely modify state; LLMs need to know if retrying with the same request is safe or if it will cause side effects. The tool should explicitly state idempotency guarantees.
Missing parameter descriptions for taskListId and taskId. While names are clear, descriptions should state: 'The session-local task list identifier (returned by create_tasklist)' to guide LLM usage and enable cross-tool chaining.