Skip to main content
Glama

Lex — Temporal Luxembourg and EU Law

Server Details

Temporal search and comparison for official Luxembourg and reviewed EU law, with provenance.

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL
Repository
SFHAJJI/lex
GitHub Stars
9
Server Listing
Lex: Luxembourg Law MCP Server

TDQS

A3.6/5.0

Scored across 10 tools

Disambiguation2/5

Several tools cluster around temporal/version semantics—article_history, timeline, diff, changes_in_period, as_of, and in_force_on—with subtle boundaries. Although the descriptions specify distinct granularities, an agent could easily misselect between timeline and article_history or between as_of and in_force_on.

Naming Consistency3/5

All names are lowercase snake_case, but the set mixes bare nouns (coverage, timeline, provenance), verb phrases (search, changes_in_period), and prepositional phrases (as_of, in_force_on). There is no consistent verb_noun pattern, though the names remain readable and mostly indicative of their purpose.

Tool Count5/5

Ten tools is a well-scoped size for a specialized legal-temporal corpus. Each tool covers a distinct workflow—search, retrieval, history, diff, aggregate changes, citations, coverage, provenance—so the count feels justified rather than bloated or thin.

Completeness4/5

The surface covers the full temporal lifecycle: search, point-in-time lookup, article/document history, diff, aggregate change reporting, in-force semantics, reverse citations, coverage gaps, and provenance. A minor gap is the lack of an explicit document metadata or browse/list endpoint, but search plus as_of and timeline covers most workflows.

Available Tools

10 tools
article_historyAInspect

Every distinct text ONE provision (article/annex) has had on its publisher timeline, plus lifecycle events (inserted/removed/renumbered, renumbering detected mechanically by identical text hash). Read timeline_semantics before calling an interval legal applicability. Answers "what did Article X say over its life / when did it change".

ParametersJSON Schema
NameRequiredDescriptionDefault
workYesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first.
anchorYesprovision anchor, e.g. art_1er (find it via search or as_of mode=outline)
to_dateNooptional ISO date: keep only the states that began on or before it
languageNooptional language code; defaults to the work's primary derived language
from_dateNooptional ISO date: keep only the states in force at or after it
publisherNopublisher id; required when work is not publisher-qualified

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the tool's scope (single provision), includes lifecycle events (inserted/removed/renumbered), and notes the mechanical renumbering detection via identical text hash. This provides meaningful behavioral context beyond the schema, though it does not mention return format or error handling.

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 two sentences and front-loaded with the core function. The first sentence is somewhat dense, and the advice about reading timeline_semantics adds tangential context, but overall each sentence earns its place and the length is appropriate for the tool's complexity.

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

Completeness3/5

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

Given no output schema and no annotations, the description gives a reasonable mental model (returns distinct texts and lifecycle events) but does not specify the exact return structure, pagination, or optional parameter interactions. It is adequate but leaves the agent to infer some details about the response format and edge cases.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds some context by emphasizing 'ONE provision' and the article-focused question, which helps understand the 'anchor' parameter, but it does not provide additional parameter-level detail beyond what the schema already documents.

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 uses a specific verb ('has had') and identifies the resource (ONE provision's text and lifecycle events). It clearly answers the intended question, 'what did Article X say over its life / when did it change', and distinguishes from siblings like timeline by focusing on a single provision's history.

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 provides a clear use case (answering questions about a provision's historical text and change times) and preceding guidance about reading timeline_semantics for interval legal applicability. However, it does not explicitly name alternative tools for when not to use it, stopping short of full exclusion guidance.

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

as_ofAInspect

The state of one document as it stood on one date. Pure lookup, no ranking. mode=outline lists provisions without text and may be narrowed with anchors; mode=select returns only the named anchors' text; mode=full (default) returns the whole text. Every provision carries its own permalink and hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesISO date YYYY-MM-DD
modeNofull | outline | select (default full)
workYesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first.
anchorsNooptional comma-separated provision anchors for mode=outline; required for mode=select, e.g. art_1er,art_33
languageNooptional language code, e.g. fr
publisherNopublisher id; required when work is not publisher-qualified
version_keyNooptional opaque key returned by timeline or an ambiguous_version choice

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool is a pure lookup with no ranking, explains the behavior of each mode (outline, select, full), the default mode, and mentions that every provision carries a permalink and hash. It lacks error-handling and authorization details, but for a read-only lookup this is transparent enough.

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 two sentences long and tightly packed with essential information. It front-loads the core purpose, then efficiently explains modes and output characteristics without any filler.

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?

There is no output schema, but the description explains what is returned in each mode (whole text, outline, selected anchors' text) and notes the permalink/hash. It covers the main usage scenarios and parameter behavior, though error cases or special conditions are not mentioned. For a lookup tool with full schema coverage, this is sufficiently complete.

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 coverage is 100%, so the baseline is 3. The description adds significant meaning beyond the schema by explaining the semantics of 'mode' and 'anchors' (e.g., what outline vs. select returns, how anchors narrow results), which is not fully captured in 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 states the tool returns 'the state of one document as it stood on one date', which is a specific verb (lookup) and resource (document at a date). It also distinguishes from search/ranking by explicitly saying 'Pure lookup, no ranking.' This clearly differentiates it from sibling tools like search or timeline.

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 provides clear context for when to use the tool (historical document snapshot) and explains the different modes and anchoring, which guides usage. However, it does not explicitly name alternative tools or state when not to use this tool, so it falls short of a full 5.

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

changes_in_periodAInspect

ACROSS the corpus: which works gained new versions between two dates, how many each, and when — the aggregate counterpart of diff/timeline (which cover ONE work). Use for "what changed between 2025 and 2026", "which laws changed most during the pandemic", "what moved last month". order=by_churn ranks by number of new versions; by_date (default) lists most recently changed first.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNodefault 20
orderNoby_date (default) or by_churn
domainNolegacy domain filter; current v4 indexes leave it empty
offsetNoskip this many, for paging
to_dateYesISO date, end of window (inclusive)
act_formNooptional legal act form
languageNooptional language code
from_dateYesISO date, start of window (inclusive)
hierarchyNooptional normalized legal hierarchy
publisherNooptional publisher id
jurisdictionNooptional jurisdiction code from index metadata, e.g. LU or EU
source_classNooptional source document class; alias of document_type
document_typeNooptional source document class(es), comma-separated; prefix with ! to exclude, e.g. !RECUEIL,!CODE_RECUEIL for instruments only
binding_statusNooptional binding status

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are present, so the description carries the full burden. It discloses the aggregate behavior, ordering semantics (by_date vs by_churn), and implies read-only operation. It doesn't discuss side effects or pagination, but no side effects are expected and limit/offset are documented in the schema.

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?

Four sentences cover scope, result semantics, sibling differentiation, example queries, and ordering behavior. Every sentence contributes unique information with no filler or repetition.

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?

With 14 parameters and no output schema, the description provides the essential context: what the tool does, when to use it, and how ordering works. It doesn't explicitly mention pagination, but limit/offset are well-described in the schema. The description is sufficient for an agent to select and invoke the tool 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 coverage is 100%, providing a baseline of 3. The description adds value by explaining the order parameter's values and default, and giving real-world examples that clarify how the parameters are used together. It avoids repeating 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 explicitly states the tool identifies 'which works gained new versions between two dates, how many each, and when' and contrasts it with diff/timeline which cover ONE work. This clearly distinguishes it from sister tools and defines the resource and action.

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

Usage Guidelines5/5

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

It provides concrete example queries ('what changed between 2025 and 2026', 'which laws changed most during the pandemic') and explicitly names diff/timeline as alternatives for single-work queries, giving clear when-to-use and when-not-to-use guidance.

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

cited_byAInspect

Which held provision versions contain captured publisher cross-references to this work. This reverse lookup reports the publisher references Lex captured; it does not classify their relationship type or assess current legal effect.

ParametersJSON Schema
NameRequiredDescriptionDefault
workYesthe law being cited, e.g. lu-legilux:loi-2020-06-04-a476
limitNodefault 50

TDQS

A4/5.0
Behavior4/5

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

No annotations are present, so the description must disclose behavior itself. It states that the tool 'reports the publisher references Lex captured' and explicitly notes what it does NOT do (classify or assess legal effect), which is valuable context. However, it does not mention other behavioral traits such as authentication requirements or rate limits, but for a read-only lookup this is reasonably transparent.

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?

Two sentences, front-loaded with the core purpose, and the second sentence clarifies limitations without unnecessary detail. Every word contributes value.

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 simple lookup tool with no output schema, the description communicates both the result scope (held provision versions with publisher references) and its limitations. It lacks a concrete example or mention of pagination behavior, but the mention of 'captured publisher cross-references' provides sufficient context for an agent to select the tool.

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

Parameters3/5

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

Schema descriptions cover both parameters completely ('the law being cited' for work, 'default 50' for limit). The description adds no new parameter-specific guidance, but the baseline 3 applies given high schema coverage.

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 a specific query: 'Which held provision versions contain captured publisher cross-references to this work,' clearly identifying the tool as a reverse citation lookup. It distinguishes this from sibling tools by emphasizing 'reverse lookup' and its focus on publisher references.

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?

The description implies usage (reverse citation lookup) but does not explicitly state when to prefer it over alternatives or when not to use it. It does provide a limitation ('does not classify relationship type or assess current legal effect'), which hints at scope, but lacks explicit alternative comparisons.

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

coverageAInspect

What we hold and what we lack, tier by tier: counts, date ranges, history_begins, known gaps. This tool exists to say what we do NOT have.

ParametersJSON Schema
NameRequiredDescriptionDefault
publisherNooptional publisher id

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description is the only source of behavioral information. It does disclose return contents (counts, date ranges, history_begins, known gaps) and the tool's focus on missing data. However, it does not explain how the optional publisher filter affects results, what 'tier by tier' means, or any limitations/formatting.

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 concise at two sentences and includes useful specifics in the first sentence. However, it is slightly poetic ('tier by tier') and could be more direct, but it still earns its place without unnecessary fluff.

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

Completeness3/5

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

Given the tool's simplicity (1 optional parameter, no annotations, no output schema), the description provides a reasonable overview but leaves gaps: it does not clarify the meaning of 'history_begins', how publisher filtering narrows results, or the grouping by tier. More detail would improve completeness.

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

Parameters3/5

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

The schema already documents the single optional parameter ('publisher' with description 'optional publisher id'), and schema description coverage is 100%. The description adds no additional meaning about how the publisher parameter is used, so a baseline of 3 is appropriate.

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 the tool's purpose: to report coverage (what we hold and lack) with specific output types (counts, date ranges, history_begins, known gaps). It distinguishes itself from siblings by explicitly focusing on gaps (what we do NOT have).

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?

The description implies usage for checking coverage gaps ('This tool exists to say what we do NOT have'), but it does not explicitly state when to use it versus alternatives or mention any exclusions. No sibling comparisons are provided.

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

diffBInspect

What changed between two dates for one work: which publisher versions cover the selected dates and, where both texts are held, retrieve them via as_of to compare. An optional held article anchor scopes the typed comparison workspace. Read timeline_semantics before describing legal applicability.

ParametersJSON Schema
NameRequiredDescriptionDefault
workYesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first.
anchorNooptional held provision anchor returned by search, e.g. art_92
to_dateYesISO date
languageNolanguage code
from_dateYesISO date
publisherNopublisher id; required when work is not publisher-qualified
to_version_keyNooptional opaque key returned by timeline or an ambiguous_version choice
from_version_keyNooptional opaque key returned by timeline or an ambiguous_version choice

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool retrieves texts 'via as_of' and that an anchor 'scopes the typed comparison workspace,' which adds some behavioral context. However, it does not state whether this is a read-only operation, describe side effects, or explain behavior when texts are not held or no versions match.

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 two sentences and front-loads the core purpose. The second sentence is dense, incorporating references to as_of and timeline_semantics, but there is no filler. It earns a 4 rather than 5 due to the slightly convoluted phrasing of the second sentence.

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

Completeness3/5

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

The tool has 8 parameters, no output schema, and no annotations, so the description must carry significant weight. It gives a solid overview of the diff operation and mentions prerequisites, but it does not cover parameter relationships (e.g., when publisher is required) or edge cases (e.g., no versions found). It also does not sufficiently differentiate from the sibling 'changes_in_period.'

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds minor semantic context by referring to the 'anchor' as a 'held article anchor' and mentioning 'typed comparison workspace,' but it does not provide meaningful additional meaning for most parameters (e.g., to_version_key, from_version_key, language) beyond what the schema already includes.

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 clearly states the tool's purpose: 'What changed between two dates for one work' and explains that it identifies publisher versions covering the dates and retrieves them via as_of for comparison. This is a specific verb+resource. However, it does not explicitly distinguish the tool from the similar sibling 'changes_in_period', so it falls short of a perfect 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?

The description implies usage when comparing two dates for a single work, and includes a crucial instruction: 'Read timeline_semantics before describing legal applicability.' However, it does not explicitly state when to use this tool versus alternatives like as_of or changes_in_period, nor does it provide exclusion criteria. Guidance is only implied.

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

in_force_onAInspect

Compatibility name for publisher states covering a date, computed from timeline intervals and deduplicated by work. Legilux states describe applicability; EUR-Lex states are official consolidated wording states and must not be called entry into force. Every envelope carries timeline_semantics and the result carries a mandatory population disclosure.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesISO date
limitNodefault 50
domainNolegacy domain filter; current v4 indexes leave it empty
offsetNopagination offset
act_formNooptional legal act form
languageNooptional language code
hierarchyNooptional normalized legal hierarchy
publisherNooptional publisher id, e.g. lu-legilux
jurisdictionNooptional jurisdiction code from index metadata, e.g. LU or EU
source_classNooptional source document class
document_typeNobackward-compatible source document class filter
binding_statusNooptional binding status

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses computation from timeline intervals, deduplication by work, envelope timeline_semantics, and a mandatory population disclosure in the result. This adds valuable behavioral context, though it omits potential error conditions or rate limits.

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 concise but dense, packing important behavior into two sentences. While a bit jargon-heavy (e.g., 'timeline_semantics', 'population disclosure'), it is structured efficiently and front-loads the primary purpose.

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

Completeness3/5

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

The tool has 12 parameters and no output schema, so the description should compensate by explaining result shape more fully. It mentions envelope and population disclosure but does not detail response structure, error scenarios, or examples. The description is useful but incomplete for an agent expected to invoke this correctly.

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

Parameters3/5

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

The input schema provides 100% coverage with descriptions for all parameters. The tool description does not add parameter-level meaning beyond what the schema already states, so the baseline score of 3 is appropriate.

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 the tool's purpose: returning publisher states covering a date, computed from timeline intervals and deduplicated by work. It also distinguishes key nuances (Legilux vs EUR-Lex), which helps differentiate it from related operations like as_of or timeline.

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?

The description gives some usage context (e.g., EUR-Lex states must not be called entry into force) but does not explicitly state when to use this tool over siblings like as_of or coverage. Alternatives are not named or contrasted, leaving the agent to infer use cases.

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

provenanceAInspect

Proof chain for one lex_id: source URI, retrieval time, record/body hashes, event chain, corpus commit, index build, stamp signature.

ParametersJSON Schema
NameRequiredDescriptionDefault
lex_idYesfull lex_id
languageNooptional

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does this well by detailing what the proof chain contains, including source URI, retrieval time, hashes, event chain, corpus commit, index build, and stamp signature. This tells the agent what to expect in the response, though it does not explicitly state side-effect-freedom or failure behavior.

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 a single, compact sentence that front-loads the core purpose ('Proof chain for one lex_id') and then efficiently lists the output components in a colon-separated sequence. Every element adds useful information, with no filler or redundancy.

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 tool's moderate complexity (2 params, no output schema, no annotations), the description provides a solid inventory of return values, which is sufficient for a straightforward lookup tool. It lacks usage guidance and deeper behavioral notes, but the enumerated components largely compensate for the absence of an output schema. Sibling tool names also help contextualize its role.

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

Parameters3/5

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

The input schema already provides descriptions for both parameters (lex_id as 'full lex_id' and language as 'optional'), achieving 100% coverage. The description adds minimal parameter-level meaning beyond confirming the lookup is for a single lex_id; it does not explain how 'language' affects the proof chain or whether it is required for certain lex_id formats.

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 clearly identifies the tool's output as a 'proof chain' for a single lex_id and enumerates the specific components (source URI, hashes, event chain, etc.). This distinguishes it from siblings like 'article_history' or 'timeline' by focusing on verifiable provenance rather than general history. However, it lacks a strong action verb (e.g., 'retrieves' or 'generates'), so it reads more as an output description than an operation.

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?

The phrase 'for one lex_id' implies the tool is intended for per-identifier provenance lookup, which provides some usage context. But there is no explicit guidance on when to prefer this over siblings like 'coverage' or 'article_history', nor any mention of exclusions or alternative tools.

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

timelineAInspect

Every publisher state a document has been in: timeline intervals, version keys, and explicit timeline_semantics. Legilux intervals describe applicability; EUR-Lex intervals describe official consolidated wording states, not entry into force.

ParametersJSON Schema
NameRequiredDescriptionDefault
workYesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first.
limitNomax versions (default 100)
offsetNopagination offset
publisherNopublisher id; required when work is not publisher-qualified

TDQS

A3.7/5.0
Behavior4/5

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

No annotations are present, so the description takes on the transparency burden. It adds valuable behavioral nuance by distinguishing Legilux intervals (applicability) from EUR-Lex intervals (consolidated wording, not entry into force), which is non-obvious and essential for interpretation.

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 exactly two sentences, front-loaded with the core purpose and followed by a crucial semantic clarification. Every word earns its place with no redundancy.

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

Completeness3/5

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

Without an output schema or annotations, the description must explain return values and context. It lists key output components and a critical semantic caveat, but it does not describe interval structure, ordering, or relationship to sibling tools, leaving notable gaps for a nuanced legal-history tool.

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

Parameters3/5

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

The input schema provides exhaustive descriptions for all four parameters, including format details for 'work' and pagination for 'limit'/'offset'. The description itself adds no parameter-level information, matching the baseline for 100% schema coverage.

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 clearly states the tool surfaces every publisher state a document has been in, with timeline intervals, version keys, and timeline_semantics. It is specific and informative, though the verb is implicit and sibling differentiation is not explicit.

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?

The description implies the tool is used to retrieve a document's state history and provides important interval semantics, but it does not explicitly say when to use this tool versus siblings like article_history or provenance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • Changedarticle_history2 fields changed
      • addedInput schema / properties / from_date
        Added value: +{
        +  "description": "optional ISO date: keep only the states in force at or after it",
        +  "maxLength": 10,
        +  "minLength": 1,
        +  "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$",
        +  "type": "string"
        +}
      • addedInput schema / properties / to_date
        Added value: +{
        +  "description": "optional ISO date: keep only the states that began on or before it",
        +  "maxLength": 10,
        +  "minLength": 1,
        +  "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$",
        +  "type": "string"
        +}
    • Changedas_of3 fields changed
      • addedInput schema / allOf
        Added value: +[
        +  {
        +    "if": {
        +      "properties": {
        +        "mode": {
        +          "const": "select"
        +        }
        +      },
        +      "required": [
        +        "mode"
        +      ]
        +    },
        +    "then": {
        +      "required": [
        +        "anchors"
        +      ]
        +    }
        +  }
        +]
      • changedInput schema / properties / date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • addedInput schema / properties / version_key
        Added value: +{
        +  "description": "optional opaque key returned by timeline or an ambiguous_version choice",
        +  "maxLength": 128,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedchanges_in_period3 fields changed
      • changedInput schema / properties / domain / description
        Previous value: -"optional reviewed legal domain"New value: +"legacy domain filter; current v4 indexes leave it empty"
      • changedInput schema / properties / from_date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • changedInput schema / properties / to_date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
    • Changeddiff4 fields changed
      • changedInput schema / properties / from_date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • addedInput schema / properties / from_version_key
        Added value: +{
        +  "description": "optional opaque key returned by timeline or an ambiguous_version choice",
        +  "maxLength": 128,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / properties / to_date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • addedInput schema / properties / to_version_key
        Added value: +{
        +  "description": "optional opaque key returned by timeline or an ambiguous_version choice",
        +  "maxLength": 128,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedin_force_on2 fields changed
      • changedInput schema / properties / date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • changedInput schema / properties / domain / description
        Previous value: -"optional reviewed legal domain"New value: +"legacy domain filter; current v4 indexes leave it empty"
    • Changedsearch4 fields changed
      • addedInput schema / allOf
        Added value: +[
        +  {
        +    "if": {
        +      "properties": {
        +        "time_scope": {
        +          "const": "as_of"
        +        }
        +      },
        +      "required": [
        +        "time_scope"
        +      ]
        +    },
        +    "then": {
        +      "required": [
        +        "as_of"
        +      ]
        +    }
        +  }
        +]
      • changedInput schema / properties / as_of / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • changedInput schema / properties / domain / description
        Previous value: -"optional reviewed legal domain id"New value: +"legacy domain id filter; current v4 indexes leave it empty; use publisher_metadata_identifier for official classifications"
      • addedInput schema / properties / publisher_metadata_identifier
        Added value: +{
        +  "description": "optional exact official publisher-metadata URI returned by a search hit",
        +  "maxLength": 2048,
        +  "minLength": 1,
        +  "pattern": "^https?://",
        +  "type": "string"
        +}
  2. 10 tool updates
    • Changedarticle_history9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / anchor / maxLength
        Added value: +512
      • addedInput schema / properties / anchor / minLength
        Added value: +1
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / publisher
        Added value: +{
        +  "description": "publisher id; required when work is not publisher-qualified",
        +  "maxLength": 64,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / properties / work / description
        Previous value: -"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first."New value: +"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first."
      • addedInput schema / properties / work / maxLength
        Added value: +1000
      • addedInput schema / properties / work / minLength
        Added value: +1
    • Changedas_of15 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / anchors / maxLength
        Added value: +1000
      • addedInput schema / properties / anchors / minLength
        Added value: +1
      • addedInput schema / properties / date / maxLength
        Added value: +10
      • addedInput schema / properties / date / minLength
        Added value: +1
      • addedInput schema / properties / date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / mode / enum
        Added value: +[
        +  "full",
        +  "outline",
        +  "select"
        +]
      • addedInput schema / properties / mode / maxLength
        Added value: +64
      • addedInput schema / properties / mode / minLength
        Added value: +1
      • addedInput schema / properties / publisher
        Added value: +{
        +  "description": "publisher id; required when work is not publisher-qualified",
        +  "maxLength": 64,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / properties / work / description
        Previous value: -"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first."New value: +"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first."
      • addedInput schema / properties / work / maxLength
        Added value: +1000
      • addedInput schema / properties / work / minLength
        Added value: +1
    • Changedchanges_in_period32 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / act_form / maxLength
        Added value: +1000
      • addedInput schema / properties / act_form / minLength
        Added value: +1
      • addedInput schema / properties / binding_status / maxLength
        Added value: +1000
      • addedInput schema / properties / binding_status / minLength
        Added value: +1
      • addedInput schema / properties / document_type / maxLength
        Added value: +1000
      • addedInput schema / properties / document_type / minLength
        Added value: +1
      • addedInput schema / properties / domain / maxLength
        Added value: +1000
      • addedInput schema / properties / domain / minLength
        Added value: +1
      • addedInput schema / properties / from_date / maxLength
        Added value: +10
      • addedInput schema / properties / from_date / minLength
        Added value: +1
      • addedInput schema / properties / from_date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • addedInput schema / properties / hierarchy / maxLength
        Added value: +1000
      • addedInput schema / properties / hierarchy / minLength
        Added value: +1
      • addedInput schema / properties / jurisdiction / maxLength
        Added value: +64
      • addedInput schema / properties / jurisdiction / minLength
        Added value: +1
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / limit / maximum
        Added value: +100
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / offset / maximum
        Added value: +100000
      • addedInput schema / properties / offset / minimum
        Added value: +0
      • addedInput schema / properties / order / enum
        Added value: +[
        +  "by_date",
        +  "by_churn"
        +]
      • addedInput schema / properties / order / maxLength
        Added value: +64
      • addedInput schema / properties / order / minLength
        Added value: +1
      • addedInput schema / properties / publisher / maxLength
        Added value: +64
      • addedInput schema / properties / publisher / minLength
        Added value: +1
      • addedInput schema / properties / source_class / maxLength
        Added value: +1000
      • addedInput schema / properties / source_class / minLength
        Added value: +1
      • addedInput schema / properties / to_date / maxLength
        Added value: +10
      • addedInput schema / properties / to_date / minLength
        Added value: +1
      • addedInput schema / properties / to_date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
    • Changedcited_by5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / limit / maximum
        Added value: +100
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / work / maxLength
        Added value: +1000
      • addedInput schema / properties / work / minLength
        Added value: +1
    • Changedcoverage3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / publisher / maxLength
        Added value: +64
      • addedInput schema / properties / publisher / minLength
        Added value: +1
    • Changeddiff15 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / anchor / maxLength
        Added value: +512
      • addedInput schema / properties / anchor / minLength
        Added value: +1
      • addedInput schema / properties / from_date / maxLength
        Added value: +10
      • addedInput schema / properties / from_date / minLength
        Added value: +1
      • addedInput schema / properties / from_date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / publisher
        Added value: +{
        +  "description": "publisher id; required when work is not publisher-qualified",
        +  "maxLength": 64,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / to_date / maxLength
        Added value: +10
      • addedInput schema / properties / to_date / minLength
        Added value: +1
      • addedInput schema / properties / to_date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • changedInput schema / properties / work / description
        Previous value: -"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first."New value: +"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first."
      • addedInput schema / properties / work / maxLength
        Added value: +1000
      • addedInput schema / properties / work / minLength
        Added value: +1
    • Changedin_force_on26 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / act_form / maxLength
        Added value: +1000
      • addedInput schema / properties / act_form / minLength
        Added value: +1
      • addedInput schema / properties / binding_status / maxLength
        Added value: +1000
      • addedInput schema / properties / binding_status / minLength
        Added value: +1
      • addedInput schema / properties / date / maxLength
        Added value: +10
      • addedInput schema / properties / date / minLength
        Added value: +1
      • addedInput schema / properties / date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • addedInput schema / properties / document_type / maxLength
        Added value: +1000
      • addedInput schema / properties / document_type / minLength
        Added value: +1
      • addedInput schema / properties / domain / maxLength
        Added value: +1000
      • addedInput schema / properties / domain / minLength
        Added value: +1
      • addedInput schema / properties / hierarchy / maxLength
        Added value: +1000
      • addedInput schema / properties / hierarchy / minLength
        Added value: +1
      • addedInput schema / properties / jurisdiction / maxLength
        Added value: +64
      • addedInput schema / properties / jurisdiction / minLength
        Added value: +1
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / limit / maximum
        Added value: +100
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / offset / maximum
        Added value: +100000
      • addedInput schema / properties / offset / minimum
        Added value: +0
      • addedInput schema / properties / publisher / maxLength
        Added value: +64
      • addedInput schema / properties / publisher / minLength
        Added value: +1
      • addedInput schema / properties / source_class / maxLength
        Added value: +1000
      • addedInput schema / properties / source_class / minLength
        Added value: +1
    • Changedprovenance5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / lex_id / maxLength
        Added value: +1000
      • addedInput schema / properties / lex_id / minLength
        Added value: +1
    • Changedsearch35 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / act_form / maxLength
        Added value: +1000
      • addedInput schema / properties / act_form / minLength
        Added value: +1
      • addedInput schema / properties / as_of / maxLength
        Added value: +10
      • addedInput schema / properties / as_of / minLength
        Added value: +1
      • addedInput schema / properties / as_of / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • addedInput schema / properties / binding_status / maxLength
        Added value: +1000
      • addedInput schema / properties / binding_status / minLength
        Added value: +1
      • addedInput schema / properties / document_type / maxLength
        Added value: +1000
      • addedInput schema / properties / document_type / minLength
        Added value: +1
      • addedInput schema / properties / domain / maxLength
        Added value: +1000
      • addedInput schema / properties / domain / minLength
        Added value: +1
      • addedInput schema / properties / fuzzy / enum
        Added value: +[
        +  "auto",
        +  "off"
        +]
      • addedInput schema / properties / fuzzy / maxLength
        Added value: +64
      • addedInput schema / properties / fuzzy / minLength
        Added value: +1
      • addedInput schema / properties / hierarchy / maxLength
        Added value: +1000
      • addedInput schema / properties / hierarchy / minLength
        Added value: +1
      • addedInput schema / properties / jurisdiction / maxLength
        Added value: +64
      • addedInput schema / properties / jurisdiction / minLength
        Added value: +1
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / publisher / maxLength
        Added value: +64
      • addedInput schema / properties / publisher / minLength
        Added value: +1
      • addedInput schema / properties / query / maxLength
        Added value: +1000
      • addedInput schema / properties / query / minLength
        Added value: +1
      • addedInput schema / properties / retrieval_mode / enum
        Added value: +[
        +  "keyword",
        +  "hybrid"
        +]
      • addedInput schema / properties / retrieval_mode / maxLength
        Added value: +64
      • addedInput schema / properties / retrieval_mode / minLength
        Added value: +1
      • addedInput schema / properties / source_class / maxLength
        Added value: +1000
      • addedInput schema / properties / source_class / minLength
        Added value: +1
      • addedInput schema / properties / time_scope / enum
        Added value: +[
        +  "all_versions",
        +  "as_of"
        +]
      • addedInput schema / properties / time_scope / maxLength
        Added value: +64
      • addedInput schema / properties / time_scope / minLength
        Added value: +1
      • addedInput schema / properties / works / maxLength
        Added value: +1000
      • addedInput schema / properties / works / minLength
        Added value: +1
    • Changedtimeline9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / limit / maximum
        Added value: +200
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / offset / maximum
        Added value: +100000
      • addedInput schema / properties / offset / minimum
        Added value: +0
      • addedInput schema / properties / publisher
        Added value: +{
        +  "description": "publisher id; required when work is not publisher-qualified",
        +  "maxLength": 64,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / properties / work / description
        Previous value: -"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first."New value: +"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first."
      • addedInput schema / properties / work / maxLength
        Added value: +1000
      • addedInput schema / properties / work / minLength
        Added value: +1
  3. 1 tool update
    • Changeddiff1 field changed
      • addedInput schema / properties / anchor
        Added value: +{
        +  "description": "optional held provision anchor returned by search, e.g. art_92",
        +  "type": "string"
        +}
  4. 1 tool update
    • Changedsearch3 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"default 10"New value: +"default 10; minimum 1, maximum 50"
      • addedInput schema / properties / limit / maximum
        Added value: +50
      • addedInput schema / properties / limit / minimum
        Added value: +1
  5. 1 tool update
    • Changedas_of1 field changed
      • changedInput schema / properties / anchors / description
        Previous value: -"comma-separated provision anchors for mode=select, e.g. art_1er,art_33"New value: +"optional comma-separated provision anchors for mode=outline; required for mode=select, e.g. art_1er,art_33"
  6. 3 tool updates
    • Changedchanges_in_period8 fields changed
      • addedInput schema / properties / act_form
        Added value: +{
        +  "description": "optional legal act form",
        +  "type": "string"
        +}
      • addedInput schema / properties / binding_status
        Added value: +{
        +  "description": "optional binding status",
        +  "type": "string"
        +}
      • changedInput schema / properties / document_type / description
        Previous value: -"optional type code(s), comma-separated; prefix with ! to exclude, e.g. !RECUEIL,!CODE_RECUEIL for instruments only"New value: +"optional source document class(es), comma-separated; prefix with ! to exclude, e.g. !RECUEIL,!CODE_RECUEIL for instruments only"
      • addedInput schema / properties / domain
        Added value: +{
        +  "description": "optional reviewed legal domain",
        +  "type": "string"
        +}
      • addedInput schema / properties / hierarchy
        Added value: +{
        +  "description": "optional normalized legal hierarchy",
        +  "type": "string"
        +}
      • addedInput schema / properties / jurisdiction
        Added value: +{
        +  "description": "optional jurisdiction code from index metadata, e.g. LU or EU",
        +  "type": "string"
        +}
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "optional language code",
        +  "type": "string"
        +}
      • addedInput schema / properties / source_class
        Added value: +{
        +  "description": "optional source document class; alias of document_type",
        +  "type": "string"
        +}
    • Changedin_force_on8 fields changed
      • addedInput schema / properties / act_form
        Added value: +{
        +  "description": "optional legal act form",
        +  "type": "string"
        +}
      • addedInput schema / properties / binding_status
        Added value: +{
        +  "description": "optional binding status",
        +  "type": "string"
        +}
      • changedInput schema / properties / document_type / description
        Previous value: -"optional type code, e.g. CODE"New value: +"backward-compatible source document class filter"
      • addedInput schema / properties / domain
        Added value: +{
        +  "description": "optional reviewed legal domain",
        +  "type": "string"
        +}
      • addedInput schema / properties / hierarchy
        Added value: +{
        +  "description": "optional normalized legal hierarchy",
        +  "type": "string"
        +}
      • addedInput schema / properties / jurisdiction
        Added value: +{
        +  "description": "optional jurisdiction code from index metadata, e.g. LU or EU",
        +  "type": "string"
        +}
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "optional language code",
        +  "type": "string"
        +}
      • addedInput schema / properties / source_class
        Added value: +{
        +  "description": "optional source document class",
        +  "type": "string"
        +}
    • Changedsearch1 field changed
      • changedInput schema / properties / domain / description
        Previous value: -"optional reviewed EU domain id"New value: +"optional reviewed legal domain id"
  7. 2 tool updates
    • Changedarticle_history1 field changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "optional language code; defaults to the work's primary derived language",
        +  "type": "string"
        +}
    • Changedsearch1 field changed
      • changedInput schema / properties / jurisdiction / description
        Previous value: -"optional lu or eu"New value: +"optional jurisdiction code from index metadata, e.g. LU or EU"
  8. 10 tool updates
    • First observedarticle_history
    • First observedas_of
    • First observedchanges_in_period
    • First observedcited_by
    • First observedcoverage
    • First observeddiff
    • First observedin_force_on
    • First observedprovenance
    • First observedsearch
    • First observedtimeline

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.