Skip to main content
Glama

eurlex_consolidated

Read-onlyIdempotent

Retrieve the consolidated, currently in-force text of an EU legal act by providing its CELEX ID or document type, year, and number.

Instructions

Fetches the latest consolidated (currently in-force) version of an EU legal act via ELI, with all amendments merged in. Identify the act with celex_id (e.g. "32016R0679") OR with doc_type + year + number — provide exactly one of the two. celex_id must be a sector-3 secondary-law CELEX (3YYYY[R|L|D]NNNN).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNoYear of the act, e.g. 2024. Required together with doc_type and number when celex_id is not used.
formatNoOutput format: xhtml=structured XHTML, plain=text with XHTML tags strippedxhtml
numberNoDocument number, e.g. 1689. Required together with doc_type and year when celex_id is not used.
offsetNoCharacter offset for pagination (0-based)
celex_idNoCELEX ID of the original act, e.g. "32016R0679" (GDPR). Alternative to doc_type + year + number — provide exactly one of the two input forms. Must be a sector-3 secondary-law CELEX (pattern 3YYYY[R|L|D]NNNN).
doc_typeNoDocument type: reg=regulation, dir=directive, dec=decision. Alternative to celex_id — provide together with year and number.
languageNoLanguage of the returned text, as a Cellar 3-letter code (any of the 24 official EU languages, e.g. DEU, ENG, FRA, POL, SPA)ENG
max_charsNoMaximum number of characters returned

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearYes
numberYes
offsetYesThe offset this window was sliced from
contentYesThe consolidated text in the requested window/format
eli_urlYesELI URL of the consolidated act
doc_typeYes
languageYes
truncatedYesTrue when more text remains beyond this window
next_offsetYesOffset to request next, or null when there is no more content
total_charsYesLength of the full processed document
returned_charsYesLength of `content`
consolidated_celexYesResolved consolidated CELEX, e.g. "02016R0679-20160504"
consolidation_dateYesISO date from the CELEX "-YYYYMMDD" suffix, or null when absent

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.4.2
  2. Removedv2.3.0
  3. First observedv2.2.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint=false, establishing safety. The description adds that it merges amendments, which is a behavioral detail. It does not mention pagination or error behavior, but those are not required given the strong annotation coverage. No contradictions with annotations are present.

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?

The description is three concise sentences with no filler. It front-loads the main action, then explains identification requirements and the CELEX pattern. Every sentence contributes useful information without redundancy.

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?

Given the tool's complexity (8 parameters, two mutually exclusive input forms), the description covers the essential usage constraints and the output context is handled by the existing output schema. It does not need to explain return values because an output schema is present. The description is complete for an agent to correctly invoke the tool.

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 descriptions cover 100% of parameters, including enums and patterns. The description adds the key constraint that celex_id and doc_type+year+number are mutually exclusive ('provide exactly one of the two') and clarifies the CELEX format as '3YYYY[R|L|D]NNNN,' which goes beyond the schema pattern. This enhances the parameter semantics.

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

Purpose5/5

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

The description clearly states it 'Fetches the latest consolidated (currently in-force) version of an EU legal act via ELI, with all amendments merged in.' It uses a specific verb and resource, and the title 'Get consolidated EU legal act' reinforces the purpose. It is distinguishable from siblings like eurlex_fetch or eurlex_metadata, which focus on other aspects.

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?

The description gives concrete usage guidance by specifying the two identification forms (celex_id or doc_type+year+number) and the requirement to 'provide exactly one of the two.' It also explains the CELEX pattern. However, it does not explicitly contrast with sibling tools (e.g., when to use this vs. eurlex_fetch for non-consolidated versions), which would make the guidance more explicit.

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