Resolve, search and verify legal citations against the official sources, with provenance.
One address for any MCP client. You sign in at kvasir.legal once, after adding it.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
| Access to | Read | Change |
|---|---|---|
| Legal |
From the sign-in at kvasir.legal, as the endpoint publishes it. You approve it there.
Odel could not list its tools without signing in.
MCP server for verifiable German, Austrian, Swiss and EU law. Resolve, search and verify legal citations against the official sources — from any MCP client.
This repository documents the hosted server. There is nothing to install and no local build: point your client at the endpoint below.
https://kvasir.legal/mcp
Transport: streamable HTTP. Auth: OAuth (most clients discover it automatically)
or an X-API-Key header. A free account with 2,000 monthly units is at
kvasir.legal/signup; reading law on the site needs
no account at all.
Language models answer legal questions from a training snapshot. They paraphrase amended provisions, cite repealed directives, and cannot say which version an answer relied on. This server gives an agent the two operations that fix that: resolve a citation to the wording in force, and verify the citations the agent itself produced.
| Jurisdiction | Statutes | Case law |
|---|---|---|
| Germany — federal | ✅ | ✅ (federal courts) |
| Bavaria | ✅ | ✅ |
| North Rhine-Westphalia | ✅ | ✅ |
| Saxony · Brandenburg · Bremen | ✅ | — |
| Austria | ✅ | ✅ (OGH, VfGH, VwGH) |
| Switzerland | ✅ | — |
| EU | ✅ incl. delegated & implementing acts, Commission guidelines | ✅ (CJEU, General Court) |
~460,000 norms, ~512,000 decisions, ~1.4 million typed citation edges. Sources are
checked daily (weekly for Saxony and Bremen). Repealed acts stay in the corpus,
flagged as repealed. Live counts and per-source timestamps:
/api/v1/status.
| Tool | Use it when |
|---|---|
resolve_citation | you have a citation string — „§ 573 Abs. 2 BGB", „Art. 6 GDPR" |
search_legal | you have a question or topic, not a citation |
check_draft | you have a full draft, memo or brief — citations and quoted wording |
verify_citations | you have a bare list of references to check |
get_legal_object | you have a canonical URI |
get_legal_objects | you need several objects at once |
get_legal_relations | you want the citation graph from one node |
legal_uri_grammar | you want to build URIs yourself |
Arguments, limits and response shapes: kvasir.legal/developers/mcp-tools.
Ask your agent: „Which decisions cite Art. 6 GDPR?" — it calls
get_legal_relations on norm:eu:GDPR:art_6 and gets the citing decisions with
court, docket number and canonical URI, ordered by authority.
Or without any client:
curl -s "https://kvasir.legal/api/v1/relations/norm:eu:GDPR:art_6?direction=in&limit=5"
Licence note: the corpus is served under the terms at kvasir.legal/agb. Search and answer engines are welcome; crawling for model training is not permitted.