A simple MCP server demonstrating resources, prompts, and tools capabilities
Single tool 'create-message' has a well-formed JSON Schema with proper enums and required fields, but lacks critical production-grade patterns. The tool description (56 chars) is minimal and does not explain WHEN to use it or what it returns. Parameter descriptions are present but generic. No output schema is documented, LLMs cannot predict the response structure. No error handling guidance. No idempotency hints despite being a read-only operation. The tool follows basic naming (verb_noun) but lacks the depth expected of production tools.
Generate a custom message with various options
No output schema documented. LLMs cannot predict response structure or plan downstream operations.
Tool description is 56 characters, below the 100-char minimum for LLM selection. Does not explain WHEN to use this tool vs alternatives or what it returns.
No error handling guidance. Code throws generic 'Invalid message type of tone' error, LLM cannot self-correct or understand what went wrong.
Tool is read-only but lacks idempotentHint annotation. Agents cannot determine if retries are safe.
Parameter 'tone' is optional but no default behavior is documented. LLM may omit it without knowing the fallback is 'casual'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |