Production-ready FastMCP server template with HTTPS and authentication
This server has only 2 tools with minimal schema definition and weak documentation. The 'add' tool has a proper input schema with typed parameters and descriptions, but the 'secret_word' tool has an empty input schema. Descriptions are present but extremely brief (under 30 characters for both), falling well below the baseline of 194 characters for production tools. No output schemas are documented. The server lacks error handling guidance, parameter constraints (enums, ranges, defaults), and does not follow LLM-optimized description patterns. Tool composition is trivial (simple arithmetic and a hardcoded return), so composition issues are moot, but naming and descriptions need significant work for agent usability.
Add two numbers
Return the secret word
Tool 'secret_word' has empty input schema ({}). This tool is not usable by agents without documented structure.
Both tools lack documented output schemas. Agents cannot plan downstream calls or validate returned data. Pattern requires schema documentation for all tools.
Tool descriptions are 11 - 30 characters, far below the 194-character production baseline (p10=34, p90=392). 'Add two numbers' and 'Return the secret word' lack context for LLM selection. They do not explain WHEN to use the tool, what it returns, or any prerequisites.
Tool 'secret_word' has a generic, non-action name. Naming convention is verb_noun (e.g. get_secret, fetch_secret). 'secret_word' alone does not clearly convey what the tool does. LLMs may conflate it with similar utility tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 40 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 44 | - | v1 |
No error handling or recovery guidance. If 'add' receives non-integer input or 'secret_word' fails, agents have no guidance on whether to retry, ask the user, or abandon the call. Per pattern:recovery-guide, errors must tell the LLM what to do next.
No parameter constraints (min/max, enums, patterns). The 'a' and 'b' parameters for 'add' lack ranges, agents could pass arbitrarily large numbers causing overflow or timeout. Descriptions must include actionable constraints.