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.