A simple MCP server demonstrating tools, prompts, and resources using FastMCP with stdio transport
The server defines 1 tool (add_integers) with adequate but basic quality. The tool has a clear verb-noun name, a proper description (71 chars, within baseline), and a complete input schema with typed parameters and descriptions. However, there are gaps in composition completeness, output documentation is minimal, and error handling is absent. The tool is read-only and simple, which limits scope for complex quality issues, but the server lacks demonstration of patterns like pagination, structured output guidance, error recovery, or composition chains. Prompts and resources are implemented but tool definitions are the focus here.
This function is used whenever we want to add two 'Integer' numbers together.
No output schema documented. The tool returns an int, but the response structure and any metadata fields are not documented for the LLM.
No error handling or validation guidance. What happens if inputs are not integers? No error messages to guide LLM recovery.
No input validation constraints documented. Parameter descriptions lack format, range, or constraint information (e.g., min/max values, allowed ranges).
Tool is overly simple; no evidence of composition patterns. This is acceptable for a demo, but a production server should demonstrate how multiple tools chain together via shared ID/reference fields.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 62 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 62 | - | v1 |