Skip to main content
Glama

Energi Data Dk

Query Dataset

query_dataset
Read-onlyIdempotent

Generic escape hatch for any of the ~100 Energi Data Service (Energinet, Denmark) datasets. Examples: "ProductionConsumptionSettlement" (production/consumption by type per area+hour), "CO2EmisProg" (CO2 prognosis), "DayAheadPrices", "CO2Emis". Returns the raw records array for the dataset. Keyless official open data.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "limit": 20,
      "dataset": "ProductionConsumptionSettlement"
    },
    "name": "query_dataset"
  }
}

Input Schema

NameRequiredDescriptionDefault
endNoISO date/time upper bound.
sortNoSort expression, e.g. "HourUTC DESC".
limitNoMax records (default 20).
startNoISO date/time lower bound.
filterNoColumn→value[] filter, e.g. {"PriceArea":["DK1"]}. Values are arrays.
datasetYesDataset name, e.g. "ProductionConsumptionSettlement".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "dataset": "ProductionConsumptionSettlement",
      +    "limit": 20
      +  },
      +  {
      +    "dataset": "Elspotprices",
      +    "end": "2026-06-02",
      +    "filter": {
      +      "PriceArea": [
      +        "DK1",
      +        "DK2"
      +      ]
      +    },
      +    "start": "2026-06-01"
      +  }
      +]
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and openWorld, so the safety profile is covered. The description adds genuinely new behavioral context: 'Keyless official open data' (no auth required) and that the output is the raw records array rather than a normalized payload. It doesn't mention rate limits or pagination behavior beyond the limit param, keeping it out of 5 territory.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the escape-hatch framing, then concrete examples, then the return contract and auth note. Zero filler; every clause carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a keyless open-data query tool with a fully described schema and no output schema, the description covers the essentials: what it returns, that no auth is needed, and how to name datasets. The remaining gap is discovery — with ~100 datasets and no field listing, an agent has no stated way to find valid dataset names or columns other than guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all six parameters are already documented and the baseline is 3. The description earns above baseline because it annotates what dataset identifiers actually mean semantically (e.g. 'production/consumption by type per area+hour'), which the schema only hints at via a single example string.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource concretely (Energi Data Service datasets from Energinet, Denmark) and states the return contract ('raw records array'), which is far beyond restating the name. The 'generic escape hatch for any of the ~100 datasets' framing plus four concrete dataset examples makes the scope unambiguous. It stops just short of a 5 because it never explicitly contrasts itself with the specialized siblings (spot_prices, co2_intensity) that cover overlapping data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Generic escape hatch' is real routing guidance: use this when you need an arbitrary dataset rather than a purpose-built tool. The named example datasets give an agent a foothold for knowing what this tool is for. However, there is no explicit when-not, no pointers to the specialized siblings that should be preferred for prices/CO2, and no guidance on how to discover dataset or column names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.