Skip to main content
Glama

Server Details

Provenance-backed EU and UK legislation for AI agents, addressable to the individual provision.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.8% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.7/5.0

Scored across 25 tools

Disambiguation4/5

The tools are mostly separated by resource and granularity, and the descriptions explicitly contrast confusing pairs (define_term vs search_legislation, request vs result vs list). Only search/search_legislation and the cluster of cross-reference tools require careful reading to avoid misselection.

Naming Consistency3/5

Most tools use a readable verb_noun pattern, but the set mixes verb-led names (get_, list_, lookup_, request_) with noun-led names (provision_context, related_works, term_languages, work_mentions) and has two overlapping search verbs. It is navigable but not a uniform convention.

Tool Count3/5

At exactly 25 tools this sits at the heavy end of the borderline range. The domain is broad enough that most tools have a distinct job, but several administrative read-only surfaces (follows, review queue, ingestion request/result/list) inflate the count and could be consolidated.

Completeness3/5

Read-side research coverage is strong: search, lookup, definitions, cross-references, history, changes, topics, guidance, and ingestion all exist. Obvious gaps remain, including no whole-work text retrieval tool and read-only follow/review-queue surfaces whose writes are explicitly left to external HTTP calls or human reviewers.

Available Tools

25 tools
define_termWhere the law defines a phraseA
Read-onlyIdempotent
Inspect

The definition of a term of art, and the provision that gives it. Ask this BEFORE search_legislation whenever the question is what a phrase means ('durable medium', 'taxable person'): search returns provisions that USE a phrase, this returns the law that DEFINES it, verbatim. A term defined by several instruments returns several rows — the scope of each definition is the instrument carrying it, so check the work before applying one.

The definition text is always free. Only the adoption resolution (adopts, which act a borrowed definition comes from) is Lexiara Nexus data requiring an API key on a signed-in account.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYesThe phrase, e.g. 'durable medium'. Matched exactly (case-insensitive).
workNoELI or official number of the borrowing/defining instrument; scopes the term to that instrument.
limitNoMaximum definitions, default 8.
jurisdictionNoISO country filter, e.g. 'UK', 'FR', 'EU'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior. The description adds useful context beyond that: definition text is free, the adoption resolution requires authentication/API key, and multiple instruments can return multiple rows whose scope is tied to the carrying instrument.

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?

Every sentence earns its place: purpose, usage guidance, multi-definition caveat, and access requirements are all included without redundancy. The most important differentiation is front-loaded in the second sentence.

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

Completeness5/5

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

The description is complete for a read-only lookup tool: it explains when to use it, what it returns, how scope works, and what authentication limitations exist. The presence of an output schema covers return-format details, so nothing critical is missing.

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 each parameter is already documented in the schema. The description adds some meaningful context about the 'work' parameter through the scoping caveat, but it does not substantially add parameter-level semantics beyond what the schema provides.

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 what the tool does: it returns the verbatim definition of a term of art and the provision that gives it. It explicitly distinguishes itself from search_legislation, which returns provisions that use a phrase rather than define it, so an agent can select it confidently.

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 gives explicit when-to-use guidance: ask this tool BEFORE search_legislation whenever the question is what a phrase means. It also names the sibling alternative, explains the difference, and warns about multi-instrument definitions with scope caveats.

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

fetchFetch a Lexiara provisionA
Read-onlyIdempotent
Inspect

Retrieve one search result by its opaque id, including provision text, canonical URL, authority status and source provenance. metadata.structure provides parent/child addresses; an empty container text does not mean the law is absent. Use child apiHref links or lookup_provision with sourceLang to traverse. Use ids returned by search without editing them.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOpaque identifier returned by the search tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYesAbsolute canonical Lexiara URL.
textYes
titleYes
metadataNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuinely useful behavior: an empty container text does not mean the law is absent, and metadata.structure carries parent/child addresses. Missing rate/timeout or error behavior keeps it short of 5.

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?

Four sentences, front-loaded with purpose and return scope before the traversal and id-handling caveats. Nothing is padding, though the sentences are dense and the traversal note could be trimmed slightly.

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

Completeness5/5

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

An output schema exists, so return-value documentation is not required, yet the description still orients the agent on structure and empty-container semantics. Traversal guidance and input provenance complete the picture for a single-parameter read tool.

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% and the schema already calls the id opaque and search-returned, so baseline is 3. The description goes further by warning against editing the id, adding a usage constraint the schema does not encode.

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?

States a specific verb and resource ('Retrieve one search result by its opaque id') and enumerates the returned content (provision text, canonical URL, authority status, provenance), which distinguishes it from the sibling `search` and from `lookup_provision`. An agent can tell what this tool does without opening the schema.

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?

It names the alternative route ('Use child apiHref links or lookup_provision with sourceLang to traverse') and constrains input provenance ('ids returned by search without editing them'). That gives clear context and a fallback path, though it never states an explicit when-not-to-use condition for this tool versus lookup_provision.

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

find_national_implementationsArticle-level national implementationsA
Read-onlyIdempotent
Inspect

National provisions implementing one EU provision, with method and confidence per link. DERIVED data, not published by any authority: treat links not marked method='human' as leads to verify, and say so when citing.

Lexiara Nexus data requires an API key on a signed-in account. The free plan carries a monthly Nexus allowance; the legislative text itself is always free.

ParametersJSON Schema
NameRequiredDescriptionDefault
eIdYesProvision identifier: 'sec_4' (section 4), 'art_2__para_1' (article 2(1)), 'sch_9' (Schedule 9). Use search or history endpoints to discover eIds.
workYesELI of the EU instrument, e.g. the VAT Directive.
jurisdictionNoISO country filter, e.g. 'UK', 'FR', 'EU'.
minConfidenceNoDrop links below this confidence (0-1).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses that the data is DERIVED and not authority-published, explains the verification caveat for non-human links, and notes the API-key/plan requirement. This is exactly the provenance and reliability context an agent needs before citing results.

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?

Core purpose and the most important caveat are front-loaded in the first sentence, and the second sentence adds the verification rule. The trailing paragraph on billing allowances is somewhat tangential but brief and useful for access planning.

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 an output schema present and 100% param coverage, the description only needs to carry the provenance/trust story, which it does. It stops short of describing the traversal direction (which EU provision maps to which national ones) in more than passing terms, but it is adequate.

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 eId, work, jurisdiction and minConfidence are already fully documented. The phrase 'with method and confidence per link' contextualizes minConfidence but adds no syntax or format detail beyond the schema, so the baseline 3 holds.

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 names a specific output: national provisions that implement one EU provision, each with method and confidence metadata. That is precise enough to distinguish it from siblings like guidance_for_provision or lookup_provision, though no sibling is named explicitly.

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?

It gives interpretive guidance ('treat links not marked method=human as leads to verify') but never states when to reach for this tool versus related siblings such as guidance_for_provision or provision_context. Usage context is implied by the name and the 'one EU provision' scoping rather than spelled out.

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

follow_updatesGraded developments in the law you followA
Read-onlyIdempotent
Inspect

The digest: every change the corpus observed on followed law, each with a SIGNIFICANCE grade and the reasoning behind it — 'major' (a new consolidation whose version point advanced, a provision appearing, a provision now repealed), 'minor' (wording changed, or the stored text moved while the publisher's version point did not), 'housekeeping' (first ingest, bulk churn from a version substitution). The grade is LEXIARA'S ASSERTION, not the publisher's: treat 'major' as a prompt to read the instrument, never as a finding about it, and cite the instrument rather than the digest. reach says how a development arrived — 'direct', or 'via-transposition' when it is on the other side of a transposition edge from what was followed, in which case the link itself is unreviewed evidence like any other relationship in Lexiara Nexus.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum developments, default 100.
sinceNoISO timestamp. Omit to use each follow's own last read.
minSignificanceNoFloor for this call: major | minor | housekeeping.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior5/5

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

Annotations only cover the safety profile (read-only, idempotent, non-destructive), while the description adds genuinely non-obvious behavior: the grade is Lexiara's own assertion rather than the publisher's, it warns against treating 'major' as a finding, and it discloses that 'via-transposition' links are unreviewed evidence. That epistemic framing is exactly the kind of context annotations cannot supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded and every sentence carries content, but the single dense paragraph is heavy for a three-parameter, all-optional list tool, and the grade taxonomy is delivered in nested parentheticals that are harder to scan than a short list would be.

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 an output schema present, return values needn't be explained, yet the description still clarifies the two most interpretive output fields, significance grade and reach. It omits anything about pagination or default ordering, which keeps it short of 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 description coverage is 100%, so limit, since, and minSignificance are already documented in the schema; the description only restates the grade vocabulary for minSignificance. It does, however, add output-side semantics for 'reach', which is not an input parameter. Baseline 3 is appropriate when the schema carries the parameter burden.

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 opening line ('The digest: every change the corpus observed on followed law') names the resource and scope precisely, and the 'followed law' framing separates it from corpus-wide siblings like recent_changes or search. It is clear but never explicitly contrasts itself with those siblings, so an agent must infer the boundary.

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?

Usage is implied rather than stated: the tool is for law you follow, and grades are described as 'a prompt to read the instrument'. There is no explicit when-to-use or when-not-to-use guidance relative to recent_changes, list_follows, or provision_history, leaving the agent to infer the routing.

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

get_coverageWhat the corpus contains, and how freshA
Read-onlyIdempotent
Inspect

Per-source coverage and freshness. Call this first when unsure whether Lexiara holds the law you need — absence of coverage means 'not here', never 'does not exist'.

Pass work to ask about ONE instrument. The answer then says which kind of absence it is: metadata-only (the instrument is known and no text is held), language-not-held, or not-held. Each carries requestable and a request_hint you pass to request_ingestion.

ParametersJSON Schema
NameRequiredDescriptionDefault
workNoOptional: ask about ONE instrument by CELEX, ELI or official number. The answer then carries `requested.gap` — metadata-only, language-not-held or not-held — or `requested.held: true` when the corpus holds it.
languageNoOptional ISO 639-3 code, e.g. 'fra', to ask about one language version.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior1/5

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

The description explicitly states 'absence of coverage means "not here", never "does not exist"', which is an open-world behavioral claim. This contradicts the annotation openWorldHint: false, which suggests the tool treats absence as authoritative non-existence. While the description otherwise adds useful context about gap types and request_hint, the annotation contradiction makes it misleading.

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 compact and front-loaded: it states the core purpose, then the primary use case, then the optional work behavior. Every sentence adds operational value, and the formatting with a short first sentence and a focused paragraph makes it easy for an agent to parse.

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

Completeness5/5

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

The tool is simple with two optional parameters and has an output schema, so the description does not need to document return values. It covers when to call, how to interpret absence, the effect of the work parameter, and the categories of gaps. Nothing essential for correct invocation is missing.

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?

With 100% schema coverage, the schema already documents the work and language parameters. The description adds meaning beyond that by explaining what happens when work is passed: the answer classifies the absence as metadata-only, language-not-held, or not-held, and carries requestable and request_hint. This helps the agent understand the parameter's effect on the response.

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 names a specific verb and resource: reporting per-source coverage and freshness of Lexiara's holdings. It immediately distinguishes the tool's use case from siblings by saying to call it first when unsure whether Lexiara holds the law.

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 explicit guidance on when to call: 'Call this first when unsure whether Lexiara holds the law you need.' It also explains the crucial semantic that absence of coverage means 'not here', never 'does not exist', which prevents misuse. It does not name specific sibling alternatives or exclusion conditions, so it stops short of a 5.

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

get_ingestion_requestHow an ingestion request is goingA
Read-onlyIdempotent
Inspect

State, stage, reason code and the time to wait before asking again, for one request you made. States: already_available, queued, running, available, partial, needs_clarification, needs_source_approval, failed, confirmed_unavailable. A fetch that timed out is failed and will be retried; confirmed_unavailable is the publisher itself saying it does not hold that manifestation, which is a different fact. Readable only by the account that made the request.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYesThe request_id request_ingestion returned.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description adds important behavioral detail: the meaning of each state, the distinction between 'failed' (will be retried) and 'confirmed_unavailable' (publisher does not hold the manifestation), and the account-level read restriction. This is genuinely valuable context for the agent.

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 dense but well-organized: the first sentence states the core purpose, the second explains critical state semantics, and the third covers access control. Every sentence earns its place with no repetition or filler.

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

Completeness5/5

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

Given the presence of an output schema, robust annotations, a single required parameter, and the detailed state semantics in the description, the agent has everything needed to call this tool correctly and interpret its response. The only minor absence is an explicit pointer to get_ingestion_result for retrieving the final result, but that is not necessary for completing the 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?

Schema description coverage is 100%, so the schema already fully documents request_id. The description adds the context that it is 'one request you made' and that readability is account-scoped, but these are not parameter-specific semantics beyond what the schema communicates.

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 as returning state, stage, reason code, and wait time for a single ingestion request. It is specific and informative, but it does not explicitly differentiate itself from the sibling tool get_ingestion_result, so it falls short of a 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 polling usage through 'time to wait before asking again' and notes the account restriction, but it does not explicitly state when to use this tool instead of get_ingestion_result or how to proceed once the state is available. Usage context is present but exclusions and alternatives are not.

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

get_ingestion_resultWhat an ingestion request producedA
Read-onlyIdempotent
Inspect

The published handles — expression id, work ELI, the /v1/works/text and /v1/provisions addresses — plus the source manifest (publisher URL, content hash, bytes, retrieval time, parser version) and the expectation results. Repeat your original lookup with the handles. Pass expressionId as the exact expression query parameter to /v1/works/text or /v1/provisions to preserve the acquired expression and language. Cite the source URL in the manifest, not this tool. coverage: complete_for_scope means the DECLARED SCOPE was acquired and checked — never that all law applicable to a question has been found.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYesThe request_id request_ingestion returned.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

With strong annotations (readOnlyHint, idempotentHint, non-destructive) already covering the safety profile, the description adds genuinely valuable interpretation context: the clarification that 'coverage: complete_for_scope' refers only to the DECLARED SCOPE, never to completeness of legal research, directly corrects a likely misreading. The citation directive (cite the manifest URL, not this tool) also adds behavioral guidance beyond the annotations.

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 dense but not padded; every clause earns its place — the handle list, manifest fields, follow-up lookup instructions, the citation rule, and the crucial coverage clarification. It opens with the most important information (what comes back). The first sentence is a long verb-less fragment, which slightly hurts readability, but no sentence is wasted.

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 one-parameter retrieval tool with an output schema, strong annotations, and detailed payload/citation/coverage guidance, the description is largely complete. The main gap is the unaddressed relationship to the sibling get_ingestion_request — an agent gets no guidance about whether to consult request status separately or whether results fail if ingestion is still running. Minor gaps against an otherwise thorough 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?

Schema description coverage is 100% — the single parameter request_id is fully described as 'The request_id request_ingestion returned.' The description adds nothing about request_id's semantics, but per the high-coverage baseline, a 3 is appropriate since the schema already does the heavy lifting.

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 never uses an explicit verb like 'returns' or 'retrieves', but the title ('What an ingestion request produced') plus the detailed enumeration of contents (handles, manifest, expectation results) makes the purpose clear. It also differentiates from siblings by listing unique payload elements (expression id, work ELI, manifest fields) that get_ingestion_request or request_ingestion would not produce.

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?

Usage guidance is implied rather than explicit: 'Repeat your original lookup with the handles' and 'Pass expressionId as the exact expression query parameter' tell the agent what to do after retrieving results, and the citation instruction is clear. However, the description never names alternatives or states when to use this tool versus get_ingestion_request, so the when-to-use-vs-siblings guidance is absent.

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

get_topicOne topic: orientation, notes, anchored provisions, linksA
Read-onlyIdempotent
Inspect

Everything a topic page shows: the orientation paragraph (with its draft/published editorial status), per-jurisdiction legal-status notes (GB notes carry the assimilated-law caveat), anchored provisions with anchor provenance, article-level transposition links (method, confidence, review verdict — anything not method='human' is evidence, not a finding), and related instruments from Lexiara Nexus.

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptIdYesTopic concept id, e.g. 'local:topic-pre-contract-information'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety bar is low, and the description adds substantial interpretation guidance instead: GB notes carry an assimilated-law caveat, editorial status can be draft or published, and 'anything not method=human is evidence, not a finding.' That last warning materially changes how an agent should treat the data. It does not touch auth, rate limits, or sizing, so not a 5.

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?

A single front-loaded sentence ('Everything a topic page shows: ...') with no filler, and every clause maps to a distinct part of the payload. It is dense with em-dash-nested qualifiers, which slightly hurts scannability, keeping it from a 5.

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 an output schema present, return values need not be explained, and annotations carry the safety profile; the description usefully adds the interpretive caveats. The missing piece is routing guidance against the many sibling retrieval tools, which leaves a small but real gap for a single-topic fetch.

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%: conceptId is documented with a concrete example ('local:topic-pre-contract-information'). The description adds no parameter-level detail beyond the schema, so the baseline of 3 applies.

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?

States a specific verb+resource ('get_topic') and then enumerates exactly what a topic page contains: orientation paragraph, per-jurisdiction notes, anchored provisions, transposition links, related instruments. This is far beyond a tautology. It stops short of naming sibling tools (list_topics, provisions_by_concept) by name, so the differentiation is implied rather than explicit.

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 never says when to use get_topic versus alternatives such as list_topics (list vs single), provisions_by_concept, or lookup_provision/provision_context. There is no when-to-use or when-not guidance, only an inventory of returned content, so the agent must infer the routing itself.

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

guidance_for_provisionGuidance on one provisionA
Read-onlyIdempotent
Inspect

Sections of official GUIDANCE that discuss one provision — Commission notices and guidelines on the act, quoted verbatim with the section number the publisher prints, so an answer can cite '§2.8 of the UCPD Guidance' and be checked.

EVERY ROW IS NON-BINDING (binding: false). This is the enforcing body's own reading, not law: only the instrument's text has legal force, and only a court settles what it means. Never present a guidance section as the rule; cite it as guidance, name the document, and keep it separate from the provision text lookup_provision returns.

Lexiara Nexus data requires an API key on a signed-in account. The free plan carries a monthly Nexus allowance; the legislative text itself is always free.

ParametersJSON Schema
NameRequiredDescriptionDefault
eIdYesProvision identifier: 'sec_4' (section 4), 'art_2__para_1' (article 2(1)), 'sch_9' (Schedule 9). Use search or history endpoints to discover eIds.
workYesELI URI of the instrument, e.g. 'http://www.legislation.gov.uk/id/ukpga/1994/23' (UK VAT Act 1994) or 'http://data.europa.eu/eli/dir/2006/112/oj' (EU VAT Directive).
includeActLevelNoAlso return sections that name the act but no article. Off by default: a notice's introduction cites the whole directive and would otherwise appear under every article of it.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses that every row is non-binding (binding: false), that this is the enforcing body's reading rather than law, and how it must be presented. It also states the auth requirement (API key on a signed-in account) and the free-plan allowance, which annotations cannot convey.

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 message is front-loaded with the core purpose and scoped into purpose, caution, and access paragraphs. It is slightly repetitive in restating the 'cite as guidance, not the rule' point twice, but every paragraph carries distinct information.

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

Completeness5/5

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

With an output schema present, return values need no explanation, and all three parameters are documented in the schema with annotations covering the safety profile. The description fills the remaining gaps — non-binding status, citation discipline, and authentication requirements.

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 eId, work, and includeActLevel are already fully documented in the schema. The description adds citation formatting context ('section number the publisher prints') but nothing about parameter syntax or defaults beyond what the schema provides — the baseline 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 opening sentence states a specific verb and resource — 'Sections of official GUIDANCE that discuss one provision' — and immediately contrasts it with the legislative text that lookup_provision returns. An agent can distinguish this from sibling tools without opening the schema.

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?

It gives clear usage context (use for verifiable citations like '§2.8 of the UCPD Guidance') and names the alternative to keep it separate from — lookup_provision. It stops short of an explicit 'use this when / do not use this when' rule set, so 4 rather than 5.

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

list_followsThe law this key followsA
Read-onlyIdempotent
Inspect

The instruments, provisions, subjects, jurisdictions and verticals this API key follows. READ-ONLY: creating or removing a follow is an HTTP POST/DELETE to /v1/follows, and no tool here dispatches one. (The one tool in this catalogue that writes anything is request_ingestion, which asks for a law and touches no follow.) Requires the caller's OWN key — the shared demo key is refused, since a follow list under it would be shared with strangers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds significant behavioral context: it explicitly labels the operation READ-ONLY, explains that follow changes happen via HTTP POST/DELETE to /v1/follows (not via any tool here), and specifies that the caller must use their own key, not the shared demo key. This goes beyond the annotations.

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, front-loads the purpose, and packs essential caveats (read-only, key requirement) without extraneous wording. Every clause earns its place, and it is well-structured for quick comprehension.

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

Completeness5/5

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

Given the tool has no parameters and an output schema exists (so return format is covered elsewhere), the description is complete. It covers the scope, the read-only nature, the impossibility of mutating follows through this catalogue, and the key ownership requirement. Nothing an agent needs to correctly invoke or interpret the tool is missing.

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 tool has zero parameters, so per the rubric the baseline is 4. There is nothing to add beyond what the schema provides (which is empty), and the description appropriately focuses on the operation's semantics rather than parameter details.

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 identifies the tool as listing the instruments, provisions, subjects, jurisdictions, and verticals that an API key follows. It uses a specific verb ('lists'), a resource ('follows'), and enumerates the scopes, distinguishing it from sibling tools that might operate on follows in other ways.

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 implies when to use this tool (to see what the key follows) and explicitly states that no tool in the catalogue dispatches follow creation/removal, which guides the agent away from trying to mutate follows. It also warns that the shared demo key is refused, providing a clear prerequisite. However, it does not name a specific alternative tool for follow management, only states that none exists.

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

list_ingestion_requestsYour ingestion request historyA
Read-onlyIdempotent
Inspect

List up to the latest 50 ingestion requests belonging to your account, newest first. Each row includes private status fields such as intent, created_at and origin; another account's requests are never returned. This is read-only and does not start, repeat or alter acquisition work.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value beyond this by stating it does not start, repeat, or alter acquisition work, plus the 50-item cap, ordering, and privacy guarantee that another account's requests are never returned.

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 that front-load the key behavior (list up to 50, newest first), then add scope and safety details. No filler or redundant restatement of the tool name.

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

Completeness5/5

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

For a zero-parameter read-only list tool with an output schema and strong annotations, the description covers everything needed: result limit, ordering, account isolation, and non-mutating behavior. Nothing essential is missing.

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?

There are zero parameters, so the baseline is 4. The description adds context about the returned rows (status fields like intent, created_at, origin), which is useful even though it is not parameter-related.

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 ('List') and resource ('ingestion requests'), and adds precise scope: up to 50, newest first, belonging to your account. This distinguishes it clearly from siblings like get_ingestion_request (single request) and request_ingestion (creating requests).

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 clearly states what kind of requests are returned and the account scoping, so an agent knows when to call it. It does not explicitly name alternatives or say 'use get_ingestion_request for a single request,' but the scope and list behavior make the intended use obvious.

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

list_review_queueWhat is waiting for a human verdictA
Read-onlyIdempotent
Inspect

The AUTO-GATED backlog from one place, newest first: unreviewed article-level transposition links with BOTH provision texts side by side and the stored reasoning, model/low-confidence concept tags, draft topic descriptions and jurisdiction notes, and recorded findings (gaps and divergences a round could not decide). Filter by kind, vertical and jurisdiction. EVERYTHING HERE IS UNREVIEWED EVIDENCE — cite none of it as a finding. This tool is READ-ONLY: verdicts are set only by a human with a 'reviewer' key, and no MCP tool can set one.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoComma-separated kinds: transposition, tag, topic-description, jurisdiction-note, finding. Omit for all.
charsNoCharacters of provision text per side. Omit for the WHOLE text, which is the default: a character budget once hid two parts of a French code article and produced two false absences.
limitNoMaximum items, default 20, max 100.
offsetNoSkip this many items — the queue is paged, not sampled.
verticalNoVertical id, e.g. 'eu-consumer', 'fr-consumer', 'es-consumer'.
jurisdictionNoISO country filter, e.g. 'UK', 'FR', 'EU'.
lowConfidenceNoAlso list non-model classifier tags at or below this confidence. Omit for model tags only — the keyword baseline's weak tail is 24 000 rows and would bury the 157 links a verdict changes.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare readOnly/openWorld/idempotent, and the description reinforces read-only behavior and explains the human-only verdict mechanism. It also discloses that all items are unreviewed evidence not to be cited as findings, and warns that truncating provision text can hide content. This goes well beyond the annotations.

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 dense but purposeful: one flowing definition, then the safety warning verdicts, then filter summary MendReadOnly. The ALL-CAPS warning earns its place. Slightly long, but every clause carries distinct information. Front-loaded with the subject and ordering.

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

Completeness5/5

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

Even though there is an output schema, the description gives the essential context: what items appear, that they are ordered newest first, that they are paged, what each kind means, and the critical citation caveat. An agent can select and invoke this tool safely without further exploration.

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% (all 7 params have descriptions), so the baseline is 3. The description adds meaning by grouping filters (kind, vertical, jurisdiction), explaining the 'chars' truncation hazard with a concrete example (French code article), and clarifying that omitting lowConfidence means model tags only. That extra semantics justifies a 4.

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?

Description names a specific verb (list), a distinct resource (the human-verdict review queue), and defines its exact contents (unreviewed article-level transposition links with reasoning, tags, topic descriptions, jurisdiction notes, findings). It clearly differentiates this tool from the sibling search/list tools by foregrounding the auto-gated, unreviewed, evidence-only nature of the backlog.

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 makes the intended context explicit: this is the unreviewed, auto-gated work queue a human must decide on desserts? It states filter options and the ordering. It does not explicitly name alternative tools for other use cases, but the title and the 'UNREVIEWED EVIDENCE' warning make selection unambiguous against the siblings. Could name when not to use it, but the exclusions are implicit in 'UNREVIEWED'.

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

list_topicsCurated topics under a subjectA
Read-onlyIdempotent
Inspect

Curated obligation topics ('Pre-contract information') under a subject head, each with a one-paragraph orientation and per-jurisdiction anchor counts. Descriptions with editorialStatus='draft' are UNREVIEWED model drafts — say so if you quote one. Feed a result's conceptId to get_topic.

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYesSubject head concept id, e.g. 'local:consumer'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds valuable behavioral context beyond annotations: it warns that draft editorialStatus entries are unreviewed model drafts and instructs the agent to disclose this when quoting. This is meaningful additional transparency.

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 compact and front-loaded: it states the purpose first, then describes output contents, then flags draft-status behavior and downstream usage. Every sentence earns its place with no redundancy.

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

Completeness5/5

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

For a read-only listing tool with one fully documented parameter and an output schema, the description is complete. It covers what is returned, important quality caveats, and how to proceed with a result, leaving no critical gap for an agent to call it 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?

Schema coverage is 100%, and the schema already defines 'subject' as a subject head concept id with an example. The description repeats the 'subject head' concept but does not add new parameter semantics beyond the schema, so the baseline 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 a specific verb (list) and resource (curated obligation topics under a subject head), and distinguishes itself from the related get_topic by noting that results should be fed into get_topic. This is more than a restatement of the title and gives an agent a precise idea of what the tool returns.

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?

It gives clear context for when to use the tool: to get curated topics under a subject head with orientation and anchor counts. It also implies the follow-up action (feed conceptId to get_topic), though it does not explicitly list when-not-to-use scenarios or alternative listing tools.

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

lookup_provisionLook up a provision's textA
Read-onlyIdempotent
Inspect

Authoritative text of one provision, with in-force window, repealed/prospective status, concept tags, transposition edges and full provenance. stand says what date the served text speaks as of (consolidated with a date, as-adopted, or unknown) and carries the one-line sentence to show a reader — answer questions about currency from it, not from inForce, which is when the version's validity starts. Use asAt (YYYY-MM-DD) for point-in-time law only where the held expression has an explicit validity window covering that date. Otherwise the tool returns the stable date_not_covered refusal; omit asAt to request current text. Machine translation is not exposed through this connector because generating a new rendering is not a read-only action. Use sourceLang to select a held source language (three-letter code), including with asAt; this never translates. structure carries immediate parent/child addresses in the selected expression. An empty container text is not missing law: follow children with the same sourceLang and asAt. Use term_languages for authentic multilingual terminology held by the corpus. gated.citedByArticle says HOW MANY provisions of other instruments name this article and names those instruments; the rows themselves — which provision, which citation — come from provision_context.

The provision text is always free. Only the derived counts (gated.citedByArticle, gated.nationalMandate) and the analysis behind them require an API key on a signed-in account.

ParametersJSON Schema
NameRequiredDescriptionDefault
eIdYesProvision identifier: 'sec_4' (section 4), 'art_2__para_1' (article 2(1)), 'sch_9' (Schedule 9). Use search or history endpoints to discover eIds.
asAtNoOptional real calendar date YYYY-MM-DD. Text is returned only from a held expression whose explicit validity window covers that day; otherwise `date_not_covered` is returned. Omit for current text.
workYesELI URI of the instrument, e.g. 'http://www.legislation.gov.uk/id/ukpga/1994/23' (UK VAT Act 1994) or 'http://data.europa.eu/eli/dir/2006/112/oj' (EU VAT Directive).
expressionNoOptional exact expression UUID, normally from an ingestion result handle. Preserves the selected expression and language; use only a handle returned by Lexiara.
sourceLangNoStored three-letter source language, e.g. eng or fra. Selects held text, never generates translation.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false), the description discloses important behavioral traits: machine translation is not exposed because generating a rendering is not read-only, empty container text is not missing law and should be followed via children, and the text is always free while derived counts require authentication. No contradiction with annotations; this adds significant context.

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 long but every sentence adds essential detail for a complex tool with 5 parameters and nuanced behaviors. It front-loads the core purpose and then systematically covers currency, asAt, sourceLang, structure, term_languages, gated counts, and authentication. No fluff or repetition; density is justified by the tool's complexity.

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

Completeness5/5

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

Given the output schema exists, the description doesn't need to explain return values, but it still covers all practical aspects an agent needs: how to determine currency (stand vs inForce), how to request current text, how to handle empty containers, when to use sourceLang and asAt, how to access related data via sibling tools, and authentication requirements for derived counts. Nothing critical is missing.

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, but the description adds substantial meaning beyond the schema. It explains the asAt refusal behavior (date_not_covered), clarifies that sourceLang selects held text without translation, notes that expression should come from an ingestion handle, and gives eId format examples. This helps agents use parameters correctly beyond their bare definitions.

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 a specific verb and resource: retrieving the authoritative text of one provision, along with detailed attributes like in-force window, status, concept tags, transposition edges, and provenance. It explicitly distinguishes itself from sibling tools like provision_context (which provides citation rows) and term_languages (for terminology), so an agent can tell it apart without inspecting other tools.

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?

The description gives explicit when-to-use guidance: it explains when to use asAt (only when the held expression has a validity window covering that date), when to omit it (for current text), and when not to use it (avoid for point-in-time if not covered). It also names alternatives for related data, such as provision_context for citation rows and term_languages for multilingual terminology, making routing clear.

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

provision_contextWhat a provision cites, and what changed itA
Read-onlyIdempotent
Inspect

The cross-reference neighbourhood of a provision plus its amendment history. Use this when a provision's relevance is not on its face: a duty that says 'the information referred to in Article 6(1)' is silent about what that information now includes, and about which amending act put it there. Returns citations both ways and the amending acts marked on this provision and on the ones it cites. citedByArticle answers the inbound question at ARTICLE granularity — which provisions of other instruments name THIS article — split into eu and national by the citing instrument's jurisdiction, and distinct from citedBy, which is act-level and returns the same list on every provision of the act.

Lexiara Nexus data requires an API key on a signed-in account. The free plan carries a monthly Nexus allowance; the legislative text itself is always free.

ParametersJSON Schema
NameRequiredDescriptionDefault
eIdYesProvision identifier, e.g. 'art_7__para_1'.
workYesELI of the instrument.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds material beyond that: the API-key/signed-in-account requirement and the free-plan Nexus allowance, plus a subtle output trait (citedBy returning the same act-level list on every provision).

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?

Purpose and the citedByArticle/citedBy distinction are front-loaded, and the auth note is a compact trailing paragraph. It is somewhat dense and slightly long, but every sentence carries information.

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 an output schema present the description need not explain return values, and it still usefully flags the two output fields that are easy to confuse. Combined with the auth disclosure, an agent has enough to call it correctly; the only gap is the absence of explicit sibling routing.

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 both parameters (eId, work) are already documented. The description adds no syntax, format, or identifier guidance beyond the schema, so the baseline 3 applies.

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?

States a precise verb+resource: 'cross-reference neighbourhood of a provision plus its amendment history', and disambiguates its output concepts (citedByArticle vs citedBy). It does not explicitly contrast itself with closely named siblings such as provision_history or related_works, so an agent must infer the boundary.

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?

Gives a concrete trigger: 'Use this when a provision's relevance is not on its face', with a worked example of a silent cross-reference. It stops short of naming when NOT to use it or routing to alternatives like lookup_provision, but the use condition is clear.

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

provision_historyA provision's version historyA
Read-onlyIdempotent
Inspect

Prior and successor versions of one provision across consolidations — how the text got to its current form.

Lexiara Nexus data requires an API key on a signed-in account. The free plan carries a monthly Nexus allowance; the legislative text itself is always free.

ParametersJSON Schema
NameRequiredDescriptionDefault
eIdYesProvision identifier: 'sec_4' (section 4), 'art_2__para_1' (article 2(1)), 'sch_9' (Schedule 9). Use search or history endpoints to discover eIds.
workYesELI URI of the instrument, e.g. 'http://www.legislation.gov.uk/id/ukpga/1994/23' (UK VAT Act 1994) or 'http://data.europa.eu/eli/dir/2006/112/oj' (EU VAT Directive).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety bar is covered. The description adds genuinely new context: an API key on a signed-in account is required and a monthly allowance applies on the free plan, which is quota/permission information not present in the annotations.

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?

Front-loaded with the core purpose in one tight sentence, with no redundancy. The account/allowance sentence is slightly boilerplate and arguably account-level rather than tool-level, but it is behavioral information and reasonably brief.

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 two-parameter read tool with an output schema and full annotation coverage, the description supplies the missing pieces: what the tool returns conceptually (version lineage) and the auth/quota constraint. Return-value detail is legitimately delegated to the output schema.

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 both eId and work are already fully documented in the schema with format examples and discovery hints. The description adds no parameter meaning, making the baseline 3 correct.

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?

States a specific resource and retrieval scope: prior and successor versions of one provision across consolidations. An agent can distinguish this from lookup_provision or provision_context by the 'across consolidations / version history' framing, though no sibling is named explicitly.

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 'how the text got to its current form' implies the use case (historical/version questions), but there is no explicit when-to-use guidance and no named alternative such as provision_context or lookup_provision for point-in-time retrieval.

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

provisions_by_conceptProvisions tagged with a conceptA
Read-onlyIdempotent
Inspect

Cross-jurisdiction view of one legal concept: every provision tagged with the given EuroVoc concept, with tagging method and confidence. E.g. 'eurovoc:4585' (VAT), 'eurovoc:4392' (VAT rate). The language-neutral way to line up EU and national law on the same subject.

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptIdYesNamespaced concept id, e.g. 'eurovoc:4585'.
jurisdictionNoISO country filter, e.g. 'UK', 'FR', 'EU'.
minConfidenceNoDrop tags below this confidence (0-1).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the readOnly annotations, the description explains the actual behavior: it returns all tagged provisions across jurisdictions and includes tagging method and confidence. This gives agents useful expectations about result content and scope, though it does not discuss limits or pagination.

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 concise, front-loads the core behavior, and uses examples effectively without verbosity. Each sentence adds value: definition, example, and use-case rationale.

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 read-only listing tool with a rich output schema and clear annotations, the description is nearly complete. It explains the concept-centric scope and cross-jurisdiction nature, but it does not explicitly mention whether there are pagination or size limits on results, which would be useful for an agent querying broadly.

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 covers all three parameters at 100% coverage gift, and the description adds meaningful context with concrete concept ID examples)Skip. It does not add much semantic detail for jurisdiction or confidence filtering beyond the schema descriptions, but the example and language-neutral framing strengthen conceptId.

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 names a specific operation (cross-jurisdiction view of provisions by EuroVoc concept) and clearly explains what the tool returns: every provision tagged with the given concept, including tagging method and confidence. The examples ('eurovoc:4585', 'eurovoc:4392') anchor the concept and help distinguish it from more general search and definition tools.

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 this tool is appropriate: when you need a language-neutral way to line up EU and national law on the same legal concept. It does not explicitly name alternative siblings or state when not to use it, which keeps it from a 5.

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

recent_changesWhat changed in the corpusA
Read-onlyIdempotent
Inspect

Change feed: provisions added or modified, filterable by jurisdiction, concept and date. detectedAt is when Lexiara observed the change — legal in-force dates come only from the provision itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum items, default 50.
sinceNoISO date: only changes detected after this.
conceptNoRestrict to one concept id, e.g. 'eurovoc:4585'.
jurisdictionNoISO country filter, e.g. 'UK', 'FR', 'EU'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent behavior. The description adds meaningful nuance beyond that: detectedAt reflects when the system observed the change, not the legal in-force date. This helps set expectations about timestamps without contradicting the annotations.

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 filters, with a single important caveat about detectedAt vs. in-force dates. 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?

For a read-only list operation with a full output schema and all parameters documented, the description communicates the essential behavior and the one subtle timestamp distinction. It could be slightly more complete by naming sibling tools, but nothing critical is missing.

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?

Input schema covers all four parameters with clear descriptions (100% coverage), so the baseline applies. The description reinforces the role of jurisdiction, concept, and date filters but does not add significant new meaning beyond the schema.

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 gives a specific resource (“provisions”) and the nature of the feed (“added or modified”), plus the available filters (“jurisdiction, concept and date”). This is clear enough to orient an agent, though it doesn’t explicitly contrast with siblings like provision_history or follow_updates.

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?

There is no guidance on when to choose recent_changes over related tools such as follow_updates, provision_history, or search. The description explains what the tool does but not the context in which it is the right choice.

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

request_ingestionAsk Lexiara to acquire a missing lawA
Idempotent
Inspect

When a lookup returns coverage with requestable: true, ask for the missing instrument instead of stopping or guessing. Give the CELEX (or an EU ELI), the language and the version point; say WHY in one or two sentences; state any testable expectations. Lexiara validates the target, fetches the publisher's own bytes, reads them through the same parser and the same fail-closed checks every other act goes through, and returns handles you repeat your original lookup with.

WHAT THIS TOOL IS NOT. It never fetches a URL you supply — the target must resolve to a publisher identifier this service derives itself, and proposed_sources is recorded as a note for a human and is never dereferenced. It states nothing about what the law means: acquiring an act makes the publisher's text addressable and does nothing else.

EXPECTATIONS ARE HYPOTHESES, NOT INSTRUCTIONS. has_article, has_annex, mentions (three words or more), min_provisions, language_is are checked against the stored rows after publication and reported as matched, contradicted or not_verifiable. A contradicted expectation is reported and the publisher's text is left exactly as published — nothing is invented, translated or back-dated to satisfy one.

Identical targets from different callers JOIN one acquisition; your rationale stays private to your account. Re-send the same idempotency_key to get the same request back rather than a second one. Jobs are asynchronous: read retry_after, then poll get_ingestion_request. This tool creates a request: an OAuth grant with only read cannot call it; reconnect and approve the explicit ingestion:request consent. Existing read grants remain read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
eliNoAn EU ELI on the Publications Office's own domain, if you have no CELEX.
roleNo'law' (default) or 'guidance' for a Commission notice.
celexNoCELEX id of the act, e.g. '32024L0825', or a dated consolidation '02005L0029-20220528'.
intentYesWhat kind of gap this is. `derived_references` refreshes derived references for a held work; missing_component and repair against an act already held re-read THAT expression rather than creating a second one beside it.
originNoLexiara handles you started from (work, eId, expression id). Private.
versionNo'as-adopted' (default), the publisher's consolidation date as YYYY-MM-DD, or 'unresolved' when you genuinely do not know — which returns a question, not a job.
languageNoISO 639-3 language wanted, e.g. 'eng', 'fra'. Default 'eng'.
rationaleNoOne or two sentences: the question, and why this evidence is needed. Private to your account.
expectationsNoUp to ten predicates, each naming exactly one of has_article, has_annex, mentions, min_provisions, language_is.
evidence_pathNoThe shortest path from held material to the missing target: each step a { from, relationship, to } you observed. Private, and evidence for a human, never an instruction.
idempotency_keyNoYour own key for this request. The same key returns the same request.
proposed_sourcesNoOfficial identifiers or locators you believe serve this act. RECORDED AS TEXT AND NEVER FETCHED.
requested_boundsNomaxBytes / maxSeconds you are willing to spend. May only NARROW the server's budget; a larger number is ignored.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

The description goes well beyond the annotations: it discloses that the target is validated, fetched from the publisher's own bytes, run through the same fail-closed checks, and returned as handles for repeating the original lookup. It also clarifies that expectations are hypotheses, not instructions, and that contradicted expectations leave the publisher's text untouched. The idempotent behavior, async retry_after polling, and auth consent limitations are all disclosed, and nothing in the description contradicts the annotations.

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 long, but it earns most of its length with clearly separated sections: core usage, what the tool is not, expectations semantics, and operational caveats. Front-loading the main invocation scenario helps an agent quickly understand the tool's purpose. Some repetition exists around `proposed_sources` never being dereferenced, which also appears in the schema, so it is not perfectly lean.

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

Completeness5/5

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

Given the tool's complexity — 13 parameters, enums, nested objects, async behavior, auth boundaries, and idempotency — the description is remarkably complete. It covers when to call, what will happen, what will not happen, how expectations are handled, how idempotency works, how to poll, and what auth is required. The output schema exists, so the description need not restate return shapes, and nothing critical for correct invocation is missing.

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 cooverage is 100%, so the baseline is 3 and the description does not need to compensate for undocumented parameters. The prose adds helpful cross-cutting context like idempotent keys, private rationale, and expectations being checks rather than instructions, but it does not systematically add per-parameter meaning beyond whatthe schema already provides. This is a solid 3 rather than higher because the extra value lies in behavioral context, not parameter semantics.

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 very specific verb and resource: when a lookup returns `coverage` with `requestable: true`, ask Lexiara to acquire the missing law by creating an ingestion request. It clearly distinguishes this from siblings like get_ingestion_request, get_ingestion_result, and list_ingestion_requests by emphasizing that this tool creates a request rather than reading or listing one.

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?

The description gives explicit when-to-use guidance: only after a lookup indicates `requestable: true`, and explicitly says not to stop or guess. It also names exclusions: it never fetches a user-supplied URL, never interprets law, and requires `ingestion:request` consent beyond a read-only OAuth grant. It even points to the polling flow with get_ingestion_request, making the alternative workflow clear.

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

search_legislationFull-text search across the corpusA
Read-onlyIdempotent
Inspect

Ranked full-text search over provision text. Results carry work, eId, status and provenance — feed a hit's work+eId to lookup_provision for the complete payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum hits, default 10.
queryYesSearch terms, e.g. 'zero-rating of food'.
languageNoRestrict to a text language, e.g. 'eng'.
jurisdictionNoISO country filter, e.g. 'UK', 'FR', 'EU'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description adds value beyond annotations by disclosing that results are ranked and by listing the result fields (work, eId, status, provenance), plus the relationship to lookup_provision.

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, no filler; the first sentence states the core behavior and scope, and the second adds return-field context and a downstream pointer. Every clause earns its place.

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

Completeness5/5

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

With full schema coverage, safety annotations, and an output schema present, nothing essential is missing for selecting and invoking this tool. The description covers ranking, result contents, and how to get the complete payload.

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 input schema already documents all four parameters. The description does not add parameter-specific meaning beyond saying the search is full-text over provision text, so the baseline 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 opens with a specific verb and object: 'Ranked full-text search over provision text.' This clearly differentiates it from siblings like lookup_provision and the generic search by defining both the resource (provision text) and the behavior (ranked full-text).

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?

It provides clear context: this is a ranked full-text search, and it gives an explicit downstream instruction to feed a hit's work+eId to lookup_provision for the complete payload. It does not enumerate exclusions or when-not conditions, but the workflow guidance is enough to route an agent correctly.

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

term_languagesThe same defined term in the act's other authentic languagesA
Read-onlyIdempotent
Inspect

How an act words one of its defined terms in each language version held. NOT a translation: an EU instrument is equally authentic in all 24 official languages (Regulation No 1/1958, article 4), so each wording is the law in that language. Use it to answer 'what do the German and French texts call this?' — e.g. 'commercial guarantee of durability' is 'gewerbliche Haltbarkeitsgarantie' and 'garantie commerciale de durabilité'.

The term may be given in ANY language held, so the German words find the English definition just as well as the other way round.

SCOPE: this is the EU act's own wording per language. It is NOT how a Member State's transposing legislation words it — a national implementation may lawfully choose different wording, and reaching it means following a transposition link that carries a method and a confidence (find_national_implementations). Nothing here is inferred.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYesThe phrase, in any language held. Matched exactly (case-insensitive).
workNoScope to one instrument (ELI or official number).
limitNoMaximum terms, default 8.
jurisdictionNoISO country filter, e.g. 'UK', 'FR', 'EU'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover readOnlyHint, idempotentHint, and destructiveHint, so the description rightly doesn't repeat those. It adds meaningful context beyond the annotations: EU language versions are equally authentic under Regulation No 1/1958, the term may be entered in any language, and results are direct wording, not inferred translations. It does not describe result shape, but an output schema is present and the safety profile is covered by annotations.

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 longer than the minimal two sentences, but every paragraph justifies its presence: core meaning, legal authenticity, a worked example, and a scope exclusion. The Regulation No 1/1958 citation is useful legal context rather than filler. It could be trimmed slightly without losing information, but it is well-structured and front-loaded.

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

Completeness5/5

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

For a tool with 4 parameters, full schema coverage, annotations, and an output schema, the description provides the semantic context that the schema cannot: EU multilingual authenticity, bidirectional lookups, and the distinction from national transpositions. Nothing an agent needs to select this tool over siblings or invoke it correctly appears missing.

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 extra meaning to the term parameter by clarifying that German words find the English definition just as well as the reverse, which is not fully obvious from the schema alone. work, limit, and jurisdiction receive no extra prose, but their schema descriptions are already complete.

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?

Leads with a specific verb+resource: how an act words one of its defined terms in each language version held. It immediately distinguishes itself from translation and from national transposition wording, and the example ('commercial guarantee of durability' vs German/French) makes the purpose concrete. The description clearly differentiates the tool from glossary/lookup siblings by scope.

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?

The description explicitly says when to use it: 'Use it to answer what do the German and French texts call this?' It also gives a when-not-to-use warning about Member State transposing legislation and names the alternative, find_national_implementations. This leaves no ambiguity about tool selection.

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

work_glossaryEvery term an instrument definesA
Read-onlyIdempotent
Inspect

The act's glossary: every term it defines, alphabetical, with the publisher's own wording verbatim and the provision that defines each one. Use it to orient in an unfamiliar instrument, or to check what a term means IN THIS ACT rather than in the corpus at large — several instruments define 'consumer' differently and all are right within their own scope.

AN EMPTY GLOSSARY IS ABOUT OUR READER, NOT THE ACT. Extraction reads the drafting constructions it has been taught and coverage is uneven across legal traditions; provisions is returned so a zero can be read against the size of the instrument. Do not report it as 'this act defines no terms'.

A NULL definition means one of two things: borrowed true means the act takes the meaning from another instrument and states none of its own; otherwise the wording could not be delimited. count is three populations (defines, adoptsCount, undelimited) — never quote it as one.

The definitions are free. Only the adopts resolution (which act a borrowed definition comes from) is Lexiara Nexus data requiring an API key on a signed-in account.

ParametersJSON Schema
NameRequiredDescriptionDefault
workYesELI or official number of the instrument, e.g. '32011L0083'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish readOnly/idempotent/non-destructive, and the description adds substantial context beyond them: the warning that an empty glossary reflects extraction coverage rather than the act, the two-way meaning of a null definition (borrowed vs undelimited), the three-population nature of count, and the API-key requirement for the adopts resolution. This is exactly the behavioral detail annotations cannot carry.

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?

Front-loads the core definition before the caveats, and each paragraph carries distinct information. The all-caps warnings and long caveat block are slightly heavy, but virtually every sentence earns its place by preventing a specific misreading.

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

Completeness5/5

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

With an output schema present, the description need not explain return values, yet it still clarifies the ambiguous ones (count populations, null definitions). Combined with the annotations covering safety, nothing an agent needs to call this correctly is missing.

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% for the single required 'work' param, so the schema already documents format and examples. The description's field-level talk (count, provisions, borrowed, adopts) concerns outputs, not input semantics, so it adds nothing to the input parameter. Baseline 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?

States a specific resource (the act's glossary) with concrete scope modifiers: every term it defines, alphabetical, verbatim wording, plus the defining provision. It explicitly distinguishes itself from the corpus-wide alternative by emphasizing meanings 'IN THIS ACT rather than in the corpus at large', which separates it from the sibling define_term.

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?

Gives two concrete use cases (orient in an unfamiliar instrument; verify a term's meaning within this act) and the condition that selects this tool over the corpus-level alternative. It also sets an explicit when-NOT-to-report rule: 'Do not report it as this act defines no terms' when the glossary is empty.

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

work_mentionsWho names this act, provision by provisionA
Read-onlyIdempotent
Inspect

The act-level overview: every provision of every instrument in this corpus that names the given act, grouped by citing instrument, with the article of the act each citation resolved to (targetEId, null where the citation is act-level — which is most of them, and is not a defect). Each instrument also carries adoptions: definitions it BORROWS from this act rather than writing, which is a different claim and is counted apart, never summed with the citations. Use related_works for the same question at instrument level, which is public. A row asserts that the provision NAMES this act, and nothing about whether it implements or corresponds to it.

Lexiara Nexus data requires an API key on a signed-in account. The free plan carries a monthly Nexus allowance; the legislative text itself is always free.

ParametersJSON Schema
NameRequiredDescriptionDefault
eliYesELI URI or official number of the instrument — a French code has only the latter.
limitNoMaximum citing provisions, default 500, cap 2000.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), and the description adds real context: the null targetEId case is expected and not a defect, adoptions are borrowed definitions counted separately and never summed with citations, and Nexus data requires a signed-in API key with a monthly allowance. That is meaningful disclosure beyond the annotations.

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?

Dense but front-loaded: the act-level overview and grouping come first, then the scope caveat, then the sibling routing. The trailing API-key/allowance sentence is somewhat boilerplate but still earns its place for access planning.

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

Completeness5/5

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

With an output schema present, return values need not be explained, yet the description still clarifies the ambiguous output semantics (targetEId null, adoptions vs citations) and the scope limitation. An agent has everything needed to call and interpret it 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?

Schema coverage is 100% and the eli and limit parameters (default 500, cap 2000) are documented in the schema itself. The description adds no syntax or format detail about eli or limit, so baseline 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?

States a precise verb+resource ('every provision of every instrument ... that names the given act') and the grouping granularity (by citing instrument). It explicitly distinguishes itself from the sibling related_works and from implementation-oriented tools by stating what a row does and does not assert.

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?

Names the alternative (related_works) and the condition that selects it ('the same question at instrument level, which is public'), and implicitly routes implementation questions elsewhere by saying a row says nothing about implementation. No explicit statement of when-not-to-use beyond that, so slightly short of a 5.

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. 1 tool update
    • Changeddefine_term1 field changed
      • addedInput schema / properties / work
        Added value: +{
        +  "description": "ELI or official number of the borrowing/defining instrument; scopes the term to that instrument.",
        +  "type": "string"
        +}
  2. 3 tool updates
    • Addedlist_ingestion_requests
    • Changedlookup_provision1 field changed
      • addedInput schema / properties / expression
        Added value: +{
        +  "description": "Optional exact expression UUID, normally from an ingestion result handle. Preserves the selected expression and language; use only a handle returned by Lexiara.",
        +  "type": "string"
        +}
    • Changedrequest_ingestion2 fields changed
      • changedInput schema / properties / intent / description
        Previous value: -"What kind of gap this is. missing_component and repair against an act already held re-read THAT expression rather than creating a second one beside it."New value: +"What kind of gap this is. `derived_references` refreshes derived references for a held work; missing_component and repair against an act already held re-read THAT expression rather than creating a second one beside it."
      • changedInput schema / properties / intent / enum
        Previous value: -[
        -  "new_work",
        -  "missing_component",
        -  "language_counterpart",
        -  "version",
        -  "repair"
        -]New value: +[
        +  "new_work",
        +  "missing_component",
        +  "language_counterpart",
        +  "version",
        +  "repair",
        +  "derived_references"
        +]
  3. 4 tool updates
    • Changedget_coverage2 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Optional ISO 639-3 code, e.g. 'fra', to ask about one language version.",
        +  "type": "string"
        +}
      • addedInput schema / properties / work
        Added value: +{
        +  "description": "Optional: ask about ONE instrument by CELEX, ELI or official number. The answer then carries `requested.gap` — metadata-only, language-not-held or not-held — or `requested.held: true` when the corpus holds it.",
        +  "type": "string"
        +}
    • Addedget_ingestion_request
    • Addedget_ingestion_result
    • Addedrequest_ingestion
  4. 1 tool update
    • Changedlookup_provision1 field changed
      • addedInput schema / properties / sourceLang
        Added value: +{
        +  "description": "Stored three-letter source language, e.g. eng or fra. Selects held text, never generates translation.",
        +  "type": "string"
        +}
  5. 1 tool update
    • Changedlookup_provision1 field changed
      • changedInput schema / properties / asAt / description
        Previous value: -"Optional date YYYY-MM-DD: the law as it stood on that day."New value: +"Optional real calendar date YYYY-MM-DD. Text is returned only from a held expression whose explicit validity window covers that day; otherwise `date_not_covered` is returned. Omit for current text."
  6. 21 tool updates
    • Changeddefine_term1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Addedfetch
    • Changedfind_national_implementations1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedfollow_updates1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedget_coverage1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedget_topic1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedguidance_for_provision1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedlist_follows1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedlist_review_queue1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedlist_topics1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedlookup_provision2 fields changed
      • removedInput schema / properties / lang
        Removed value: -{
        -  "description": "Optional ISO 639 language code, two or three letters, e.g. 'eng'. Generating a NEW machine translation needs an identified caller; authentic versions and already-cached ones are served to anyone.",
        -  "type": "string"
        -}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedprovision_context1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedprovision_history1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedprovisions_by_concept1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedrecent_changes1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedrelated_works1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Addedsearch
    • Changedsearch_legislation1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedterm_languages1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedwork_glossary1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
    • Changedwork_mentions1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "The JSON response from the corresponding Lexiara API route.",
        +  "type": "object"
        +}
  7. 1 tool update
    • Changedlookup_provision1 field changed
      • changedInput schema / properties / lang / description
        Previous value: -"Optional ISO 639 language, e.g. 'eng', 'fra'."New value: +"Optional ISO 639 language code, two or three letters, e.g. 'eng'. Generating a NEW machine translation needs an identified caller; authentic versions and already-cached ones are served to anyone."
  8. 1 tool update
    • Addedguidance_for_provision
  9. 18 tool updates
    • First observeddefine_term
    • First observedfind_national_implementations
    • First observedfollow_updates
    • First observedget_coverage
    • First observedget_topic
    • First observedlist_follows
    • First observedlist_review_queue
    • First observedlist_topics
    • First observedlookup_provision
    • First observedprovision_context
    • First observedprovision_history
    • First observedprovisions_by_concept
    • First observedrecent_changes
    • First observedrelated_works
    • First observedsearch_legislation
    • First observedterm_languages
    • First observedwork_glossary
    • First observedwork_mentions

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources