Pirate Weather forecast API (Dark Sky-compatible). Free key required.
Two tools with minimal descriptions (10-20 chars each) and incomplete parameter documentation. Tool names lack action verbs (forecast, forecast_grid are nouns). Input schemas present but parameters lack descriptions, LLMs cannot infer what 'exclude', 'extend', 'lang', 'units' control. No output schema documented. No error handling guidance. API key exposed as parameter (_apiKey), violating secret-injection pattern. No pagination, result limits, or structured output guidance.
Full forecast at point.
GFS/ECMWF grid forecast.
Tool names lack action verbs. 'forecast' and 'forecast_grid' are nouns; should be 'get_forecast' and 'get_grid_forecast' to signal intent.
API key exposed as tool parameter '_apiKey'. Credentials must use server-side secret injection via environment variables (PLATFORM_PIRATEWEATHER_KEY). Parameters are logged in traces.
Parameter descriptions missing for 'exclude', 'extend', 'lang', 'units'. LLMs cannot infer what these control. 'exclude' could mean exclude fields, exclude data types, or exclude time ranges.
No output schema documented. LLMs do not know what fields to expect from the API response, preventing downstream tool chaining and field extraction.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
No error handling guidance. Errors like 'Pirate Weather: 401' or 'Pirate Weather: 403' do not tell the LLM what to do next or how to recover.