A simple MCP server for managing a todo list with add, get, and remove operations
This server has critical gaps across naming, descriptions, and schemas. Tool names lack action verbs (add-todo, get-todo, remove-todo use hyphens but are acceptable). Descriptions are extremely brief (10-20 chars), well below the 50-200 char baseline for LLM-optimized tools. Parameter descriptions are completely absent, 'text' and 'id' have no context. Schemas exist but are minimal (Zod definitions visible). No output schema documentation. No error handling guidance. No pagination, no structured responses beyond generic text. The get-todo tool returns hardcoded 'All my tasks' with no actual data structure. This is a toy implementation, not production-ready.
Add a task to your Todo List
Get all your Task
remove one of your Task
Parameter descriptions completely missing. 'text' and 'id' parameters have no descriptions explaining their purpose, format, or constraints. LLMs cannot infer parameter semantics from names alone.
Tool descriptions are extremely brief (10-20 chars), far below the 50-200 char baseline. 'Add a task to your Todo List' and 'Get all your Task' lack context for LLM selection, prerequisites, or return value structure.
No output schema documentation. Tools return generic text responses with no structured field definitions. LLMs cannot plan downstream calls or extract typed data.
get-todo returns hardcoded 'All my tasks' string with no actual task data, pagination, or structure. Tool is non-functional for real use.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
No error handling or recovery guidance. Tools return success messages but provide no error classification, actionable recovery steps, or validation feedback.