Pan-European electricity TSO data: load, generation, day-ahead prices, flows. Provides access to ENTSO-E Transparency Platform API for electricity market data.
Server defines 5 tools with basic schemas and descriptions, but significant gaps prevent production use. All tools lack parameter descriptions for period_start/period_end (3 tools missing entirely; 2 have only format hints). No output schemas documented. Error handling is minimal, no recovery guidance or actionable error messages. Tool names lack action verbs (day_ahead_prices, actual_load, actual_generation_per_type are noun-heavy). No tool annotations (readOnlyHint, etc.). API key injection via _apiKey parameter violates secret-injection pattern. Descriptions are adequate (100-150 chars) but lack WHEN/WHY context. Overall: functional but well below production baseline.
Actual generation per production type (solar, wind, nuclear, gas, ...) per hour.
Measured electricity consumption per hour for a bidding zone (MW).
Physical flow across an interconnector (in_area → out_area).
Day-ahead auction prices (€/MWh) per hour for a bidding zone. Period is YYYYMMDDHHmm format (UTC).
Year-end installed generation capacity by production type (MW).
API key exposed as tool parameter (_apiKey). Credentials must use server-side secret injection via environment variables or vault. Agent traces log all parameters, secrets leak into logs and prompt history.
Parameter descriptions missing or incomplete. actual_load, actual_generation_per_type, cross_border_flow lack descriptions for period_start/period_end. LLMs cannot infer parameter meaning from names alone, must state format, range, and constraints explicitly.
No output schemas documented. LLMs need to know what fields to expect (time_series, points, position, quantity, price, etc.) to plan downstream calls and extract data correctly. Undocumented outputs force LLMs to guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Tool names lack action verbs. 'day_ahead_prices', 'actual_load', 'actual_generation_per_type' are noun-heavy. Should be 'get_day_ahead_prices', 'get_actual_load', 'get_actual_generation_per_type'. LLMs infer intent from verb-first names.
Error handling provides no recovery guidance. Errors like 'ENTSO-E: unauthorized' or 'bad request' do not tell the LLM what to do next (retry? ask user? check token?). Must categorize errors as retryable/user-fixable/fatal and include actionable next steps.