tibber-mcp-server
This server lets LLMs read and analyze Tibber smart-home electricity data (prices, consumption, and live Pulse measurements).
Get home info: list homes, addresses, metering points, and whether a Tibber Pulse is available.
Get current price: current electricity price with ranking and deviation from daily average, in hourly or quarter-hourly resolution.
Get price forecast: today's/tomorrow's prices with min/max/average and cheapest/most expensive intervals.
Find cheapest hours: find the cheapest contiguous or non-contiguous time windows for a configurable appliance runtime, across today/tomorrow/next 24h.
Get consumption: historical usage in hourly/daily/weekly/monthly periods including kWh, costs in EUR, and average price.
Get consumption report: aggregated usage/cost report with comparison to a previous period (week/month/year).
Get live measurement: real-time Pulse snapshot with current power, min/max, daily usage, and daily cost.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tibber-mcp-server what's the current electricity price?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Repo klonen:
git clone https://github.com/Schimmilab/tibber-mcp-server.gitTibber-Token erstellen: https://developer.tibber.com/settings/access-token
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-mcpTools
Tool | Zweck |
| Homes, Adresse, Zählpunkt, Pulse vorhanden? |
| Preis jetzt + Einordnung (Rang, % vs. Tagesschnitt); |
| Preise heute/morgen mit Min/Max/Schnitt — 24 Stunden- oder 96 Viertelstundenwerte pro Tag |
| 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 # TestsSpec: 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 toolsfind_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
Scored across 7 tools
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.
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.
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.
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
Related MCP Connectors
Home energy for AI assistants: live Power flow, Energy history, solar forecast, and device control.
Real-time electricity price signals for AI agents. Spot prices, cheapest hours, and contract recommendations. 31 countries across Europe and Oceania. No authentication required.
Connects AI assistants to TrackingTime for querying time entries, projects, tasks, customers, and team data using natural language.
Real-time electricity prices for AI agents. 40+ countries, 100+ zones. No auth required.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP 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.23MIT
- FlicenseNot gradedqualityDmaintenanceExposes 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.-
- AlicenseAqualityCmaintenanceEnables 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.121MIT
- AlicenseAqualityBmaintenanceEnables 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.4MIT