Skip to main content
Glama
Keremozdemirra

io.github.Keremozdemirra/eu-ets-mcp

installation_history

Trace one EU ETS installation by registry ID year by year, showing verified emissions, free allocation, surrendered units, exclusion flags and compliance codes.

Instructions

Year-by-year record of one installation: verified emissions (t CO2e), free allocation (allowances, 1 allowance = 1 t CO2e; derived sum of the Art. 10a(1), new entrants reserve and Art. 10c columns, which are also given), units surrendered, excluded flag, and the compliance code (A, B, C, '-', 'EXCLUDED SINCE 2021'; only for the years whose compliance file the registry offers, 2021-2024 in the 2026-09-24 snapshot). Years with no value are left out and listed in years_without_values; 0 can mean zero or nothing entered. Verified emissions after the last year with values are null; a year with few entries so far is flagged as incomplete. The same id exists in several registries: pass country or write the id as DE-69; an ambiguous id returns the candidates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countryNoregistry code such as DE, FR, PL (GB and XI for the UK and Northern Ireland), or the country name
to_yearNolast year to include
from_yearNofirst year to include
installation_idYesthe registry's installation id, e.g. 69 or DE-69

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description carries the full load and does so well: it discloses that years without values are omitted and listed in years_without_values, that 0 is ambiguous between zero and nothing entered, that post-coverage emissions are null, that sparse recent years are flagged incomplete, and that compliance codes exist only for registry-offered years (2021-2024 in a stated snapshot). That is unusually rich behavioral disclosure.

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

Conciseness4/5

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

A single dense paragraph that is front-loaded with the resource definition before edge-case semantics. Nearly every clause earns its place, though the run-on structure and parenthetical stacking make it heavier than it needs to be.

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

Completeness5/5

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

No output schema exists, so the description must describe return values and does: field meanings, the years_without_values companion list, null semantics, the incomplete flag, and compliance-code coverage windows. For a 4-parameter read tool this is complete enough to call correctly.

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 already 100%, so baseline is 3, but the description adds real meaning: it explains why country matters (the same id exists in several registries), the DE-69 id format, and the ambiguous-id behavior. from_year/to_year are not elaborated beyond the schema, keeping it from a 5.

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?

States a specific resource and scope: a year-by-year per-installation record with named fields (verified emissions, free allocation, surrendered units, excluded flag, compliance code). It is clearly distinct from search_installations by being singular and historical, but it never names or contrasts with that sibling, so it stops short of a 5.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: it explains how to disambiguate (pass country or write the id as DE-69) and what happens on ambiguity (returns candidates), but gives no explicit when-to-use-this-vs-search_installations guidance. An agent can infer the intended invocation but must reason about the alternative itself.

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