A TypeScript MCP server that provides weather information and generates weather reports using prompts and resources
Single tool 'get_weather' has a basic schema but critical gaps in parameter documentation and output specification. The tool name follows verb_noun convention (positive), but the input schema lacks parameter descriptions entirely, LLMs cannot infer what 'city' means or what format is expected. Tool description is minimal (8 words, 44 chars) and does not explain when to use it, what it returns, or any prerequisites. Output is hardcoded mock data with no documented schema. No error handling, no pagination, no structured response definition. Baseline for A+ tools: 100% of params have descriptions; 94% have docstrings; average description 194 chars. This server meets none of these.
Get the current weather for a city
Parameter 'city' has no description. LLMs cannot infer expected format (city name, code, coordinates?), valid range, or constraints.
Tool description is 44 characters (8 words). Baseline for A+ tools is 194 chars average. Missing: when to call it, what it returns, any prerequisites or dependencies.
Output schema is not documented. Tool returns hardcoded text; LLMs cannot plan downstream calls or extract structured data. No field definitions, no types.
No error handling or recovery guidance. If city is invalid or API fails, LLM receives no actionable error message or next steps.
Tool returns mock data (hardcoded '72°F and sunny'). No real API integration, no validation, no actual weather data. Not production-ready.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |