Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,559Letters: 14Defects: 1,336counted 4 min ago
teppi

Server definition

Hash
sha256:e691794b6084f35f08f5ed23d9b37cf352787e4491d19bd3734327dfd1e8458a
What it is
What a remote MCP server returned when asked what it offers: 31 tools

The blob, as servednamed by its sha256

{ "instructions": "Lexiara serves authoritative legislation text with provenance. Every provision payload carries an `authoritative` flag and a `provenance` block (source URL, retrieval date, licence, content hash); cite the source URL, and treat `authoritative: false` text as a reading aid, never as the operative law. Derived data (transposition links, concept tags) carries method and confidence — anything not method='human' is a lead to verify. Works are identified by ELI URIs, provisions by eIds such as 'sec_4' (UK section 4), 'art_2__para_1' (article 2(1)), or 'sch_8__part_ii__grp_1__para_1' (UK Schedule 8 Part II Group 1 item 1). When a lookup returns a `coverage` block with `requestable: true`, the law is missing from THIS corpus rather than nonexistent: use request_ingestion with the `request_hint`, then poll get_ingestion_request and repeat the original lookup with the handles get_ingestion_result returns. Never fill a gap by inventing text. request_ingestion is the one write in this catalogue: an OAuth connection granted only `read` cannot call it; the caller must reconnect and approve the explicit `ingestion:request` consent. Existing read grants remain read-only.", "tools": [ { "description": "One defined term across the whole corpus: each distinct WORDING with the publisher's own text and the instruments that write it, every instrument that borrows it (with the chain of acts it passes through), the instruments that cite a defining provision, and the term's labels in the act's other authentic EU languages. Ask this when a term is defined differently in different instruments ('producer' under WEEE, the Batteries Regulation and the PPWR) and the answer depends on which. Each instrument carries `pivotWhy`: why the term matters in THAT act ('carries 38 duties · 6 other definitions build on it').\n\nMeanings are separated on facts only: identical words are grouped, different words are listed apart, and a borrowing is attached to what the borrowing act names. Never state that two different wordings mean the same thing on the strength of this tool. A query by a borrower's own label (an alias) returns the family it borrows into.\n\nThe definitions and defining instruments are free. The borrowing chains and citations are Lexiara Nexus data requiring an API key on a signed-in account; without one the arrays are empty and `gated` says how many were withheld.", "inputSchema": { "properties": { "term": { "description": "The defined term, e.g. 'producer'. Matched exactly (case-insensitive).", "type": "string" } }, "required": [ "term" ], "type": "object" }, "name": "concept_family", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.\n\nThe 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.", "inputSchema": { "properties": { "jurisdiction": { "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'.", "type": "string" }, "limit": { "description": "Maximum definitions, default 8.", "type": "number" }, "term": { "description": "The phrase, e.g. 'durable medium'. Matched exactly (case-insensitive).", "type": "string" }, "work": { "description": "ELI or official number of the borrowing/defining instrument; scopes the term to that instrument.", "type": "string" } }, "required": [ "term" ], "type": "object" }, "name": "define_term", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "Research source-bound EU role requirements with exact passages, act-specific definitions, conditions, unknown facts and EN/FR/DE/IT official source availability. Select multiple roles and an optional activity, product, Spain or France, and date. Country links carry their relationship type and review state. Informative national text appears only as a separate research lead, not verified country coverage. An absent link is a coverage gap, never proof that national law is absent. This is a bounded research aid, not a compliance verdict. Uses the ordinary signed-in Nexus allowance.", "inputSchema": { "properties": { "activity": { "description": "Activity from the response catalogue, e.g. selling-online.", "type": "string" }, "asAt": { "description": "YYYY-MM-DD; only source-supported dates are shown.", "type": "string" }, "country": { "description": "ES or FR for national connections.", "type": "string" }, "product": { "description": "Product from the response catalogue, e.g. consumer-goods.", "type": "string" }, "roles": { "description": "Comma-separated scoped role keys, e.g. crd:trader,gpsr:manufacturer. Omit to see all current candidates.", "type": "string" }, "term": { "description": "Optional actor label or exact phrase in a candidate quotation. Discovery only; shared labels do not equate legal definitions or establish applicability.", "type": "string" }, "work": { "description": "Optional legislation ELI; scope candidates and legal roles to this act.", "type": "string" } }, "type": "object" }, "name": "explore_role_requirements", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "id": { "description": "Opaque identifier returned by the search tool.", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "fetch", "outputSchema": { "additionalProperties": false, "properties": { "id": { "type": "string" }, "metadata": { "additionalProperties": true, "type": "object" }, "text": { "type": "string" }, "title": { "type": "string" }, "url": { "description": "Absolute canonical Lexiara URL.", "type": "string" } }, "required": [ "id", "title", "text", "url" ], "type": "object" } }, { "description": "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. Check evidenceStatus: a current national consolidated reading aid may be informative rather than authoritative, and older links may be stale.\n\nLexiara 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.", "inputSchema": { "properties": { "eId": { "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.", "type": "string" }, "jurisdiction": { "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'.", "type": "string" }, "minConfidence": { "description": "Drop links below this confidence (0-1).", "type": "number" }, "work": { "description": "ELI of the EU instrument, e.g. the VAT Directive.", "type": "string" } }, "required": [ "work", "eId" ], "type": "object" }, "name": "find_national_implementations", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "limit": { "description": "Maximum developments, default 100.", "type": "number" }, "minSignificance": { "description": "Floor for this call: major | minor | housekeeping.", "type": "string" }, "since": { "description": "ISO timestamp. Omit to use each follow's own last read.", "type": "string" } }, "type": "object" }, "name": "follow_updates", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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'.\n\nPass `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.", "inputSchema": { "properties": { "language": { "description": "Optional ISO 639-3 code, e.g. 'fra', to ask about one language version.", "type": "string" }, "work": { "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" } }, "type": "object" }, "name": "get_coverage", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "request_id": { "description": "The request_id request_ingestion returned.", "type": "string" } }, "required": [ "request_id" ], "type": "object" }, "name": "get_ingestion_request", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "request_id": { "description": "The request_id request_ingestion returned.", "type": "string" } }, "required": [ "request_id" ], "type": "object" }, "name": "get_ingestion_result", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "Recheck current official passages and connections against a private saved view. The change list separates later publisher versions, parser corrections, newly acquired material and review status; inspect the cited current result before relying on a connection. Read-only.", "inputSchema": { "properties": { "id": { "description": "UUID returned by list_saved_role_views.", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "get_saved_role_view", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "conceptId": { "description": "Topic concept id, e.g. 'local:topic-pre-contract-information'.", "type": "string" } }, "required": [ "conceptId" ], "type": "object" }, "name": "get_topic", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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. \n\nEVERY 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.\n\nLexiara 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.", "inputSchema": { "properties": { "eId": { "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.", "type": "string" }, "includeActLevel": { "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.", "type": "boolean" }, "work": { "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).", "type": "string" } }, "required": [ "work", "eId" ], "type": "object" }, "name": "guidance_for_provision", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "Terms of art ranked by how many instruments in this corpus DEFINE them, BORROW them from another act (followed through every intermediate act — an act that takes 'video-sharing platform' from the DSA, which takes it from the AVMSD, counts for the AVMSD's definition) or CITE a defining provision. Nothing in the list was chosen by hand. `tier` 'pivotal' means at least one act is written around the term — its duties are addressed to it, its other definitions build on it, its title and headings name it; 'shared' is a label many acts define, each for itself, that none turns on ('specified', 'prescribed'). Use it to find the anchoring concepts of an area — 'producer', 'economic operator', 'controller' — then call concept_family for one of them.\n\nEach count is its own population: `reachWorks` is their union by work, never their sum. Quote them under their own names.", "inputSchema": { "properties": { "jurisdiction": { "description": "Only concepts that reach this jurisdiction, e.g. 'EU', 'GB', 'ES'.", "type": "string" }, "limit": { "description": "Maximum concepts: 50, 100 (default), 200 or 500.", "type": "number" } }, "type": "object" }, "name": "list_concepts", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "list_follows", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_ingestion_requests", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "chars": { "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.", "type": "number" }, "jurisdiction": { "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'.", "type": "string" }, "kind": { "description": "Comma-separated kinds: transposition, tag, topic-description, jurisdiction-note, finding. Omit for all.", "type": "string" }, "limit": { "description": "Maximum items, default 20, max 100.", "type": "number" }, "lowConfidence": { "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": "number" }, "offset": { "description": "Skip this many items — the queue is paged, not sampled.", "type": "number" }, "vertical": { "description": "Vertical id, e.g. 'eu-consumer', 'fr-consumer', 'es-consumer'.", "type": "string" } }, "type": "object" }, "name": "list_review_queue", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "List private role and country research views belonging to the connected account. Each view is a snapshot for comparison, not a compliance verdict. Read-only; saving and deleting views require a person's own HTTP account access.", "inputSchema": { "properties": {}, "type": "object" }, "name": "list_saved_role_views", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "subject": { "description": "Subject head concept id, e.g. 'local:consumer'.", "type": "string" } }, "required": [ "subject" ], "type": "object" }, "name": "list_topics", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "Find same-language publisher expressions for one EU act. Each entry has an exact expression ID, source hash and a consolidation marker or as-adopted label. These markers identify text; they do not prove when it applied. Pass a returned expression ID to lookup_provision to read that exact text. Use asAt only when the source carries an explicit validity window.", "inputSchema": { "additionalProperties": false, "properties": { "sourceLang": { "description": "Optional held three-letter EU source language, e.g. fra or ita.", "type": "string" }, "work": { "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).", "type": "string" } }, "required": [ "work" ], "type": "object" }, "name": "list_work_versions", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.\n\nThe 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.", "inputSchema": { "properties": { "asAt": { "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.", "type": "string" }, "eId": { "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.", "type": "string" }, "expression": { "description": "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.", "type": "string" }, "sourceLang": { "description": "Stored three-letter source language, e.g. eng or fra. Selects held text, never generates translation.", "type": "string" }, "work": { "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).", "type": "string" } }, "required": [ "work", "eId" ], "type": "object" }, "name": "lookup_provision", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.\n\nLexiara 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.", "inputSchema": { "properties": { "eId": { "description": "Provision identifier, e.g. 'art_7__para_1'.", "type": "string" }, "work": { "description": "ELI of the instrument.", "type": "string" } }, "required": [ "work", "eId" ], "type": "object" }, "name": "provision_context", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "Prior and successor versions of one provision across consolidations — how the text got to its current form.\n\nLexiara 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.", "inputSchema": { "properties": { "eId": { "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.", "type": "string" }, "work": { "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).", "type": "string" } }, "required": [ "work", "eId" ], "type": "object" }, "name": "provision_history", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "conceptId": { "description": "Namespaced concept id, e.g. 'eurovoc:4585'.", "type": "string" }, "jurisdiction": { "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'.", "type": "string" }, "minConfidence": { "description": "Drop tags below this confidence (0-1).", "type": "number" } }, "required": [ "conceptId" ], "type": "object" }, "name": "provisions_by_concept", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "concept": { "description": "Restrict to one concept id, e.g. 'eurovoc:4585'.", "type": "string" }, "jurisdiction": { "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'.", "type": "string" }, "limit": { "description": "Maximum items, default 50.", "type": "number" }, "since": { "description": "ISO date: only changes detected after this.", "type": "string" } }, "type": "object" }, "name": "recent_changes", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "direction": { "description": "'in' = edges pointing at this work (default), 'out' = from it.", "enum": [ "in", "out" ], "type": "string" }, "eli": { "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).", "type": "string" } }, "required": [ "eli" ], "type": "object" }, "name": "related_works", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.\n\nWHAT 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.\n\nEXPECTATIONS 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.\n\nIdentical 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.", "inputSchema": { "properties": { "celex": { "description": "CELEX id of the act, e.g. '32024L0825', or a dated consolidation '02005L0029-20220528'.", "type": "string" }, "eli": { "description": "An EU ELI on the Publications Office's own domain, if you have no CELEX.", "type": "string" }, "evidence_path": { "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": { "additionalProperties": true, "type": "object" }, "type": "array" }, "expectations": { "description": "Up to ten predicates, each naming exactly one of has_article, has_annex, mentions, min_provisions, language_is.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "idempotency_key": { "description": "Your own key for this request. The same key returns the same request.", "type": "string" }, "intent": { "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.", "enum": [ "new_work", "missing_component", "language_counterpart", "version", "repair", "derived_references" ], "type": "string" }, "language": { "description": "ISO 639-3 language wanted, e.g. 'eng', 'fra'. Default 'eng'.", "type": "string" }, "origin": { "additionalProperties": true, "description": "Lexiara handles you started from (work, eId, expression id). Private.", "type": "object" }, "proposed_sources": { "description": "Official identifiers or locators you believe serve this act. RECORDED AS TEXT AND NEVER FETCHED.", "items": { "type": "string" }, "type": "array" }, "rationale": { "description": "One or two sentences: the question, and why this evidence is needed. Private to your account.", "type": "string" }, "requested_bounds": { "additionalProperties": true, "description": "maxBytes / maxSeconds you are willing to spend. May only NARROW the server's budget; a larger number is ignored.", "type": "object" }, "role": { "description": "'law' (default) or 'guidance' for a Commission notice.", "enum": [ "law", "guidance" ], "type": "string" }, "version": { "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.", "type": "string" } }, "required": [ "intent" ], "type": "object" }, "name": "request_ingestion", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "query": { "description": "Natural-language or keyword search over legislation.", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search", "outputSchema": { "additionalProperties": false, "properties": { "results": { "items": { "additionalProperties": false, "properties": { "id": { "description": "Opaque identifier to pass unchanged to fetch.", "type": "string" }, "title": { "type": "string" }, "url": { "description": "Absolute canonical Lexiara URL.", "type": "string" } }, "required": [ "id", "title", "url" ], "type": "object" }, "type": "array" } }, "required": [ "results" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "jurisdiction": { "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'.", "type": "string" }, "language": { "description": "Restrict to a text language, e.g. 'eng'.", "type": "string" }, "limit": { "description": "Maximum hits, default 10.", "type": "number" }, "query": { "description": "Search terms, e.g. 'zero-rating of food'.", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search_legislation", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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é'.\n\nThe term may be given in ANY language held, so the German words find the English definition just as well as the other way round.\n\nSCOPE: 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.", "inputSchema": { "properties": { "jurisdiction": { "description": "ISO country filter, e.g. 'UK', 'FR', 'EU'.", "type": "string" }, "limit": { "description": "Maximum terms, default 8.", "type": "number" }, "term": { "description": "The phrase, in any language held. Matched exactly (case-insensitive).", "type": "string" }, "work": { "description": "Scope to one instrument (ELI or official number).", "type": "string" } }, "required": [ "term" ], "type": "object" }, "name": "term_languages", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.\n\nAN 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'.\n\nA 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.\n\nThe 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.", "inputSchema": { "properties": { "work": { "description": "ELI or official number of the instrument, e.g. '32011L0083'.", "type": "string" } }, "required": [ "work" ], "type": "object" }, "name": "work_glossary", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } }, { "description": "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.\n\nLexiara 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.", "inputSchema": { "properties": { "eli": { "description": "ELI URI or official number of the instrument — a French code has only the latter.", "type": "string" }, "limit": { "description": "Maximum citing provisions, default 500, cap 2000.", "type": "number" } }, "required": [ "eli" ], "type": "object" }, "name": "work_mentions", "outputSchema": { "additionalProperties": true, "description": "The JSON response from the corresponding Lexiara API route.", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:e691794b6084f35f08f5ed23d9b37cf352787e4491d19bd3734327dfd1e8458a | sha256sum