De MCP Server

MCP server for German federal legislation (NeuRIS): ELI identifiers and verifiable citations.

Local serverstdioPython

What is the De MCP server?

Connect De to Claude, Cursor or any other MCP client and it stops being a tab you switch to. MCP server for German federal legislation (NeuRIS): ELI identifiers and verifiable citations. The de mcp server is what makes that connection.

What the server does

Published on PyPI + MCP Registry (io.github.matematicsolutions/de-eli-mcp). Run without cloning:

Installation

de-eli-mcp on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • de_search — Search legislation by term, ELI and date (GET /v1/legislation)
  • de_get_act — Fetch act metadata by ELI
  • de_get_text — Fetch the full text (html or xml / LegalDocML.de)
  • de_list_publishers — List the publication organs (BGBl I/II, Bundesanzeiger)
  • de_recent_changes — Acts published since a date, newest-first
  • de_rii_case_search — Search BVerfG/BGH/BAG/BFH/BVerwG/BSG/BPatG decisions via RII's master TOC (court, Aktenzeichen substring, date range)
  • de_rii_get_case_text — Full text of one RII decision by doc_id - real ecli when the court publishes one, plus titelzeile/leitsatz/tenor/full content
  • de_oldp_case_search — Search Open Legal Data - 423 944 decisions from 1 119 courts at all levels (verified live 2026-07-08), the only tool here covering **state
  • de_oldp_get_case — Full decision text (HTML) by OLDP id or slug, with ECLI when the source carries one
  • de_dip_search — Search the Bundestag DIP - Drucksachen (287 327), Plenarprotokolle (5 789), Vorgaenge (334 524); filters titel, dokumentnummer, zuordnung
  • de_dip_get_document — One DIP entity by id; the -text resource variants return the full document text. Citations like BT-Drs. 20/1 with the official PDF as source_url

Credentials and setup notes

Configuration is passed through the environment: DE_DIP_API_KEY, DE_ELI_BASE_URL, DE_RII_BASE_URL, DE_OLDP_BASE_URL, DE_DIP_BASE_URL. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 11 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch De.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Where it fits

Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. De's toolset — de_search, de_get_act, de_get_text and 8 more — is a fair guide to whether it matches your workflow. It is maintained by matematicsolutions; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Available tools

ToolWhat it does
de_searchSearch legislation by term, ELI and date (GET /v1/legislation).
de_get_actFetch act metadata by ELI.
de_get_textFetch the full text (html or xml / LegalDocML.de).
de_list_publishersList the publication organs (BGBl I/II, Bundesanzeiger).
de_recent_changesActs published since a date, newest-first.
de_rii_case_searchSearch **BVerfG/BGH/BAG/BFH/BVerwG/BSG/BPatG** decisions via RII's master TOC (court, Aktenzeichen substring, date range).
de_rii_get_case_textFull text of one RII decision by doc_id - real ecli when the court publishes one, plus titelzeile/leitsatz/tenor/full content.
de_oldp_case_searchSearch **Open Legal Data** - 423 944 decisions from 1 119 courts at all levels (verified live 2026-07-08), the only tool here covering **state courts** and offering **full-text search** (text). Metadata filters: court_sl
de_oldp_get_caseFull decision text (HTML) by OLDP id or slug, with ECLI when the source carries one.
de_dip_searchSearch the Bundestag **DIP** - Drucksachen (287 327), Plenarprotokolle (5 789), Vorgaenge (334 524); filters titel, dokumentnummer, zuordnung (BT/BR), wahlperiode, dates; cursor pagination.
de_dip_get_documentOne DIP entity by id; the -text resource variants return the full document text. Citations like BT-Drs. 20/1 with the official PDF as source_url.

How to install the De MCP server

Configure your MCP client (stdio):

```json
{ "mcpServers": { "de-eli-mcp": { "command": "uvx", "args": ["de-eli-mcp"] } } }

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
DE_DIP_API_KEYCredential the server authenticates with.Yes
DE_ELI_BASE_URLEndpoint or connection string the server talks to.Yes
DE_RII_BASE_URLEndpoint or connection string the server talks to.Yes
DE_OLDP_BASE_URLEndpoint or connection string the server talks to.Yes
DE_DIP_BASE_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use De to de search.
  • Use De to de get act.
  • Use De to de get text.

Frequently asked questions

It connects De to MCP-compatible AI assistants such as Claude and Cursor, exposing 11 tools (de_search, de_get_act, de_get_text, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with De directly.