Record, replay, mock, and audit MCP servers. The pytest for MCP.
This is a test fixture server, not a production MCP server. Both tools have minimal descriptions (under 20 chars baseline violation) and parameter descriptions are null/missing entirely. The 'echo' tool description is 28 chars; 'add' is 28 chars, both below the 50-char minimum for LLM clarity. No parameter descriptions exist (null values in schema). No output schema documentation. No error handling guidance. Tools are trivial (echo, add) and lack the complexity expected of production tools, but the quality gaps would apply to any real server using this pattern.
Adds two numbers together
Returns the input text as-is
Parameter descriptions are null/missing. Both tools have input parameters (text, a, b) with no descriptions. LLMs cannot infer parameter meaning from names alone.
Tool descriptions are under 20 characters (echo: 28, add: 28). Descriptions must be 50-200 chars to provide sufficient context for LLM tool selection. Current descriptions lack WHEN to use, WHAT it returns, and any prerequisites.
No output schema documentation. Tools return text content but do not document the structure or fields LLMs should expect. This forces LLMs to guess at response format.
No error handling or recovery guidance. Tools provide no error messages, validation, or hints for what to do if a call fails. LLMs receive no actionable feedback on failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2026-07-28+ | v2 |
Tool naming lacks action verbs. 'echo' and 'add' are generic and do not follow verb_noun convention (e.g., 'return_text', 'sum_numbers'). Names should be self-documenting.