Template repository for building FastMCP-based MCP servers with TypeScript and a WebUI
Two tools with complete schemas and basic descriptions. Both tools have proper Zod schema definitions with typed parameters and descriptions. However, descriptions are minimal (10-30 chars), falling below the 50-200 char LLM-optimized baseline. No output schema documentation. No error handling guidance. Tool names are simple verbs but lack context about when to use them vs alternatives. Parameters are well-typed but descriptions are terse. No composition guidance or dependency hints.
Add two numbers together.
Echo back a message.
Descriptions are too brief (10-30 chars). LLM-optimized descriptions should be 50-200 chars, explaining WHAT the tool does, WHEN to use it, and any prerequisites.
No output schema documented. LLMs need to know what fields to expect in responses to plan downstream calls and extract data correctly.
No error handling guidance. Error responses should tell the LLM what to do next (e.g., 'Invalid input. Try with numeric values.').
Tool names lack disambiguation context. 'add' and 'echo' are generic, descriptions should clarify when to use 'add' vs other arithmetic operations, and when 'echo' is appropriate vs other message tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Parameter descriptions are minimal. 'The first number' and 'The message to echo' lack format/range guidance. E.g., 'a: A numeric value (integer or float, no limits)' would be clearer.