An MCP server that provides tools and resources for fetching and analyzing todo items from JSONPlaceholder API
Single tool 'getTodo' has critical definition gaps. Input schema present but parameter 'id' lacks description (null value). Tool description missing entirely, no text explaining what getTodo does, when to use it, or what it returns. Output schema undocumented; LLM cannot predict response structure. No error recovery guidance. Naming is acceptable (verb_noun pattern) but insufficient to overcome missing descriptions and schemas. Baseline: 100% of A+ tools have tool descriptions and param descriptions; this server has 0%.
Tool 'getTodo' has no description. LLMs cannot determine when or why to select this tool without explicit guidance on purpose, use case, and return value.
Parameter 'id' has null description. LLM cannot infer whether 'id' expects a numeric ID, string ID, or human-readable name. Baseline: 100% of A+ tools have param descriptions.
Output schema undocumented. Response structure (content array with type/text fields) is not declared in tool definition. LLM must infer response shape, risking parsing errors.
Error handling returns isError flag but no recovery guidance. When API call fails, response says 'Error: Failed to fetch todo: <message>' with no hint for LLM on next steps (retry, lookup, etc.).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | <=2025-11-25 | v2 |
No input validation or constraint documentation. Parameter 'id' accepts any string; no guidance on valid format, range, or examples. LLM may pass invalid IDs without constraint feedback.