Lexiara

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

사용해야 할까요

품질 및 안전성

A
설명 품질
98%
스키마 완전성
93%
이름 품질
90%
오염 위험
100%
권한 일치
90%
프로토콜 준수
100%

발견 사항 (2)

  • LOWTool 'provisions_by_concept' description lacks action verbprovisions_by_concept에서
  • LOWTool 'fetch' suggests web access but openWorldHint=falsefetch에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~7,647토큰 (도구 정의)
~1.7 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 5.97%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "lexiara": {
      "url": "https://lexiara.org/mcp"
    }
  }
}

원격 엔드포인트

https://lexiara.org/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (25)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search(query)

Search Lexiara's bounded EU and UK legislation corpus. Returns compact, citable results with opaque ids; pass an id unchanged to fetch for the provision text and provenance.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Natural-language or keyword search over legislation."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Opaque identifier to pass unchanged to fetch."
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "Absolute canonical Lexiara URL."
          }
        },
        "required": [
          "id",
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "results"
  ],
  "additionalProperties": false
}
🟢fetch(id)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Opaque identifier returned by the search tool."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "Absolute canonical Lexiara URL."
    },
    "metadata": {
      "type": "object",
      "additionalProperties": true
    }
  },
  "required": [
    "id",
    "title",
    "text",
    "url"
  ],
  "additionalProperties": false
}
🟢lookup_provision(work, eId, expression, sourceLang, asAt)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "work": {
      "type": "string",
      "description": "ELI 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)."
    },
    "eId": {
      "type": "string",
      "description": "Provision identifier: 'sec_4' (section 4), 'art_2__para_1' (article 2(1)), 'sch_9' (Schedule 9). Use search or history endpoints to discover eIds."
    },
    "expression": {
      "type": "string",
      "description": "Optional exact expression UUID, normally from an ingestion result handle. Preserves the selected expression and language; use only a handle returned by Lexiara."
    },
    "sourceLang": {
      "type": "string",
      "description": "Stored three-letter source language, e.g. eng or fra. Selects held text, never generates translation."
    },
    "asAt": {
      "type": "string",
      "description": "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."
    }
  },
  "required": [
    "work",
    "eId"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢search_legislation(query, jurisdiction, language, limit)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search terms, e.g. 'zero-rating of food'."
    },
    "jurisdiction": {
      "type": "string",
      "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'."
    },
    "language": {
      "type": "string",
      "description": "Restrict to a text language, e.g. 'eng'."
    },
    "limit": {
      "type": "number",
      "description": "Maximum hits, default 10."
    }
  },
  "required": [
    "query"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢provision_context(work, eId)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "work": {
      "type": "string",
      "description": "ELI of the instrument."
    },
    "eId": {
      "type": "string",
      "description": "Provision identifier, e.g. 'art_7__para_1'."
    }
  },
  "required": [
    "work",
    "eId"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢define_term(term, jurisdiction, work, limit)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "type": "string",
      "description": "The phrase, e.g. 'durable medium'. Matched exactly (case-insensitive)."
    },
    "jurisdiction": {
      "type": "string",
      "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'."
    },
    "work": {
      "type": "string",
      "description": "ELI or official number of the borrowing/defining instrument; scopes the term to that instrument."
    },
    "limit": {
      "type": "number",
      "description": "Maximum definitions, default 8."
    }
  },
  "required": [
    "term"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢work_glossary(work)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "work": {
      "type": "string",
      "description": "ELI or official number of the instrument, e.g. '32011L0083'."
    }
  },
  "required": [
    "work"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢term_languages(term, work, jurisdiction, limit)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "type": "string",
      "description": "The phrase, in any language held. Matched exactly (case-insensitive)."
    },
    "work": {
      "type": "string",
      "description": "Scope to one instrument (ELI or official number)."
    },
    "jurisdiction": {
      "type": "string",
      "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'."
    },
    "limit": {
      "type": "number",
      "description": "Maximum terms, default 8."
    }
  },
  "required": [
    "term"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢provisions_by_concept(conceptId, jurisdiction, minConfidence)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "conceptId": {
      "type": "string",
      "description": "Namespaced concept id, e.g. 'eurovoc:4585'."
    },
    "jurisdiction": {
      "type": "string",
      "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'."
    },
    "minConfidence": {
      "type": "number",
      "description": "Drop tags below this confidence (0-1)."
    }
  },
  "required": [
    "conceptId"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢related_works(eli, direction)

Edges between instruments: which national laws transpose a directive (direction 'in'), or what an instrument implements/amends (direction 'out'). Instrument-level; for article-level links use find_national_implementations.

입력 스키마

{
  "type": "object",
  "properties": {
    "eli": {
      "type": "string",
      "description": "ELI 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)."
    },
    "direction": {
      "type": "string",
      "enum": [
        "in",
        "out"
      ],
      "description": "'in' = edges pointing at this work (default), 'out' = from it."
    }
  },
  "required": [
    "eli"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢work_mentions(eli, limit)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "eli": {
      "type": "string",
      "description": "ELI URI or official number of the instrument — a French code has only the latter."
    },
    "limit": {
      "type": "number",
      "description": "Maximum citing provisions, default 500, cap 2000."
    }
  },
  "required": [
    "eli"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢provision_history(work, eId)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "work": {
      "type": "string",
      "description": "ELI 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)."
    },
    "eId": {
      "type": "string",
      "description": "Provision identifier: 'sec_4' (section 4), 'art_2__para_1' (article 2(1)), 'sch_9' (Schedule 9). Use search or history endpoints to discover eIds."
    }
  },
  "required": [
    "work",
    "eId"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢find_national_implementations(work, eId, jurisdiction, minConfidence)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "work": {
      "type": "string",
      "description": "ELI of the EU instrument, e.g. the VAT Directive."
    },
    "eId": {
      "type": "string",
      "description": "Provision identifier: 'sec_4' (section 4), 'art_2__para_1' (article 2(1)), 'sch_9' (Schedule 9). Use search or history endpoints to discover eIds."
    },
    "jurisdiction": {
      "type": "string",
      "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'."
    },
    "minConfidence": {
      "type": "number",
      "description": "Drop links below this confidence (0-1)."
    }
  },
  "required": [
    "work",
    "eId"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢guidance_for_provision(work, eId, includeActLevel)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "work": {
      "type": "string",
      "description": "ELI 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)."
    },
    "eId": {
      "type": "string",
      "description": "Provision identifier: 'sec_4' (section 4), 'art_2__para_1' (article 2(1)), 'sch_9' (Schedule 9). Use search or history endpoints to discover eIds."
    },
    "includeActLevel": {
      "type": "boolean",
      "description": "Also 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."
    }
  },
  "required": [
    "work",
    "eId"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢list_topics(subject)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string",
      "description": "Subject head concept id, e.g. 'local:consumer'."
    }
  },
  "required": [
    "subject"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢get_topic(conceptId)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "conceptId": {
      "type": "string",
      "description": "Topic concept id, e.g. 'local:topic-pre-contract-information'."
    }
  },
  "required": [
    "conceptId"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢recent_changes(jurisdiction, concept, since, limit)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "jurisdiction": {
      "type": "string",
      "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'."
    },
    "concept": {
      "type": "string",
      "description": "Restrict to one concept id, e.g. 'eurovoc:4585'."
    },
    "since": {
      "type": "string",
      "description": "ISO date: only changes detected after this."
    },
    "limit": {
      "type": "number",
      "description": "Maximum items, default 50."
    }
  }
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢list_review_queue(kind, vertical, jurisdiction, limit, offset, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "description": "Comma-separated kinds: transposition, tag, topic-description, jurisdiction-note, finding. Omit for all."
    },
    "vertical": {
      "type": "string",
      "description": "Vertical id, e.g. 'eu-consumer', 'fr-consumer', 'es-consumer'."
    },
    "jurisdiction": {
      "type": "string",
      "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'."
    },
    "limit": {
      "type": "number",
      "description": "Maximum items, default 20, max 100."
    },
    "offset": {
      "type": "number",
      "description": "Skip this many items — the queue is paged, not sampled."
    },
    "chars": {
      "type": "number",
      "description": "Characters 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."
    },
    "lowConfidence": {
      "type": "number",
      "description": "Also 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."
    }
  }
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢list_follows

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.

입력 스키마

{
  "type": "object",
  "properties": {}
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢follow_updates(since, minSignificance, limit)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "since": {
      "type": "string",
      "description": "ISO timestamp. Omit to use each follow's own last read."
    },
    "minSignificance": {
      "type": "string",
      "description": "Floor for this call: major | minor | housekeeping."
    },
    "limit": {
      "type": "number",
      "description": "Maximum developments, default 100."
    }
  }
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢get_coverage(work, language)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "work": {
      "type": "string",
      "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."
    },
    "language": {
      "type": "string",
      "description": "Optional ISO 639-3 code, e.g. 'fra', to ask about one language version."
    }
  }
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟡request_ingestion(celex, eli, language, version, role, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "celex": {
      "type": "string",
      "description": "CELEX id of the act, e.g. '32024L0825', or a dated consolidation '02005L0029-20220528'."
    },
    "eli": {
      "type": "string",
      "description": "An EU ELI on the Publications Office's own domain, if you have no CELEX."
    },
    "language": {
      "type": "string",
      "description": "ISO 639-3 language wanted, e.g. 'eng', 'fra'. Default 'eng'."
    },
    "version": {
      "type": "string",
      "description": "'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."
    },
    "role": {
      "type": "string",
      "enum": [
        "law",
        "guidance"
      ],
      "description": "'law' (default) or 'guidance' for a Commission notice."
    },
    "intent": {
      "type": "string",
      "enum": [
        "new_work",
        "missing_component",
        "language_counterpart",
        "version",
        "repair",
        "derived_references"
      ],
      "description": "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."
    },
    "rationale": {
      "type": "string",
      "description": "One or two sentences: the question, and why this evidence is needed. Private to your account."
    },
    "origin": {
      "type": "object",
      "description": "Lexiara handles you started from (work, eId, expression id). Private.",
      "additionalProperties": true
    },
    "evidence_path": {
      "type": "array",
      "description": "The 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.",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "proposed_sources": {
      "type": "array",
      "description": "Official identifiers or locators you believe serve this act. RECORDED AS TEXT AND NEVER FETCHED.",
      "items": {
        "type": "string"
      }
    },
    "expectations": {
      "type": "array",
      "description": "Up to ten predicates, each naming exactly one of has_article, has_annex, mentions, min_provisions, language_is.",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "idempotency_key": {
      "type": "string",
      "description": "Your own key for this request. The same key returns the same request."
    },
    "requested_bounds": {
      "type": "object",
      "description": "maxBytes / maxSeconds you are willing to spend. May only NARROW the server's budget; a larger number is ignored.",
      "additionalProperties": true
    }
  },
  "required": [
    "intent"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢list_ingestion_requests

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.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢get_ingestion_request(request_id)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string",
      "description": "The request_id request_ingestion returned."
    }
  },
  "required": [
    "request_id"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}
🟢get_ingestion_result(request_id)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string",
      "description": "The request_id request_ingestion returned."
    }
  },
  "required": [
    "request_id"
  ]
}

출력 스키마

{
  "type": "object",
  "description": "The JSON response from the corresponding Lexiara API route.",
  "additionalProperties": true
}

권장 프롬프트

search_research
Search for information about [topic] using Lexiara
예상 도구: search
find_specific
Find [specific item] using Lexiara
예상 도구: search
retrieve_data
Get details about [item] from Lexiara
예상 도구: fetch
fetch_info
Fetch [information type] using Lexiara
예상 도구: fetch
list_items
List all [items] available in Lexiara
예상 도구: list_topics

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 25개
검증됨버전이 기록되지 않음도구 25개