Server has 4 tools with basic schemas and descriptions, but significant quality gaps. All tools have descriptions (10-50 chars) and Zod-based input schemas, but descriptions are too brief to guide LLM selection effectively. The 'pending-tasks' tool has a nonsensical parameter ('status: Not used but required for MCP protocol') indicating schema confusion. No output schemas documented. Error handling returns text responses without actionable recovery guidance. No tool annotations (readOnlyHint, destructiveHint). Parameter descriptions lack format/constraint details. Overall structure is present but falls short of production quality.
Mark a task as completed
Create a new task with title and description
Get a list of all tasks
Get a list of all pending tasks
Descriptions too brief (10-50 chars vs. baseline 194 chars). 'Create a new task with title and description' lacks WHEN to use, prerequisites, or state-modification clarity. LLMs cannot reliably select between similar tools with minimal descriptions.
'pending-tasks' has a nonsensical parameter: 'status: Not used but required for MCP protocol'. This indicates the tool was designed to work around schema requirements rather than solve a real problem. The tool duplicates list-tasks with status='pending', violates single-responsibility principle.
No output schemas documented. Tool responses return text blobs (e.g., 'Task created successfully!\n...'). LLMs cannot parse structured data or chain results to downstream tools. Missing documented return types violates baseline (100% of A+ tools have documented return types).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Error responses lack actionable recovery guidance. 'Task with ID {id} not found' does not tell the LLM what to do next (e.g., 'Try list-tasks to find valid IDs'). Violates error-classification pattern.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). 'create-task' and 'complete-task' modify state but are not marked as destructive. LLMs cannot reason about retry safety or side effects.