MCP server: One MCP server.

kvasir — verifiable German, Austrian, Swiss & EU law

@kvasirRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Resolve, search and verify legal citations against the official sources, with provenance.

Freeno charge per call

One address for any MCP client. You sign in at kvasir.legal once, after adding it.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

What it asks for at sign-in

Access toReadChange
Legal

From the sign-in at kvasir.legal, as the endpoint publishes it. You approve it there.

Tools

None listed · checked 10 Oct 2026

Odel could not list its tools without signing in.

Try it in the Inspector
README2 min read

kvasir-mcp

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.

Why

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.

Coverage

JurisdictionStatutesCase 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.

Tools

ToolUse it when
resolve_citationyou have a citation string — „§ 573 Abs. 2 BGB", „Art. 6 GDPR"
search_legalyou have a question or topic, not a citation
check_draftyou have a full draft, memo or brief — citations and quoted wording
verify_citationsyou have a bare list of references to check
get_legal_objectyou have a canonical URI
get_legal_objectsyou need several objects at once
get_legal_relationsyou want the citation graph from one node
legal_uri_grammaryou want to build URIs yourself

Arguments, limits and response shapes: kvasir.legal/developers/mcp-tools.

Example

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:

bash
curl -s "https://kvasir.legal/api/v1/relations/norm:eu:GDPR:art_6?direction=in&limit=5"

Honest limits

  • Verification is a fact about this corpus. A miss means „not found here" — a typo or a coverage gap — not „this citation is fake".
  • A citation can exist, be current, be quoted correctly, and still be the wrong authority for the question. This is not legal advice.
  • Commission guidelines are interpretive, not binding law, and are labelled as such.
  • No case law yet for Switzerland, Saxony, Brandenburg and Bremen.

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.

Similar modules

Browse Legal research