A simple mcp server demonstrating resources, tools, and prompts
All three tools have critical definition gaps. Descriptions are extremely brief (10-50 chars, well below the 194-char baseline for A+ tools). NO parameter descriptions exist, all params lack explanatory text, violating the 100% A+ baseline. Input schemas use Zod but lack formal JSON Schema documentation in the code. No output schemas are documented. Error handling is absent. The 'fetch-weather' tool makes an external API call without timeout, error recovery, or rate limiting. Tool names lack action verbs (e.g., 'calculate-bmi' should be 'get_bmi' or 'compute_bmi'). No tool demonstrates idempotency, pagination, or composition patterns.
for addition two numbers
for calculating BMI
for fetching weather information through an API
All parameters lack descriptions. Zod schemas define types but provide no context for LLM parameter selection. 'a' and 'b' in 'add' are ambiguous; 'weightKg' and 'heightM' in 'calculate-bmi' lack units/range guidance; 'city' in 'fetch-weather' lacks format constraints.
Tool descriptions are too brief (10 - 50 chars vs. 194-char baseline). 'for addition two numbers' and 'for calculating BMI' lack context on WHEN to use, WHAT is returned, and any prerequisites. LLMs cannot reliably select these tools.
No output schemas documented. Callers cannot predict return structure. 'add' returns a text string; 'calculate-bmi' returns a number as text; 'fetch-weather' returns raw API response. LLMs must guess field names and types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
'fetch-weather' calls external API without timeout, error handling, or rate limiting. No recovery guidance if the API is down or returns invalid data. Agents will hang or fail silently.
Tool names lack action verbs. 'add' and 'calculate-bmi' are weak; 'fetch-weather' is better but inconsistent. Baseline: 90% of A+ tools start with get_, create_, update_, delete_, search_, list_, send_. Rename to 'compute_sum', 'get_bmi', 'fetch_weather' for clarity.