Skip to main content
Glama

Look up a provision's text

lookup_provision
Read-onlyIdempotent

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.

Input Schema

TableJSON 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 from list_work_versions or 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

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / expression / description
      Previous value: -"Optional exact expression UUID, normally from an ingestion result handle. Preserves the selected expression and language; use only a handle returned by Lexiara."New value: +"Optional exact expression UUID from list_work_versions or an ingestion result handle. Preserves the selected expression and language; use only a handle returned by Lexiara."
  2. Changed1 schema 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"
      +}
  3. Changed1 schema 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"
      +}
  4. Changed1 schema 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."
  5. Changed2 schema 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"
      +}
  6. Changed1 schema 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."
  7. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent/non-destructive, but the description adds substantial context beyond them: a named refusal mode (`date_not_covered`), an explicit no-machine-translation policy, entitlement gating ('provision text is always free; only gated counts require an API key'), and the rule that empty container text means 'follow children' rather than missing law.

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 is front-loaded and each sentence carries distinct information, but the paragraph on output fields (`stand`, `sentence`, `structure`, `gated.citedByArticle`) is dense and partly overlaps the output schema. The description is long, though the length is largely 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 an output schema exists, the description does not need to document return values, yet it covers everything an agent needs: refusal behavior, entitlement boundary, language selection, point-in-time semantics, and container/child traversal. Nothing material is left for the agent to guess.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds nuance the schema does not carry, such as `sourceLang` being combinable with `asAt`, and that children should be followed with the same `sourceLang`/`asAt`. The explanation of `asAt` and `sourceLang` semantics largely restates the schema, so it is not a full 5.

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 first sentence names a specific verb and resource ('Authoritative text of one provision') and enumerates the payload (in-force window, status, tags, transposition edges, provenance). It also explicitly distinguishes itself from a sibling by stating that citation rows come from provision_context rather than this tool.

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 conditions: use `asAt` only where a held expression has a validity window covering that date, otherwise expect `date_not_covered`; omit `asAt` for current text; use `sourceLang` to select held text and never to translate. It also routes to alternatives ('Use term_languages for authentic multilingual terminology', provision_context for citation rows).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources