MCP server that fetches surfing conditions (waves, swells, wind, temperature, precipitation) from the Windy API for given latitude and longitude coordinates.
Single tool with adequate naming and comprehensive description. Input schema is present with proper types and descriptions. However, output schema is not formally documented in the tool definition, only described in prose. The tool description is detailed (194 chars) and explains the API behavior, but lacks explicit guidance on error recovery. Parameter descriptions are clear and specific. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. Overall structure is functional but incomplete for production-grade agent integration.
Fetches surfing conditions (waves, swells, wind, temp, precip) for a given latitude and longitude. Uses the Windy API with gfsWave (waves) and gfs (wind/weather) models. Returns a JSON object with 'units' and a 'forecast' list. Each item in 'forecast' represents a time point (typically 3-hour intervals) containing various parameters and a 'timestamp' (UTC milliseconds since epoch). The client should handle timezone conversion for local display. Provide latitude and longitude coordinates.
Output schema not formally documented. Tool description mentions 'returns a JSON object with units and forecast list' but no structured schema definition is visible in the code. LLMs cannot reliably parse unstructured prose output.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). The tool is read-only and idempotent, but these hints are not declared in the tool definition, forcing LLMs to infer safety properties.
Error handling lacks recovery guidance. The tool description does not explain what to do if the API fails, returns invalid coordinates, or hits rate limits. Errors should guide the LLM toward corrective actions.
No pagination or result limits documented. If the forecast list is large, the response could exhaust context. Tool description should state the typical forecast length and whether pagination is supported.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
API key exposed in .cursor/mcp.json config file. Credentials should never be committed to version control. Use environment variables or a secrets manager, and add .env and .cursor/ to .gitignore.