FastMCP project template for create-mcp-ts.
This is a minimal template server with only 2 very basic tools. Both tools have descriptions and basic schema definitions, but lack parameter descriptions, comprehensive error handling, and output documentation. The tools are intentionally simple (ping/echo for demonstration), but even for a template they fall significantly short of production quality baselines. Tool naming is acceptable but descriptions are bare minimum. No parameter descriptions are present in the schema, the 'message' parameter in echo has no description text. No output schemas are documented. No error handling guidance. This is typical template/demo-grade code, not production-grade.
Send a message to the server and receive the message back
Ping the server and receive a pong back
ping_pong tool has empty input schema with no parameters, making it non-composable. Minimal tools should still document what they return and when to use them. Description does not explain when an LLM should call this (e.g., 'for health checks' or 'to verify server connectivity').
echo tool's 'message' parameter in the schema has NO description text. The Zod schema z.string() provides type but the parameter description field is missing entirely.
No output schemas are documented for either tool. LLMs cannot plan downstream calls or extract data if they do not know the return type. ping_pong returns 'pong' (a string), echo returns the input message (also a string), but neither return type is declared in tool metadata.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 43 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 37 | - | v1 |
No error handling or recovery guidance. Tools have no try-catch, no input validation, and no error messages that would help an LLM self-correct or retry. A malformed input would likely crash or return a generic error with no guidance.
Tool descriptions are at bare minimum (21 and 34 characters respectively). Baseline average is 194 chars. Descriptions do not explain WHEN to use the tool, what it returns, or any prerequisites. 'Ping the server and receive a pong back' could be expanded to 'Health check tool: verifies the server is responding. Returns the string "pong" if healthy. Use this before other tools if you suspect connectivity issues.'