A template for creating FastMCP servers that wrap REST APIs as MCP tools. This is a skeleton/template repository for generating MCP servers using FastMCP framework.
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. All tools have descriptions (10-20 chars baseline met), and input parameters are typed, but descriptions lack actionable detail for LLM selection. No output schemas documented. Error handling absent. Parameter descriptions are minimal (e.g., 'Maximum number of items to return (default 50)' lacks range constraints). No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles. Naming is verb-first and clear (list_, get_, create_), meeting baseline conventions.
Create a new item.
Get a single item by its identifier.
List items from the API.
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream field names and risk broken tool chains.
Parameter descriptions lack actionable constraints. 'Maximum number of items to return (default 50)' does not specify min/max bounds (e.g., 1 - 1000). LLMs may pass invalid values.
No tool annotations (readOnlyHint/destructiveHint). create_item is marked WRITE risk but the tool definition lacks destructiveHint annotation. Agents cannot determine which tools are safe to retry.
Tool descriptions are too brief (10 - 20 chars). 'List items from the API' and 'Get a single item by its identifier' lack context on WHEN to use each tool vs. alternatives, and do not explain pagination behavior.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
No error handling guidance. If API returns 404 or 500, the tool will raise an exception with no recovery hint for the LLM. No actionable error messages.