provenance
Proof chain for one lex_id: source URI, retrieval time, record/body hashes, event chain, corpus commit, index build, stamp signature.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lex_id | Yes | full lex_id | |
| language | No | optional |
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 |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / additionalPropertiesAdded value: +falseInput schema / properties / language / maxLengthAdded value: +16Input schema / properties / language / minLengthAdded value: +1Input schema / properties / lex_id / maxLengthAdded value: +1000Input schema / properties / lex_id / minLengthAdded value: +1Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the transparency burden. It does disclose the contents of the proof chain (source URI, retrieval time, hashes, event chain, corpus commit, index build, stamp signature), which gives the agent a clear picture of the output. However, it does not state whether the operation is read-only, has side effects, requires authentication, or how the chain is constructed. The description adds some value but not full behavioral transparency.
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 sentence with a colon-separated list, packing many details into a compact format. It is not verbose or redundant; every listed item adds meaningful information. However, the sentence is somewhat dense and could be split for readability, but overall it is appropriately concise.
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 needs to cover return semantics. It does list the components of the proof chain, which is helpful, but it does not describe the output structure (e.g., JSON keys, order, nesting) or address potential errors or edge cases. Given the complexity of the tool (many parts in the chain), the description is 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 description coverage is 100%, with both 'lex_id' and 'language' already documented in the schema. The description does not add any parameter-specific meaning beyond what the schema provides; it merely mentions the tool works 'for one lex_id', which is already stated. Therefore, it meets the baseline but provides no additional semantic value.
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 function: providing a proof chain for a single lex_id and enumerates its components (source URI, hashes, event chain, etc.). This distinguishes it from sibling tools like 'article_history' or 'timeline' by focusing on cryptographic proof rather than chronological narrative. However, it lacks an explicit verb like 'get' or 'retrieve', making the action slightly implicit.
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 given on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or why one would choose 'provenance' over a tool like 'diff' or 'as_of'. The usage context is only inferred from the tool's name and description, not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools have clearly distinct purposes, but timeline and article_history both cover historical versions, and as_of and in_force_on both relate to state on a date. Descriptions are detailed enough to resolve overlap, so confusion is limited.
All names are lowercase with underscores, but they mix noun forms (coverage, provenance), verb forms (search, diff), and prepositional phrases (as_of, in_force_on, changes_in_period). This is readable but lacks a consistent pattern like verb_noun.
Ten tools is well within the ideal range for a specialized legal research server. Each tool addresses a distinct aspect of temporal legal queries, and none feel redundant or superfluous.
The tool set covers search, retrieval, history, citations, coverage gaps, and provenance. It supports both document-level and corpus-level temporal analysis, making it comprehensive for the stated domain of Luxembourg and EU law research.