A tiny MCP server example running on Huggingface Space using FastMCP
Single tool 'add' has critical definition gaps. Tool name lacks action verb (should be 'add_numbers'). Description is minimal (12 chars, below 20-char threshold). Input parameters 'a' and 'b' have null descriptions, violates pattern:tool-description requiring every parameter to have a non-empty description. No output schema documented. No error handling guidance. Tool is READ_ONLY but lacks idempotentHint annotation. Baseline: 100% of A+ tools have param descriptions; 94% have docstrings. This server has neither.
Add two numbers
Tool name 'add' lacks action verb. Should be 'add_numbers' to match verb_noun convention and help LLMs infer intent from name alone.
Input parameters 'a' and 'b' have null descriptions. Pattern:tool-description requires every parameter to have a non-empty description explaining what it controls. LLMs cannot infer parameter meaning from names alone.
Tool description is 12 characters ('Add two numbers'). Below 20-char threshold and lacks context for LLM selection. Should explain WHAT (adds integers), WHEN (when numeric sum is needed), and WHAT IT RETURNS (integer result).
No output schema documented. LLMs need to know the return type (integer) and structure to plan downstream calls. Pattern:tool requires documented return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Tool lacks error handling guidance. No documentation of what happens on overflow, invalid input, or edge cases. Pattern:recovery-guide requires error responses to tell LLM what to do next.