FastMCP Echo Server
Single tool with minimal quality. The 'echo_tool' has a basic description (12 chars, below 20-char threshold) and a schema with only one parameter lacking meaningful context. No error handling, no parameter constraints, and the tool performs a trivial operation without demonstrating real-world utility. Tool naming is generic ('echo_tool' rather than verb_noun pattern). The description 'Echo the input text' is too short and provides no context for when an LLM should select it. Parameter description 'text parameter' is tautological and offers no guidance on format, range, or constraints. No output schema is documented. No security considerations. The server also exposes resources and prompts, but those are outside the tool evaluation scope.
Echo the input text
Tool description is 12 characters, below minimum threshold of 20. 'Echo the input text' fails to explain WHEN the LLM should use this tool, what it returns, or any preconditions.
Parameter description is tautological ('text parameter'). Provides zero actionable guidance on format, constraints, character limits, or encoding. Per pattern:tool-description, every parameter must have a non-empty description explaining what it controls.
No output schema documented. LLMs cannot plan downstream tool calls or extract structured data without knowing what fields the tool returns. Per pattern:tool, all tools must document their output structure.
Tool name 'echo_tool' is not verb_noun. Should follow pattern: verb_noun (e.g. 'echo_text'). Generic names like 'echo_tool' provide minimal signal to LLMs about the action being performed.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 32 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 25 | - | v1 |
No error handling or recovery guidance. If the tool fails or receives invalid input, there is no mechanism to tell the LLM what to do next. Per pattern:recovery-guide, error responses must guide the LLM toward resolution.
No input validation or constraints on the 'text' parameter. No length limits, character restrictions, or encoding rules documented or enforced. Per pattern:constrained-input, parameters with free-form strings should declare constraints.