Energi Data Service MCP
by Enevoldsen88
README.md
# Energi Data Service MCP
Read-only remote MCP server for Energinet's public
[Energi Data Service](https://www.energidataservice.dk/).
## Tools
- `search_datasets` — search dataset metadata.
- `get_dataset` — query any named dataset with dates, columns and filters.
- `get_co2_emissions` — retrieve 5-minute CO2 intensity for DK1 or DK2.
No Energinet API key is required.
## Run locally
```bash
npm install
npm start
```
The MCP endpoint is `http://localhost:3000/mcp`.
## Deploy
ChatGPT requires a remote HTTPS MCP endpoint. Deploy this repository on a
Node-compatible host such as Render, Railway, Fly.io or Google Cloud Run.
`render.yaml` and `Dockerfile` are included.
After deployment, the endpoint is:
```text
https://YOUR-HOST/mcp
```
## Connect in ChatGPT
1. Enable Developer mode in ChatGPT under **Settings → Apps → Advanced
settings**. Workspace permissions may require an admin/owner.
2. Choose **Settings → Apps → Create**.
3. Enter the deployed HTTPS endpoint ending in `/mcp`.
4. Choose **No authentication**.
5. Select **Scan tools**, review the three read-only tools, and create the app.
6. Start a new conversation and enable the app from the tools menu.
## Connect in Claude
**Claude Pro or Max**
1. Open Claude and go to Customize → Connectors.
2. Select + → Add custom connector.
3. Enter the deployed HTTPS endpoint ending in /mcp.
4. Leave OAuth credentials empty because the server uses no authentication.
5. Select Add to save the connector.
6. Start a new conversation.
7. Open the tools or connectors menu and enable the custom connector.
8. Ask Claude to use one of the available energy-data tools.
Example:
Fetch the CO₂ forecast and day-ahead electricity prices for DK1 and identify the best time to consume 1,000 kWh.
**Claude Team or Enterprise**
An Owner or Primary Owner must first add the connector:
1. Go to Organization settings → Connectors.
2. Select Add.
3. Hover over Custom and select Web.
4. Enter the deployed HTTPS endpoint ending in /mcp.
5. Leave the optional OAuth Client ID and Client Secret empty.
6. Select Add.
## Example requests
- "Find Energinet datasets about electricity prices."
- "Get CO2 intensity for DK1 for the past 24 hours."
- "Get records from DeclarationProduction for DK1 in January 2026."
## Operational notes
- The upstream API applies dataset-specific rate limits. Avoid polling faster
than the source dataset's update frequency.
- Generic queries are capped at 5,000 records per call.
- The server does not store user data or upstream responses.
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues