Skip to main content
Glama
tibber-mcp-server

tibber-mcp-server

by Schimmilab

Tibber MCP Server

MCP-Server für die Tibber-API: Strompreise mit Forecast, Verbrauch/Kosten, Günstigste-Stunden-Suche und Pulse-Live-Daten — aufbereitet für LLMs.

Setup

  1. Repo klonen: git clone https://github.com/Schimmilab/tibber-mcp-server.git

  2. Tibber-Token erstellen: https://developer.tibber.com/settings/access-token

  3. Abhängigkeiten installieren: uv sync

Related MCP server: SIGNALS Market Readiness MCP Server

Einbindung in Claude Code / Claude Desktop

.mcp.json (Pfad an den Clone-Ort anpassen):

{
  "mcpServers": {
    "tibber": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/pfad/zu/tibber-mcp-server",
        "tibber-mcp"
      ],
      "env": { "TIBBER_API_TOKEN": "<dein-token>" }
    }
  }
}

Alternativ liegt der Token in einer .env-Datei im Repo-Verzeichnis (nicht eingecheckt); dann statt des env-Blocks:

"args": ["run", "--env-file", "/pfad/zu/tibber-mcp-server/.env", "--directory", "/pfad/zu/tibber-mcp-server", "tibber-mcp"]

Oder per Claude-Code-CLI global installieren:

claude mcp add tibber --scope user -- uv run --env-file /pfad/zu/tibber-mcp-server/.env --directory /pfad/zu/tibber-mcp-server tibber-mcp

Tools

Tool

Zweck

get_home_info

Homes, Adresse, Zählpunkt, Pulse vorhanden?

get_current_price

Preis jetzt + Einordnung (Rang, % vs. Tagesschnitt); resolution=QUARTER_HOURLY für die laufende Viertelstunde

get_price_forecast

Preise heute/morgen mit Min/Max/Schnitt — 24 Stunden- oder 96 Viertelstundenwerte pro Tag

find_cheapest_hours

Günstigstes Fenster für Waschmaschine, E-Auto & Co.; Laufzeit in Stunden mit Bruchteilen, im Viertelstundenraster auf 15 min genau

Raster: Alle drei Preis-Tools nehmen resolution = HOURLY (Standard) oder QUARTER_HOURLY. Seit der Umstellung auf 15-Minuten-Preise ist das Viertelstundenraster der tatsächlich abgerechnete Preis; das Stundenraster ist der Mittelwert daraus. | get_consumption | Verbrauch pro Stunde/Tag/Woche/Monat (max. 744 Perioden) | | get_consumption_report | Aggregierter Report mit Vorperioden-Vergleich | | get_live_measurement | Pulse-Live-Snapshot (aktuelle Leistung, Tageswerte; wartet bis zu 15 s) |

Alle Preise in ct/kWh, Summen in EUR, Zeiten in Europe/Berlin. Fehlermeldungen sind deutsch und LLM-tauglich.

Entwicklung

uv run pytest          # Tests

Spec: docs/superpowers/specs/2026-07-05-tibber-mcp-server-design.md Plan: docs/superpowers/plans/2026-07-05-tibber-mcp-server.md

Lizenz

MIT — siehe LICENSE. Ein Schimmilab-Projekt.

Maintainer

Schimmi — https://schimmilab.de Issues und Pull Requests willkommen.

Available Tools

7 tools
find_cheapest_hoursFind Cheapest HoursA

Findet die günstigsten Stunden für einen Verbraucher (Waschmaschine, Spülmaschine, E-Auto-Ladung).

duration_hours: Laufzeit des Verbrauchers in Stunden, Bruchteile erlaubt (1.5 = 90 min). Wird auf ganze Rasterintervalle aufgerundet. resolution: 'HOURLY' oder 'QUARTER_HOURLY' — im Viertelstundenraster findet es kurze Preissenken und plant Laufzeiten auf 15 min genau. window: 'today', 'tomorrow' oder 'next_24h'. contiguous: True = zusammenhängender Block, False = billigste Einzelstunden. next_24h schließt das laufende Intervall ein — start_hours[0] kann in der Vergangenheit liegen (sofort starten).

Inputs: duration_hours (required), window, home_id, contiguous, +1 more. Returns: object

get_consumptionGet ConsumptionC

Historischer Verbrauch pro Periode: kWh, Kosten (EUR), Durchschnittspreis.

resolution: HOURLY, DAILY, WEEKLY oder MONTHLY. last: Anzahl der letzten Perioden.

Inputs: last, home_id, resolution. Returns: result

get_consumption_reportGet Consumption ReportB

Aggregierter Verbrauchs-/Kostenreport mit Vergleich zur Vorperiode.

period: 'week', 'month' oder 'year'. offset: 0 = laufende Periode, 1 = vorherige, usw.

Inputs: offset, period, home_id. Returns: object

get_current_priceGet Current PriceB

Aktueller Strompreis mit Einordnung: Tibber-Level, Rang im Tagesverlauf und prozentuale Abweichung vom Tagesdurchschnitt.

resolution: 'HOURLY' (Stundenpreis) oder 'QUARTER_HOURLY' (Preis der laufenden Viertelstunde — seit der 15-Minuten-Abrechnung der tatsächlich gültige Preis).

Inputs: home_id, resolution. Returns: object

get_home_infoGet Home InfoA

Alle Homes im Tibber-Account: Adresse, Tarifstatus, Zählpunkt und ob ein Tibber Pulse (Live-Daten) vorhanden ist.

Inputs: no named parameters. Returns: result

get_live_measurementGet Live MeasurementA

Live-Messung vom Tibber Pulse: aktuelle Leistung (W), Min/Max im Messfenster, Tagesverbrauch (kWh) und Tageskosten (EUR). Wartet bis zu 15 Sekunden, endet sobald Messwerte vorliegen. Benötigt einen Tibber Pulse am Zähler.

Inputs: home_id. Returns: object

get_price_forecastGet Price ForecastA

Preise für heute und (falls schon publiziert) morgen, jeweils mit Min/Max/Durchschnitt und günstigstem/teuerstem Intervall.

resolution: 'HOURLY' (24 Werte/Tag) oder 'QUARTER_HOURLY' (96 Werte/Tag). Die Felder heißen in beiden Rastern gleich ('hours', 'cheapest_hour') — im Viertelstundenraster meinen sie die Viertelstunde.

Inputs: home_id, resolution. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 7 tools

    Disambiguation4/5

    Most tools are clearly distinct: price, forecast, optimization, consumption, and live measurement each target different aspects. The only potential overlap is get_consumption and get_consumption_report, but descriptions clarify raw series vs. pre-aggregated comparison report.

    Naming Consistency5/5

    All data-fetching tools follow the get_ noun pattern, and find_cheapest_hours deliberately uses find_ to indicate search/optimization. Naming is consistent snake_case with predictable verb prefixes.

    Tool Count5/5

    Seven tools cover the core Tibber use cases (home info, prices, forecast, smart consumer scheduling, historical consumption, reports, live measurement) without redundancy or bloat. The count feels perfectly scoped for the server's purpose.

    Completeness5/5

    The tool surface covers the realistic Tibber workflow: understanding tariffs/homes, checking current and forecast prices, optimizing consumption timing, reviewing historical usage, and accessing live meter data. No obvious dead ends or missing essential operations for the domain.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      MCP Server for Tibber, a Norwegian power supplier. The Tibber MCP server provides an AI agent with a convenient way to interact with the Tibber API and query information such as current energy prices and your energy consumption data.
      2
      3
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Exposes energy market signals and readiness indices by integrating data from sources like Yahoo Finance, ENTSOG, and AGSI+. It enables users to query gas flows, storage levels, power prices, and weather data via natural language.
      -
    • A
      license
      A
      quality
      C
      maintenance
      Enables LLM agents to query live data from Anker Solix solar systems (Solarbank, expansion batteries, Smartmeter) via natural language, such as current solar production or battery state of charge.
      12
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents and assistants to query Polish electricity market data from the SENS Energy Data API by discovering operators and tariffs, fetching composite prices, and inspecting tariff components through natural language.
      4
      MIT