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.

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 10 of 10 tools scored. Lowest: 3.3/5.

Server CoherenceA
Disambiguation4/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.

Naming Consistency2/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
article_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".

ParametersJSON Schema
NameRequiredDescriptionDefault
workYesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first.
anchorYesprovision anchor, e.g. art_1er (find it via search or as_of mode=outline)
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 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.

Conciseness5/5

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.

Completeness4/5

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.

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. 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.

Purpose5/5

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.

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: 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.

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. Unknown document -> call search first.
anchorsNocomma-separated provision anchors for mode=select, e.g. art_1er,art_33
languageNooptional language code, e.g. fr
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNodefault 20
orderNoby_date (default) or by_churn
offsetNoskip this many, for paging
to_dateYesISO date, end of window (inclusive)
from_dateYesISO date, start of window (inclusive)
publisherNooptional publisher id
document_typeNooptional type code(s), comma-separated; prefix with ! to exclude, e.g. !RECUEIL,!CODE_RECUEIL for instruments only
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 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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/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 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.

Purpose5/5

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.

Usage Guidelines5/5

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.

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

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
publisherNooptional publisher id
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

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 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.

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 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
workYesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first.
to_dateYesISO date
languageNolanguage code
from_dateYesISO date
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/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 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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesISO date
limitNodefault 50
offsetNopagination offset
publisherNooptional publisher id, e.g. lu-legilux
document_typeNooptional type code, e.g. CODE
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 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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lex_idYesfull lex_id
languageNooptional
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 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.

Conciseness5/5

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.

Completeness3/5

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.

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 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.

Purpose5/5

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.

Usage Guidelines3/5

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.

timelineBInspect

Every state a document has been in: validity intervals and version keys, publisher-asserted.

ParametersJSON Schema
NameRequiredDescriptionDefault
workYesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first.
limitNomax versions (default 100)
offsetNopagination offset
Behavior3/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 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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/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 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.

Purpose4/5

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.

Usage Guidelines2/5

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.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.