MCP server for Danish electricity prices (elpriser.org) — current spot price, cheapest hours, and 7-day forecast for DK1 and DK2.
Five tools with complete schemas, clear descriptions, and proper enum constraints. All tools are read-only with appropriate naming (get_*, find_*). Descriptions are well-written (100-200 chars) and include use-case hints in Danish. Parameters are typed with enums and regex patterns. However, output schemas are not formally documented, responses are free-text JSON summaries rather than structured objects with declared fields. Error handling returns user-friendly messages but lacks recovery guidance. No tool annotations (readOnlyHint, idempotentHint) despite all being read-only operations.
Look up the Danish net company (netselskab) for a location by latitude/longitude — needed to compute the exact total price for an address. Use for "hvilket netselskab har jeg".
Find the N cheapest hours of the day for a price zone — for scheduling EV charging, heat pump, dishwasher etc. Use for "hvornår er strøm billigst i dag/i morgen".
Get the current Danish electricity price (this hour) for a price zone. Use for "hvad er elprisen lige nu / hvad koster strøm nu".
Get a 7-day electricity price forecast for a price zone (actual day-ahead prices for today/tomorrow, weather-corrected estimate beyond). Use for "elpriser de næste dage / prognose".
Get all 24 hourly electricity prices for a given date (default: today) in a price zone. Use for "elpriser i dag / time for time".
Output schemas not formally documented. Tools return free-text JSON summaries (e.g., 'Elsprisen i DK1 lige nu...') rather than structured objects with declared field types. LLMs cannot reliably extract data or chain results to downstream tools.
No tool annotations despite all tools being read-only. Missing readOnlyHint and idempotentHint metadata. Agents cannot determine safety classification without explicit hints.
Error handling returns user-friendly messages but lacks recovery guidance. Errors like 'elpriser.org API 500 for /api/now' do not tell the LLM whether to retry, ask the user, or escalate.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
find_net_company accepts only lat/lng coordinates. No support for address-based lookup (e.g., 'Nørrebrogade 10, Copenhagen'). Requires users to geocode manually before calling the tool.
No pagination or result limits documented. get_today_prices always returns 24 hours; get_price_forecast always returns 7 days. If API changes to return more data, context window risk is undocumented.