Lex — Temporal Luxembourg and EU Law
Server Details
Temporal search and comparison for official Luxembourg and reviewed EU law, with provenance.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- SFHAJJI/lex
- GitHub Stars
- 0
- Server Listing
- Lex: Luxembourg Law MCP Server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4/5 across 10 of 10 tools scored. Lowest: 3.3/5.
The tools are mostly distinct: search, as_of, diff, timeline, and article_history all relate to temporal legal data but serve different purposes (query, snapshot, comparison, document history, provision history). However, the boundary between timeline and article_history could initially confuse an agent, and changes_in_period overlaps with diff in aggregate form.
Tool names follow no consistent pattern: some are nouns (coverage, provenance, timeline), some are verbs (search), and others are phrases (as_of, in_force_on, changes_in_period). The lack of a uniform verb_noun or noun_verb convention makes the set feel inconsistent, even though individual names are descriptive.
Ten tools is an appropriate size for a specialized legal research server. Each tool covers a distinct aspect of temporal and cross-referential legal querying, and none feels redundant or unnecessary for the domain.
The surface covers core workflows: search, retrieve state, view history, compare versions, check force status, citations, coverage, and provenance. Minor gaps exist: there is no direct forward-citation tool (which laws does this law reference?) and no simple 'get by citation' lookup, but agents can work around these with search and as_of.
Available Tools
10 toolsarticle_historyAInspect
Every distinct text ONE provision (article/annex) has had, as validity intervals — plus its lifecycle events (inserted/removed/renumbered, renumbering detected mechanically by identical text hash). The answer to "what did Article X say over its life / when did it change".
| Name | Required | Description | Default |
|---|---|---|---|
| work | Yes | Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first. | |
| anchor | Yes | provision anchor, e.g. art_1er (find it via search or as_of mode=outline) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that renumbering is detected mechanically via identical text hash and that results are presented as validity intervals and lifecycle events. This provides meaningful insight into both the data and the heuristics involved, though it stops short of describing output format details or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core functionality and the user-facing question it answers. Each clause adds value, and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential purpose, what data is returned (validity intervals, lifecycle events), and even the mechanical detection method. However, with no output schema, a bit more detail on the exact return structure or how validity intervals are represented would make it fully complete. The inclusion of the heuristic and lifecycle events already places it above average.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. Both 'work' and 'anchor' have detailed descriptions with examples, and the tool-level description adds context but does not further explain the parameters. The description does not need to compensate for schema gaps here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's function with a specific verb and resource: it returns every distinct text a provision has had as validity intervals plus lifecycle events. It directly answers a clear user question ('what did Article X say over its life / when did it change'), which distinguishes it from sibling tools like diff or as_of.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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: when you need a provision's complete textual history. However, it does not explicitly state when not to use it or name alternatives beyond the implicit purpose. The schema note 'Unknown document -> call search first' adds some guidance, but it is not part of the main description.
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 the provisions (articles/annexes) without text — use it first on long documents; mode=select returns only the named anchors' text; mode=full (default) returns the whole text. Every provision carries its own permalink and hash.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ISO date YYYY-MM-DD | |
| mode | No | full | outline | select (default full) | |
| work | Yes | Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first. | |
| anchors | No | comma-separated provision anchors for mode=select, e.g. art_1er,art_33 | |
| language | No | optional language code, e.g. fr |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure load. It reveals that the operation is a non-ranking lookup, details how each mode behaves, and notes that every provision includes a permalink and hash. This is useful but does not cover error handling, authentication, or exact response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, with the first stating the tool's purpose, the second covering modes and usage order, and the third mentioning output traits (permalink/hash). Every sentence contributes meaningful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters and no output schema, the description covers the main behavioral aspects: what each mode returns and that provisions carry permalinks/hashes. It does not specify the exact JSON structure or error conditions, but for a straightforward lookup tool, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all parameters (100% coverage), so the baseline is 3. The description adds practical value by explaining when to use mode=outline versus select versus full, and clarifies that anchors are used with select mode, going beyond the raw schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the state of one document at a specified date, and the three modes (full, outline, select) are explained with their outputs. It explicitly distinguishes itself as 'pure lookup, no ranking,' which sets it apart from search-related tools and helps clarify its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives specific guidance on when to use each mode, notably recommending outline mode first on long documents. However, it does not explicitly compare with sibling tools like article_history or in_force_on, nor does it state clear when-not-to-use scenarios.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | default 20 | |
| order | No | by_date (default) or by_churn | |
| offset | No | skip this many, for paging | |
| to_date | Yes | ISO date, end of window (inclusive) | |
| from_date | Yes | ISO date, start of window (inclusive) | |
| publisher | No | optional publisher id | |
| document_type | No | optional type code(s), comma-separated; prefix with ! to exclude, e.g. !RECUEIL,!CODE_RECUEIL for instruments only |
Tool Definition Quality
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 the aggregation behavior, the meaning of ordering options (by_churn ranks by number of new versions; by_date lists most recently changed first), and the return fields ('which works... how many each, and when'). It doesn't mention edge cases like empty results or exact date inclusivity, but the schema already marks dates as inclusive. This is solid behavioral disclosure, though not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, each earning its place: the first gives the core purpose and counterpart relationship, the second provides concrete usage examples, the third defines ordering semantics. Front-loaded with the most important information, no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema or annotations, the description gives a strong mental model: corpus-wide aggregation, counts and dates, ordering behavior, and usage scenarios. Filtering by publisher/document_type is not mentioned, but those parameters are fully documented in the schema. The description could be more explicit about what 'new versions' counts and how empty results behave, but overall it covers the essential context well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 value beyond the schema by explaining what order values mean ('by_churn ranks by number of new versions; by_date lists most recently changed first') and by framing from_date/to_date as a window. That additional semantic context lifts it above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('which works gained new versions between two dates, how many each, and when') and clearly differentiates from siblings by calling itself the 'aggregate counterpart of diff/timeline (which cover ONE work)'. This is a specific verb+resource+scope that leaves no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly provides usage examples ('what changed between 2025 and 2026') and contrasts with diff/timeline by noting they cover a single work, while this tool is aggregate across the corpus. This tells the agent when to use it and indirectly when not to, making selection vs alternatives clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cited_byAInspect
Which ARTICLES point at this law. The reverse of the cross-references the publisher writes into its own text ("modifie par la loi du 4 juin 2020"), captured at derive time. Answers "what depends on this law", "who amended it", "is anything still referring to it" — the question legal research is actually made of, and the one a search box cannot answer.
| Name | Required | Description | Default |
|---|---|---|---|
| work | Yes | the law being cited, e.g. lu-legilux:loi-2020-06-04-a476 | |
| limit | No | default 50 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the reference data is the reverse of publisher-written cross-references and that it was 'captured at derive time', indicating potential snapshot/staleness. This adds meaningful context beyond basic 'returns citations' without overpromising.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core question, and every sentence adds value: the reverse-citation concept, the derive-time caveat, and the concrete research questions. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (one required param, no output schema), the description fully explains the tool's purpose and data origin. It leaves out output shape details, but the schema and simple nature make that unnecessary. The 'derive time' nuance is valuable and the description feels complete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the 'work' parameter and the 'limit' default. The description does not add parameter-specific syntax or examples beyond what the schema provides, which is acceptable but does not push above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear, specific question ('Which ARTICLES point at this law') and explains this is the reverse of publisher-embedded cross-references. It distinguishes itself from a generic search box and other sibling tools by framing the exact legal research question it answers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool ('what depends on this law', 'who amended it', 'is anything still referring to it') and contrasts it with what a search box cannot answer. This provides clear usage guidance and an implicit alternative (search tool), satisfying the when-to-use vs alternatives criterion.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| publisher | No | optional publisher id |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior, and it does describe output elements: counts, date ranges, history_begins, and known gaps. However, it does not clarify side effects (likely none), permission needs, or whether the publisher parameter alters scope beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, compact and to the point. The first sentence is slightly poetic, but the second clarifies the core purpose, so it is efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one optional parameter, no annotations or output schema), the description adequately states what the tool does, but it leaves gaps about the effect of the publisher parameter and the exact structure of the output. It is not as complete as a fully specified read-only tool description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a 100% description for the optional publisher parameter, so baseline is 3. The tool description adds no further meaning about how publisher affects coverage, so it neither enhances nor detracts from schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb phrase: it exists to say what data is not available, and also what is held, tier by tier. It distinguishes itself from siblings like article_history or search by focusing on coverage gaps rather than content or history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for checking data coverage and missing elements, but does not explicitly state when to use it versus sibling tools like search or changes_in_period. No exclusions or alternatives are named, so usage 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.
diffAInspect
What changed between two dates for one work: which versions applied, and where both texts are held, retrieve them via as_of to compare.
| Name | Required | Description | Default |
|---|---|---|---|
| work | Yes | Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first. | |
| to_date | Yes | ISO date | |
| language | No | language code | |
| from_date | Yes | ISO date |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of explaining behavior. It discloses that the tool reports which versions applied and where the texts are held, and implies it does not return the full texts but directs to as_of for retrieval. However, it doesn't mention safety, permissions, rate limits, or any side effects, leaving some transparency gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that packs the key information: two dates, one work, output type, and a pointer to as_of. Every clause earns its place, with no filler or repetition. It's appropriately sized for a tool of this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain return values. It does state 'which versions applied, and where both texts are held', giving a partial return shape. However, it doesn't specify the exact format of the output, error conditions, or how language parameter affects results. Given the tool's moderate complexity and 4 params, it's adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 only marginal meaning beyond the schema by emphasizing 'one work' and 'between two dates', which aligns with the work, from_date, and to_date parameters. It doesn't describe formats or provide additional semantics for the language parameter, but the schema already covers those.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'What changed between two dates for one work' clearly specifies the tool's purpose: identifying changes for a single work over a date range. It also mentions the output (which versions applied and where texts are held), which distinguishes it from siblings like changes_in_period and timeline. However, it lacks a direct verb like 'list' or 'get', so it's slightly less explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: 'between two dates for one work'. It also directs the user to a specific alternative ('retrieve them via as_of to compare'), which helps differentiate when to use diff vs as_of. It doesn't explicitly state when not to use it or compare to other siblings, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_force_onAInspect
The set of works in force on a date, computed from validity intervals at query time, deduplicated by work. Carries a mandatory population disclosure.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ISO date | |
| limit | No | default 50 | |
| offset | No | pagination offset | |
| publisher | No | optional publisher id, e.g. lu-legilux | |
| document_type | No | optional type code, e.g. CODE |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It reveals that results are computed at query time from validity intervals, that they are deduplicated by work, and that a mandatory population disclosure is included. These are valuable insights beyond a simple definition, though it does not cover authentication, error conditions, or the full response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, consisting of two sentences with no redundant wording. It front-loads the core purpose and each clause adds substantive information about computation, deduplication, or response disclosure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with five parameters, one required, and no output schema, the description captures the essential semantics: computed at query time, deduplicated, and carrying a mandatory population disclosure. It complements the schema well, though it could be more explicit about the response format or clarify the nature of the population disclosure. Overall, it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all five parameters, including date format, default limit, offset, and optional filters. Since schema coverage is 100%, the description does not need to add parameter details, and it does not. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns the set of works in force on a date, with computation logic and deduplication. It is specific about the resource and behavior, but it does not explicitly distinguish itself from sibling tools like as_of, which might be similar in scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as as_of, timeline, or changes_in_period. The description only defines what the tool does, with no mention of context, exclusions, or alternative 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.
| Name | Required | Description | Default |
|---|---|---|---|
| lex_id | Yes | full lex_id | |
| language | No | optional |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose what the returned proof chain contains, which adds behavioral context. However, it does not explicitly state that the operation is read-only, mention any required permissions, or describe behavior on invalid input, leaving notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that lists all key elements of the proof chain without any fluff or repetition. Every phrase earns its place, making it extremely concise yet informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description must explain return values. It lists the components but does not elaborate on the meaning of 'event chain' or 'stamp signature', nor does it clarify the role of the optional 'language' parameter. This is adequate but leaves room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 and language), giving 100% schema coverage. The description adds minimal extra meaning about parameters beyond reinforcing that it's for a single lex_id, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool provides a 'proof chain' for a single lex_id, enumerating the specific components (source URI, hashes, event chain, etc.). This makes the tool's purpose specific and distinguishes it from sibling tools like article_history or diff, which focus on different aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's use case is implied by the name 'provenance' and the description's focus on a proof chain for one lex_id, but there is no explicit guidance on when to use it versus alternatives, nor any stated exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAInspect
Filtered legal search. keyword is deterministic FTS5/BM25; hybrid adds the pinned local encoder and fixed RRF when verified vectors are mounted. No generative model participates. Returns hits WITHOUT body text; full state via as_of.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | ISO date required when time_scope=as_of | |
| fuzzy | No | auto or off; visible fallback only | |
| limit | No | default 10 | |
| query | Yes | search terms | |
| works | No | optional comma-separated work ids: restrict search to these works | |
| domain | No | optional reviewed EU domain id | |
| act_form | No | optional legal act form | |
| language | No | optional language code | |
| hierarchy | No | optional normalized legal hierarchy | |
| publisher | No | optional publisher id | |
| time_scope | No | all_versions or as_of | |
| jurisdiction | No | optional lu or eu | |
| source_class | No | optional source document class | |
| document_type | No | backward-compatible document type filter | |
| binding_status | No | optional binding status | |
| retrieval_mode | No | keyword or hybrid; default keyword until activation |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It reveals that results lack body text, that hybrid uses a local encoder and fixed RRF, and that no generative model is involved—useful behavioral traits beyond the schema. It could mention pagination or error handling, but the provided details are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, and every clause adds meaningful detail: modes, exclusion of generative models, return format, and as_of linkage. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for tool selection and basic invocation, but with 16 parameters and no output schema, more detail would help—e.g., a typical result structure or whether filters are ANDed. The mention of 'hits WITHOUT body text' is valuable, but the full response shape remains undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the 16 parameters with descriptions, so the baseline is 3. The tool description adds no extra guidance on parameter interactions or syntax, leaving the parameters to the schema entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Filtered legal search,' clearly identifying the tool's function. It distinguishes from sibling history/version tools by noting that it returns hits without body text and directs users to as_of for full state, setting it apart as the search entry point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the two retrieval modes—keyword and hybrid—and the conditions for hybrid (verified vectors mounted), plus clarifies that no generative model participates. While it doesn't explicitly name alternatives, the sibling tools are clearly different, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timelineBInspect
Every state a document has been in: validity intervals and version keys, publisher-asserted.
| Name | Required | Description | Default |
|---|---|---|---|
| work | Yes | Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first. | |
| limit | No | max versions (default 100) | |
| offset | No | pagination offset |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It adds the context that the timeline is 'publisher-asserted,' which is useful caveat about the data's provenance. However, it does not disclose other behaviors like pagination, error handling, or whether the operation is read-only (though that is easily inferred).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that packs essential information: the core output (timeline states), key attributes (validity intervals, version keys), and a caveat (publisher-asserted). Every word earns its place, and it is front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, no output schema, and no annotations, the description provides a reasonable high-level understanding of what is returned. However, it lacks details about the response structure, pagination specifics, or handling of unknown documents (though the schema mentions 'call search first'). It is adequate but leaves room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add parameter-specific details beyond the schema, but the overall context of 'validity intervals and version keys' helps the agent understand what the returned data represents, which indirectly informs the meaning of the 'work' parameter. No significant enhancement provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool's purpose: it returns the timeline of all states a document has been in, including validity intervals and version keys. This is specific and goes beyond just a generic name, distinguishing it from siblings like as_of or changes_in_period by focusing on the full history with validity intervals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not state when to use this tool versus its alternatives. There is no mention of use cases, prerequisites, or exclusions. The only slight guidance is the phrase 'publisher-asserted,' which hints at the nature of the data but does not direct the agent toward or away from this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityFmaintenanceProvides structured access to EU treaties, regulations, directives, and CJEU case law via 14 tools for searching, retrieving, and analyzing legislation and court decisions.Last updatedApache 2.0
- Alicense-qualityFmaintenanceEnables AI-powered legal research across 4,551 Luxembourg statutes, 260 case law decisions, and EU law integrations through natural language queries and 13 specialized tools.Last updated502Apache 2.0
- Alicense-qualityAmaintenanceSearch EU legislation, CJEU case law, and treaties; traverse the CELLAR relationship graph; resolve EuroVoc concepts via MCP.Last updated1655Apache 2.0
- AlicenseAqualityAmaintenanceMCP server for EU law via the EUR-Lex / Cellar SPARQL endpoint — legislation (ELI/CELEX) and CJEU case-law (ECLI) with verifiable citations.Last updated3571MIT
Your Connectors
Sign in to create a connector for this server.