Back to the catalog

eloverblik

Read your Danish electricity metering data from ElOverblik (eloverblik.dk) — list meters, fetch hourly consumption, tariffs, charges, meter

Open source Open in the app JSON README (API)

About

Read your Danish electricity metering data from ElOverblik (eloverblik.dk) — list meters, fetch hourly consumption, tariffs, charges, meter readings, and metering-point details. Unofficial; uses your personal ElOverblik refresh token (stored in your OS keychain).

Details

Kind
Plugins
Topic
No topic detected
Publisher
maziarzamani
Origin
marketplace
Category
ferramentas
Last push
2026-04-25T15:41:52Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-30 01:48:58
Updated
2026-08-30 01:48:58
Origin id
maziarzamani/eloverblik-mcp/eloverblik

README

# ElOverblik

A Claude Code plugin that lets Claude read your Danish electricity metering
data from [ElOverblik](https://eloverblik.dk) (Energinet's customer data
platform).

Ask Claude things like:

- *"List my electricity meters."*
- *"How much electricity did I use last week, by hour?"*
- *"What tariffs am I paying on metering point 571313100000000001?"*
- *"Show me the meter readings for March 2025."*

## Tools

| Tool | What it does |
|---|---|
| `list_metering_points` | List your metering points (meters). |
| `get_metering_point_details` | Get address, type, status, grid operator. |
| `get_charges` | Tariffs, subscriptions, and fees on a metering point. |
| `get_time_series` | Consumption time series (Hour/Day/Month/Year). Response is flattened to `{meteringPointId, unit, resolution, points: [{start, end, quantity, quality}]}` by default. Pass `raw: true` for the original CIM envelope. |
| `get_meter_readings` | Raw meter register readings (cumulative kWh). |

All date inputs are ISO-8601 (`YYYY-MM-DD`). The `to` date is **exclusive** —
to fetch a single day, set `to` to the next day.

## Install

### Prerequisites

- [Claude Code](https://claude.com/code) installed
- Node.js ≥ 20 on your `PATH`
- An ElOverblik account (private or business)

### Step 1 — Generate a refresh token

1. Sign in at [eloverblik.dk](https://eloverblik.dk).
2. Go to **Profil → Datadeling**.
3. Click **Opret token** (Create token) under "Datadelings token".
4. Copy the long JWT string. You'll paste it into Claude Code in the next step.

The token is valid for ~1 year. Treat it like a password.

### Step 2 — Install the plugin

```sh
/plugin marketplace add maziarzamani/eloverblik-mcp
/plugin install eloverblik@maziarzamani-plugins
```

When prompted, paste your refresh token. Claude Code stores it in your OS
keychain.

That's it — restart your Claude Code session and ask Claude about your
electricity data.

## How auth works

ElOverblik uses a long-lived **refresh token** (no OAuth). The plugin:

1. Stores your refresh token securely in your system keychain via Claude
   Code's `userConfig.sensitive` mechanism. The token never leaves your
   machine.
2. On each session, exchanges the refresh token at
   `GET /api/Token` for a short-lived (24 h) access token, cached in memory.
3. Calls the ElOverblik API with the access token.

If your refresh token expires or you regenerate it, run
`/plugin config eloverblik` to update the value.

## Privacy

- Your refresh token stays on your machine (OS keychain).
- API calls go directly from your machine to `api.eloverblik.dk`.
- No analytics, no third-party servers.

## Development

This repo doubles as the plugin and a one-plugin marketplace.

```sh
bun install         # install dev deps
bun test            # run all tests
bun test --watch    # TDD loop
bun run typecheck   # tsc --noEmit
bun run build       # produce server.js (committed artifact)
```

Local plugin testing:

```sh
ELOVERBLIK_REFRESH_TOKEN=<your-token> claude --plugin-dir .
```

### Layout

```
.claude-plugin/
  plugin.json          # Plugin manifest (name, userConfig, etc.)
  marketplace.json     # One-plugin marketplace catalog
.mcp.json              # Wires Claude Code to launch server.js
server.js              # Bundled MCP server (committed artifact)
src/
  index.ts             # Stdio entrypoint
  server.ts            # McpServer wiring
  client/eloverblik.ts # API client (auth, retry, error mapping)
  tools/               # One file per MCP tool
```

## License

MIT — see [LICENSE](./LICENSE).

## Acknowledgements

This is an unofficial third-party plugin. ElOverblik is a service of
[Energinet](https://energinet.dk). Not affiliated with or endorsed by
Energinet or Anthropic.

More