MCP-Server für Stromnetz-Daten — CO2-Intensität, Strommix, Preise und optimale Zeitfenster für energieintensive KI-Tasks
Server has 9 tools with clear naming (verb_noun pattern: get_*, find_*) and reasonable descriptions (100-250 chars). However, critical gaps exist: input schemas are present but lack proper type definitions for most parameters (all region/zone/country_code params are bare strings with no enum constraints despite accepting only specific values). Parameter descriptions are adequate but generic. Output schemas are completely undocumented, no return type specifications visible. Error handling is minimal; no recovery guidance or actionable error messages. Tools follow single-responsibility principle well. Missing: enum constraints for constrained inputs (regions, zones, country codes), documented output schemas, error classification, and input validation guidance.
Findet das grünste Zeitfenster für energieintensive AI-Tasks (UK). Ideal für: GPU-Training, Batch-Verarbeitung, große Inferenz-Jobs. Args: duration_hours: Dauer des geplanten Tasks in Stunden. Standard: 2. Returns: Bestes Zeitfenster mit niedrigster CO2-Intensität in den nächsten 48 Stunden inkl. Vergleich zu aktuellem Wert.
CO2-Intensitäts-Prognose für das UK-Stromnetz (bis 48h voraus). Args: hours_ahead: Stunden in die Zukunft (max. 48). Standard: 24. Returns: Liste mit stündlichen CO2-Prognosen — ideal um energieintensive Tasks in grüne Zeitfenster zu planen.
Day-Ahead Strompreise für EU-Länder (benötigt ENTSOE_TOKEN). Args: country_code: EIC-Ländercode, z.B. 'DE', 'FR', 'ES', 'IT', 'PL'. Returns: Stündliche Day-Ahead Preise für morgen in EUR/MWh. Benötigt ENTSOE_TOKEN aus https://transparency.entsoe.eu registrieren.
Aktueller Großhandelsstrompreis Deutschland (EUR/MWh) von SMARD. Keine Registrierung nötig — direkt aus Bundesnetzagentur-Daten. Returns: Aktueller Preis in EUR/MWh, Zeitraum, Quelle.
CO2-Intensität für eine globale Zone (benötigt ELECTRICITY_MAPS_TOKEN). Args: zone: Zone-Code, z.B. 'DE' (Deutschland), 'FR' (Frankreich), 'US-CAL-CISO' (Kalifornien), 'IN-NO' (Nordindien). Returns: CO2-Intensität (gCO2/kWh) und Strommix für die Zone. Benötigt ELECTRICITY_MAPS_TOKEN in .env.
No output schemas documented. Tools return dicts with undocumented field structures (e.g., get_uk_carbon_intensity returns {region, intensity_gco2_kwh, index, generation_mix} but LLM cannot see this contract). Violates pattern:tool requirement that output schemas be documented.
Parameters accepting constrained values (region, zone, country_code) are bare strings with no enum constraints. E.g., get_uk_carbon_intensity region param accepts only specific UK regions but schema shows {type: string} with no enum. Forces LLM to guess valid values; invites hallucinated inputs like 'North London' instead of 'London'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Strommix für eine globale Zone (benötigt ELECTRICITY_MAPS_TOKEN). Args: zone: Zone-Code, z.B. 'DE', 'FR', 'ES', 'US-CAL-CISO'. Returns: Aufschlüsselung der Stromerzeugung nach Quelle (MW).
Prozentualer Anteil erneuerbarer Energien im UK-Stromnetz. Args: region: Optional — UK-Region für regionalen Vergleich. Returns: Aktueller Anteil erneuerbarer Energien inkl. Trend-Einschätzung.
Aktuelle CO2-Intensität des britischen Stromnetzes (gCO2/kWh). Args: region: Optional — UK-Region (z.B. 'South West England', 'Scotland'). Leer lassen für nationale Übersicht. Returns: CO2-Intensität (gCO2/kWh), Index (low/moderate/high/very high), Strommix-Aufschlüsselung nach Quelle.
Aktueller Strommix des britischen Netzes — Erneuerbare vs. Fossil. Returns: Anteil jeder Energiequelle (%) inkl. Wind, Solar, Nuclear, Gas, Coal. Keine API-Registrierung nötig.
No error handling or recovery guidance. Code catches httpx exceptions and may return {error: ...} but no actionable messages. E.g., if region not found, error lists available regions but LLM has no guidance on what to do next. Missing pattern:recovery-guide.
Parameter descriptions lack format/constraint details. E.g., hours_ahead described as 'Stunden in die Zukunft (max. 48)' but no min/max in schema. country_code described as 'EIC-Ländercode' but no pattern or enum. LLM cannot validate inputs without explicit constraints.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only but this is not declared in schema. Agents cannot infer safety properties without annotations.