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-serverwhat'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).
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | next_24h | |
| home_id | No | ||
| contiguous | No | ||
| resolution | No | HOURLY | |
| duration_hours | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries all behavioral disclosure and does it well: it explains rounding to grid intervals, the effect of HOURLY vs QUARTER_HOURLY, contiguous vs cheapest individual hours, and the next_24h edge case where the first start can already be in the past. These are non-obvious behaviors an agent needs to know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, followed by a compact, scannable list of parameter definitions. The extra details—1.5=90 min, the 15-min accuracy point, the past-start edge case—all earn their place and do not bloat the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core algorithm and parameter semantics, including a genuinely important edge case, and the output schema removes the need to describe return values. It is incomplete only in that the optional home_id parameter is undocumented, leaving the agent to guess its role from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given 0% schema coverage, the description compensates by explaining duration_hours (fractional hours, rounding up), resolution (allowed values and precision effects), window (allowed values), and contiguous (block vs individual hours). The only gap is home_id, which is neither explained in the schema nor the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific operation ('Findet die günstigsten Stunden') and a concrete resource class (consumers like washer, dishwasher, EV charger), which clearly separates it from the price-data siblings. However, it never names a sibling or an explicit boundary, so it falls just short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool context is implied through the appliance examples and parameter docs (e.g., window/contiguous), but there is no explicit statement of when to choose this over get_price_forecast or get_current_price, nor any 'do not use when' guidance. This is useful but relies on inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_consumptionGet ConsumptionC
Historischer Verbrauch pro Periode: kWh, Kosten (EUR), Durchschnittspreis.
resolution: HOURLY, DAILY, WEEKLY oder MONTHLY. last: Anzahl der letzten Perioden.
| Name | Required | Description | Default |
|---|---|---|---|
| last | No | ||
| home_id | No | ||
| resolution | No | DAILY |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what data is returned (consumption, cost, average price) and the parameters, but discloses nothing about side effects, authentication requirements, rate limits, or how periods are counted. Being a read operation, no mutation is implied, but the description fails to add any behavioral context beyond a basic data summary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient: a one-line summary of returned data followed by a compact parameter list. The most important information (what it returns) is front-loaded. The prose is minimal with no filler. Minor deduction for the mixing of natural-language summary and terse parameter definitions, but overall it is well-structured and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since an output schema exists, the description need not explain return values, which lowers the burden. However, the description does not clarify the purpose of home_id, a parameter that could be confusing (whether it defaults to the 'current' home). It also does not place the tool among its siblings, so an agent navigating between get_consumption, get_consumption_report, and get_live_measurement lacks sufficient context. Moderate complexity, partially addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate by explaining the parameters. It does explain resolution (listing the valid values HOURLY/DAILY/WEEKLY/MONTHLY) and last (number of recent periods), but it omits home_id entirely, which is one of the three parameters. The description adds value for two of three parameters, but misses the third, leaving a gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Historischer Verbrauch pro Periode' – historical consumption per period) with concrete outputs (kWh, cost in EUR, average price). It is clear about what data is returned, though it does not differentiate from the sibling get_consumption_report, which likely overlaps significantly in scope. The German language also slightly reduces universal clarity for non-German agents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus its siblings. There are several closely related tools (get_consumption_report, get_live_measurement, get_price_forecast), but the description offers no context about when each is appropriate. The only hint is the range of resolutions (HOURLY to MONTHLY), which implicitly suggests a historical aggregator, but no explicit when/when-not instruction is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_consumption_reportGet Consumption ReportB
Aggregierter Verbrauchs-/Kostenreport mit Vergleich zur Vorperiode.
period: 'week', 'month' oder 'year'. offset: 0 = laufende Periode, 1 = vorherige, usw.
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | ||
| period | No | month | |
| home_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the core behavioral trait—'with comparison to the previous period'—and explains offset semantics. However, it does not clarify whether the data is historical, real-time, or subject to any aggregation delays, nor does it describe auth or rate-limit behavior. For a simple read-only report tool, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded. The first sentence defines the tool's purpose, and the second covers parameter semantics. Every sentence earns its place with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has an output schema, and no required parameters, so the description does not need to explain return values. But it lacks usage guidance relative to siblings and fails to document home_id semantics. The explanation of period and offset is enough for basic invocation, but an agent still has to guess at edge cases like null home_id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so well for period ('week', 'month' or 'year') and offset (0 = current period, 1 = previous, etc.), adding meaning far beyond the bare schema defaults. However, home_id is left unexplained, which is a notable gap given it is one of only three parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource: an aggregated consumption/cost report with comparison to the previous period. This distinguishes it from siblings like get_consumption, which presumably returns raw consumption data, and get_current_price, which returns price data. It is specific about the report's nature, though it does not explicitly name an alternative tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but gives no guidance on when to use it versus alternatives such as get_consumption or get_current_price. There is no mention of exclusions, prerequisites, or scenarios where another sibling would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| home_id | No | ||
| resolution | No | HOURLY |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explains the behavioral distinction between HOURLY and QUARTER_HOURLY and why the latter is the actually valid price, which is valuable. However, it does not state read-only behavior, permission needs, or side effects, though these are likely implicit for a 'get' tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, main purpose front-loaded, followed by the only parameter that needs clarification. Well-structured and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The return content is described, and an output schema exists, so return shape is covered. However, the description lacks usage guidance for choosing this tool over siblings and does not explain home_id. For a tool with only two optional parameters, it comes close but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The resolution parameter is well explained with both values and its semantic nuance. The home_id parameter is not mentioned at all, leaving its purpose unclear. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the current electricity price with context (Tibber level, daily rank, percentage deviation). The word 'aktuell' differentiates it from forecast siblings, but it does not explicitly name them, so it's clear but relies on inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is given. The description never mentions alternatives like get_price_forecast or find_cheapest_hours, so an agent must infer from the name that this is for current price only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_home_infoGet Home InfoA
Alle Homes im Tibber-Account: Adresse, Tarifstatus, Zählpunkt und ob ein Tibber Pulse (Live-Daten) vorhanden ist.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides the main behavioral signal: it lists all homes in the account and their properties, implying a read-only collection operation with no side effects. The response content is named even though the output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the resource ('Alle Homes im Tibber-Account') and then efficiently lists the returned fields. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has zero parameters, and an output schema exists to specify the return structure. The description covers what the tool returns and its scope, which is sufficient for an agent to select and invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so parameter semantics are irrelevant. Per the rubric, zero parameters receive a baseline of 4; the description correctly does not invent parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the exact resource ('Alle Homes im Tibber-Account') and the specific data returned: address, tariff status, meter point, and Pulse presence. This clearly distinguishes it from sibling price, forecast, consumption, and live-measurement tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear it is for retrieving home/account metadata rather than pricing, consumption, or live measurement, so the use context is evident. It does not explicitly name alternatives or exclusion conditions, but none are needed for a zero-parameter metadata tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| home_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It meaningfully discloses that the tool waits up to 15 seconds and finishes as soon as measurements are available, and it calls out the required hardware. It does not mention error behavior or auth requirements, but this is still a reasonably transparent read-like tool description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: it leads with the data returned, then states the timeout behavior, then the prerequisite. Every sentence adds useful information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and an output schema, the description is nearly complete: it explains what data is returned, how long the call may take, and what hardware is needed. The main gaps are home_id semantics and explicit routing against sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, home_id, and schema description coverage is 0%. The description does not mention home_id at all, nor does it explain how the target home is selected or what null means. Since schema coverage is low, the description was expected to compensate, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving a live measurement from Tibber Pulse, with specific fields listed (current power in W, min/max in the measurement window, daily consumption in kWh, daily costs in EUR). The word 'Live' helps distinguish it from historical consumption siblings, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context by stating a prerequisite ('Requires a Tibber Pulse at the meter') and describing the wait behavior. However, it does not explicitly say when to use this tool instead of siblings like get_consumption or get_current_price, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| home_id | No | ||
| resolution | No | HOURLY |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains conditional availability ('falls schon publiziert'), what statistics are returned, and clarifies the field-name semantics across resolutions. It does not mention home_id behavior or error cases, but the main data behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well structured: three sentences, each adding necessary information. It front-loads the main result, then covers resolution options, then clarifies the field-name caveat. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Core behavior and return contents are well covered, and an output schema exists so return-structure details are not required. The main gaps are the missing meaning of 'home_id' and the lack of usage guidance relative to sibling tools, which leaves the definition slightly incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description thoroughly documents 'resolution' with its two values and value counts, and clarifies the quarter-hour meaning of fields. However, 'home_id' is not described at all, and with 0% schema coverage this leaves one parameter unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: price forecasts for today and, if published, tomorrow, with min/max/average and cheapest/most expensive interval. It is specific and understandable, though it does not explicitly differentiate itself from sibling tools like get_current_price or find_cheapest_hours.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as get_current_price or find_cheapest_hours. The forecast wording implies usage context, but no explicit conditions, exclusions, or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.3.0- Changed
find_cheapest_hours2 fields changed- changed
Input schema / properties / duration_hours / typePrevious value: -"integer"New value: +"number" - added
Input schema / properties / resolutionAdded value: +{ + "default": "HOURLY", + "type": "string" +}
- Changed
get_current_price1 field changed- added
Input schema / properties / resolutionAdded value: +{ + "default": "HOURLY", + "type": "string" +}
- Changed
get_price_forecast1 field changed- added
Input schema / properties / resolutionAdded value: +{ + "default": "HOURLY", + "type": "string" +}
7 tool updates
v0.1.0- First observed
find_cheapest_hours - First observed
get_consumption - First observed
get_consumption_report - First observed
get_current_price - First observed
get_home_info - First observed
get_live_measurement - First observed
get_price_forecast
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
Real-time electricity price signals for AI agents. Spot prices, cheapest hours, and contract recommendations. 31 countries across Europe and Oceania. No authentication required.
Real-time electricity prices for AI agents. 40+ countries, 100+ zones. No auth required.
Unofficial integration! ## ✨ Key Features ### 💰 Financial Intelligence - **Smart Charging Cost An…
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
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 gradedqualityCmaintenanceExposes 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.-
- AlicenseAqualityBmaintenanceEnables 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