Skip to main content
Glama
x2q

elpriser-mcp

by x2q
README.md
# elpriser-mcp

> MCP server for **Danish electricity prices** — current spot price, cheapest hours, and a 7-day forecast for DK1 and DK2, straight from [elpriser.org](https://elpriser.org).

A [Model Context Protocol](https://modelcontextprotocol.io) server that lets an LLM
(Claude Desktop, etc.) answer questions like:

- *"Hvad er elprisen lige nu?"* / *"What does electricity cost right now in Denmark?"*
- *"Hvornår er strøm billigst i morgen?"* — find the cheapest hours to charge the EV / run the heat pump
- *"Vis elpriser i dag time for time for DK2"*
- *"Hvordan ser elprisprognosen ud de næste 7 dage?"*

Data comes from the free, public [elpriser.org](https://elpriser.org) API, which is
sourced from **Energi Data Service** (Energinet) / **Nord Pool**. Prices can be the
raw spot price or the **total price you actually pay** per kWh (incl. system &
transmission tariffs, electricity tax and 25% VAT). **No API key required.**

## Tools

| Tool | What it does |
|---|---|
| `get_current_price` | Current price for this hour (DK1/DK2) |
| `get_today_prices` | All 24 hourly prices for a date |
| `get_cheapest_hours` | The N cheapest hours of the day (EV/heat-pump scheduling) |
| `get_price_forecast` | 7-day forecast (actual for today/tomorrow, estimate beyond) |
| `find_net_company` | Net company (netselskab) for a lat/lng — for exact total price |

All tools take an `area` (`DK1` or `DK2`, default `DK1`) and most take a `mode`:

- `spot_ex` — raw spot price, no VAT
- `spot_inkl` — spot price incl. 25% VAT
- `inkl_alt` *(default)* — total price incl. all tariffs + electricity tax + VAT
- `inkl_alt_minus` — total without electricity tax

## Install

Requires Node.js ≥ 18.

### Claude Desktop

Add to your `claude_desktop_config.json`
(macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`,
Windows: `%APPDATA%\Claude\claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "elpriser": {
      "command": "npx",
      "args": ["-y", "elpriser-mcp"]
    }
  }
}
```

Restart Claude Desktop. You should see the `elpriser` tools available.

### Any other MCP client

Run the server over stdio:

```bash
npx -y elpriser-mcp
```

Or install globally:

```bash
npm install -g elpriser-mcp
elpriser-mcp
```

## Examples

> **You:** Hvornår er strøm billigst i morgen i DK1?
>
> **Claude** *(calls `get_cheapest_hours area=DK1 hours=5 date=…`)*: De billigste timer i morgen er 02–05 og 13–14 …

## Configuration

| Env var | Default | Purpose |
|---|---|---|
| `ELPRISER_API_BASE` | `https://elpriser.org` | Override the API base (e.g. for testing). |

## How it works

`elpriser-mcp` is a thin wrapper over the public elpriser.org REST API
(`/api/now`, `/api/prices`, `/api/schedule`, `/api/forecast`,
`/api/supplierlookup`). The full OpenAPI 3.1 spec lives at
<https://elpriser.org/api/openapi.json> and human docs at
<https://elpriser.org/api>.

## License

MIT © [elpriser.org](https://elpriser.org)

---

Built and maintained alongside [elpriser.org](https://elpriser.org) — aktuelle
elpriser og spotpriser time for time for hele Danmark.

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct aspect of electricity pricing: net company lookup, cheapest hours, current price, forecast, and hourly prices. No overlap or ambiguity.

Naming Consistency4/5

Most tools use the 'get_' prefix (get_cheapest_hours, get_current_price, get_price_forecast, get_today_prices), but one tool uses 'find_' (find_net_company), introducing a minor inconsistency.

Tool Count5/5

Five tools cover the core needs of Danish electricity price queries without being excessive or insufficient. The count is well-scoped for the domain.

Completeness4/5

The set covers current price, daily/hourly prices, cheapest hours, forecast, and net company lookup. Missing historical price retrieval, but the essential workflows are supported.

Maintenance

ActivityInactive
ResponsivenessNo issues