Skip to main content
Glama

eurlex_metadata

Read-onlyIdempotent

Retrieves metadata for EU legal acts (dates, status, authors, legal basis, descriptors) using a CELEX ID, ELI, or OJ reference.

Instructions

Fetches metadata for an EU legal act: dates (document, entry into force, application, end of validity, transposition), in-force status, authors, legal basis (CELEX IDs of the acts it is based on), EuroVoc descriptors, and directory codes. date_entry_into_force and date_application are distinct (e.g. the GDPR entered into force on 2016-05-24 but applies from 2018-05-25); dates_effect lists every effect date with its type. Identify the act by celex_id (e.g. "32024R1689"), by eli (e.g. "reg/2016/679" or a full ELI URL), or by oj_ref (post-2023 Official Journal reference, e.g. "OJ:L_202401689") — provide exactly one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
eliNoEuropean Legislation Identifier (ELI), short or full form, e.g. "reg/2016/679" or "http://data.europa.eu/eli/reg/2016/679/oj" (GDPR). Resolved to a CELEX ID via Cellar. Provide exactly one of celex_id, eli, or oj_ref.
oj_refNoOfficial Journal reference in the post-2023 scheme, e.g. "OJ:L_202401689" (AI Act). Resolved to a CELEX ID via Cellar. Provide exactly one of celex_id, eli, or oj_ref.
celex_idNoCELEX identifier, e.g. "32024R1689" (AI Act). Provide exactly one of celex_id, eli, or oj_ref.
languageNoLanguage of the title and EuroVoc labels, as a Cellar 3-letter code (any of the 24 official EU languages, e.g. DEU, ENG, FRA, POL, SPA)ENG

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYes
authorsYes
celex_idYes
in_forceYesIn-force status, or null when unknown
eurlex_urlYes
legal_basisYesCELEX IDs of the acts this act is based on
dates_effectYesAll entry-into-force and application dates Cellar holds for the act, ascending, each with its type and article note. Empty when Cellar holds none.
date_documentYesISO date, or null when absent
resource_typeYes
directory_codesYesDirectory-code entries as "{code}: {label}", or the bare code when unlabelled
date_applicationYesISO date from which the act (or its remaining provisions) applies, or null when the act has no separate application date or the type could not be determined
eurovoc_conceptsYes
date_transpositionYesISO date, or null when absent
date_end_of_validityYesISO date, or null when absent or the open-ended 9999-12-31 sentinel
date_entry_into_forceYesISO date the act entered into force, or null when absent. Distinct from date_application: e.g. the GDPR entered into force on 2016-05-24 but applies from 2018-05-25. See dates_effect for every date Cellar holds.

Schema Changelog

Changes observed during successful MCP inspections.

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

TDQS

A4.4/5.0
Behavior4/5

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

The description is transparent about the resolution behavior ('Resolved to a CELEX ID via Cellar') and it is consistent with the readOnlyHint, idempotentHint, and destructiveHint annotations. It does not hide side effects or claim mutating behavior.

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?

The description is well organized and informative, but it repeats 'Provide exactly one of celex_id, eli, or oj_ref' in each identifier parameter description. This is a minor redundancy rather than a structural problem.

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?

Given the output schema is available, the description does not need to enumerate return fields. It covers all invocation inputs, gives realistic examples, and states the language default, making it sufficient for an agent to call the tool correctly.

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

Parameters5/5

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

The input schema already covers all four parameters, and the description adds valuable meaning: concrete examples for each identifier type, the exact-one-of constraint, and clarification that language controls title and EuroVoc labels. This goes beyond the schema descriptions.

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 opens with 'Fetches metadata for an EU legal act', which is a specific verb and resource. It clearly enumerates the metadata types (dates, in-force status, authors, legal basis, EuroVoc descriptors, directory codes) and distinguishes this from a full-text fetch or search tool.

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 clear context on how to invoke the tool: identify an act by celex_id, eli, or oj_ref and provide exactly one, with optional language. It does not explicitly name sibling tools or state when not to use it, but the lookup semantics are sufficiently clear from the wording.

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