An MCP server that provides weather information for specified locations
Single tool with adequate naming (get_weather) and clear description (67 chars). Input schema is present with proper types and descriptions for both parameters. However, output schema is completely undocumented, the tool returns WeatherData struct but LLMs have no visibility into its fields. Error handling is minimal (generic error strings). No tool annotations (readOnlyHint, idempotentHint). Parameter descriptions are present but lack format/constraint details. The stub implementation returns hardcoded data, limiting real-world utility.
Get current weather conditions for a specified location
Output schema completely undocumented. Tool returns WeatherData struct with fields (Location, Temperature, Condition, Humidity, WindSpeed, Units) but LLMs cannot see this structure. Agents cannot extract or chain on specific fields.
No tool annotations. Tool is read-only (risk: READ_ONLY declared) but lacks readOnlyHint annotation in schema. Agents cannot infer safety/idempotency from the definition.
Parameter descriptions lack format/constraint details. 'units' enum is declared but description does not explain what metric vs imperial means or when to use each. 'location' description is generic, no guidance on format (city name, coordinates, postal code?).
Error handling is non-actionable. Tool returns generic error strings (e.g. 'location parameter is required') with no recovery guidance. LLMs cannot determine if error is retryable or user-fixable.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
Implementation is stub data only. GetWeather() returns hardcoded temperature (22.5) and condition ('Partly Cloudy') regardless of location. Tool is non-functional for real use.