How the MCP gateway connects your AI client to cited law and security sources.
Keep the AI client your team already trusts. The gateway authenticates it once over MCP (Model Context Protocol), routes each question to the right sources, fans out in parallel, and returns answers with citations attached. The gateway is a router, not a chatbot.
gateway.ansvar.eu · single MCP endpoint · Free, Solo, Premium and Team are available
One question, start to finish.
No new chatbot, no portal. The client your team already uses sends a question; the gateway does the routing and hands back a cited answer.
- 1Connect your AI clientOAuth once · over MCP
- 2Ask in contextyour client sends the question
- 3The gateway routes and fans outlaw · sector · frameworks · threat intel — in parallel
- 4A cited answer comes backanchored to the source, or the gap is marked
Three layers against silent failure.
A compliance answer built on a failed lookup is worse than no answer. Every downstream response passes three checks before it reaches your client. Currency is checked the same way: every corpus reports its content freshness, the fleet is monitored daily, and get_changes / list_coverage expose what changed — machine-readably, from your own client.
Empty is an answer
An authoritative “no provisions match” is not the same as a server failing to respond. The classifier separates the two, so silence is never dressed up as a result.
Errors cannot pose as results
Downstream errors disguised as well-formed payloads are detected and rejected. A failed call comes back as a failed call — visibly, in the response.
Hollow envelopes get reclassified
A response with the right shape and no content is reclassified instead of passed through. The shape of an answer is not evidence of one.
illustrative response — an unverifiable claim is marked unresolved, never papered over. we do not answer without sources.
What a quota refusal looks like.
We never degrade silently. An over-quota call returns a machine-readable refusal that names your tier, your usage, and your reset time — not a thinner answer.
Structured, attributable, reproducible
The gateway refuses the same way it answers, so a refusal files in the same record as the answers around it. No partial results, no silent downgrade to a smaller source set — the same envelope on every tier.
- causecap_exceeded
- limit · received100 · 100
- reset2026-06-12 00:00 UTC
- upgradeansvar.eu/pricing
no partial answer returned · refusal logged like any other call
field names match the gateway's refusal contract (ADR-028 §4) — values illustrative
A small set of tools your agent already knows how to call.
MCP is the interface. Your client discovers the tools at connect time; the gateway scopes the listing to your tier.
| Tool | What it does |
|---|---|
| search | Full-text search across in-scope sources, routed by jurisdiction and sector. Every hit carries its citation. |
| get_provision | One provision, verbatim, at article level — with source URL, publisher, and license. |
| list_coverage | What is live right now: jurisdictions, sources, and counts, machine-readable. |
| validate_citation | Round-trips a citation against the source corpus before you rely on it — a deterministic, non-model check: article numbers resolve, anchors exist, the URL returns the cited text. |
| get_changes | Recorded changes to tracked instruments, for monitoring what moved and when. |
| describe_capabilities | The caller's own view: tools, sources, and limits for the authenticated tier. |
| search_guidance | Agency guidance from regulators, alongside the statute — part of the legal evidence layer, Premium and above. |
core tools — excerpt; capability listing via describe_capabilities
new to the protocol? MCP basics in the docs
Same shape for every source, public or private.
Whether a claim is backed by a published EU regulation or a standard you uploaded this morning, the citation object looks the same. Downstream tooling does not need to branch. Validation is deterministic — the same question returns the same sources every time. The upload-to-citation loop — presigned upload, paragraph anchors, content hashes — is documented in Cite your documents.
| Field | What it carries |
|---|---|
| source_url | Canonical link to the exact provision — the ELI or permalink, anchored to #article / #paragraph. Required on every served item. |
| publisher | Who published the source — EUR-Lex, nvd.nist.gov, the deciding court, or your own internal document owner. |
| license | The source's licence, as a code from Ansvar's licence catalogue. A row whose attribution can't be resolved is refused, not shown with a blank field. |
| jurisdiction | EU, SE, DE, FR, GB, international — or internal for a document you uploaded. |
| article | The provision anchor: Regulation (EU) 2022/2554 Art. 28(2)(a) · ISO/IEC 27001:2022 §A.5.19 · your Vendor Policy v3.1 §6.3. |
| effective_date | When the cited text took effect, where the source carries it. Null stays null for instruments not yet in application — an honest omission, never a guess. |
private documents share the same citation contract — cited at paragraph level, and they never leave your tenant · private evidence is a Team and Company capability
Connect the client you already run.
Free is 100 searches a day with a B2B sign-up. Solo adds full-fleet fan-out; Premium adds the legal evidence layer. The first cited answer takes minutes, not a procurement cycle.