# german-legal-mcp [Health: Active]

**Category:** ⚖️ Legal  
**Repository:** https://github.com/metaneutrons/german-legal-mcp  
**GitHub Stars:** 11  
**npm Downloads (last month):** 1733  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/german-legal-mcp

## Description
MCP server for German, Austrian and EU legal research

## Tools
Capabilities this server exposes over MCP:

- **arxiv:search** — Search arXiv preprints by keywords, author, or category. Returns metadata: arXiv ID, title, authors, abstract, categories, PDF/HTML links. Use arxiv:get with the arXiv ID to retrieve full text.
- **arxiv:get** — Retrieve an arXiv paper by ID (e.g., "2501.02725"). Default: metadata + abstract. With `section` or `save_path`: fetches HTML full text (available for papers from ~2024+). Older papers without HTML return metadata + abstract + PDF link.
- **eul:search** — Search EU legislation (directives, regulations, treaties) via EUR-Lex SPARQL endpoint. Returns CELEX numbers, titles, and dates.
- **eul:get_document** — Retrieve EU legislation from EUR-Lex by CELEX number (e.g., "32016R0679" for GDPR, "32001L0029" for InfoSoc). Returns full text in Markdown. Use `section` for partial content: "Art. 5", "Artikel 5", or "lines:100-200". Use `save_path` to save to file instead of returning content.
- **icu:search** — Search for decisions and opinions of the Court of Justice of the European Union (CJEU) via InfoCuria. Returns list with case numbers, ECLI, dates, and document IDs for retrieval.
- **icu:get_document** — Retrieve a CJEU decision or opinion from InfoCuria by case number or CELEX number. Returns full text in Markdown with Randnummern as [Rn. 5]{.rn}. Use `section` for partial content: "Rn 5-12", heading text, or "lines:100-200". Use `save_path` to save to file instead of returning content.
- **legis:search** — Search German state legislation (Landesrecht) by keyword. Returns results with IDs for retrieval via legis:get. Covers all 16 Bundesländer. BUND does not support search — use legis:get directly.
- **legis:get** — Retrieve a specific law/norm from German federal or state legislation. BUND: id is "law/section" (e.g., "bgb/823", "gg/Art. 1", "stgb/§ 242"). Länder: id from legis:search results (format varies by state).
- **legis:toc** — Get table of contents for a law — compact list of section numbers and headings. Much lighter than legis:get for navigating large laws. BUND: id is just the law abbreviation (e.g., "bgb", "stgb"). Länder: id from legis:search results.
- **legis:states** — List all 17 available German jurisdictions (BUND + 16 Bundesländer) with their backends.
- **rii:search** — Search for court decisions. Default source "bund": federal courts (BVerfG, BGH, BVerwG, BFH, BAG, BSG, BPatG). Source "bayern": Bavarian state courts (AG, LG, OLG, VG, VGH, FG, ArbG, LAG, BayVerfGH). Returns list of decisions with metadata and doc IDs for retrieval.
- **rii:get_decision** — Retrieve full text of a court decision by doc ID. Returns decision in Markdown format with metadata (court, date, file number, ECLI). Use source "BY" for IDs from gesetze-bayern.de (format: Y-300-Z-...).

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "german-legal-mcp": {
    "command": "npx",
    "args": ["-y","@metaneutrons/german-legal-mcp"]
  }
}
```

## Documentation

## What german-legal-mcp does

german-legal-mcp provides MCP tools for researching German legislation, German court decisions, EU legislation, Court of Justice of the European Union materials, and arXiv preprints. Its legal sources cover federal law and the legislation of all 16 German Länder, along with decisions from German federal courts and selected state-court sources. The EU tools connect to EUR-Lex and InfoCuria.

The server separates discovery from retrieval. Search operations return identifiers such as CELEX numbers, case numbers, ECLI values, document IDs, or legislation result IDs. Separate get operations use those identifiers to fetch source text in Markdown. This makes it possible to search broadly first and request only the relevant document or passage afterward.

## How it works

The `legis_*` tools handle German statutes and norms. `legis:states` lists the 17 available jurisdictions, including BUND and the 16 Länder. `legis:search` searches state legislation, while `legis:get` retrieves federal or state provisions. `legis:toc` provides a compact table of contents for navigating larger laws.

The `rii_*` tools search and retrieve court decisions. The default search source covers German federal courts including the BVerfG, BGH, BVerwG, BFH, BAG, BSG, and BPatG. A Bavaria source covers Bavarian courts. Retrieved decisions include court, date, file number, ECLI, and Markdown text.

For European materials, `eul:search` queries EUR-Lex legislation through its SPARQL endpoint, and `eul:get_document` retrieves a document by CELEX number. `icu:search` finds CJEU decisions and opinions through InfoCuria; `icu:get_document` retrieves them by case or CELEX number. The arXiv pair searches preprints and retrieves metadata, abstracts, or available HTML full text.

## Setup and configuration

The project requires Node.js 24 or newer. The listed legal and literature sources are public and require no authentication. Retrieval tools can write results to a `save_path` rather than returning the full content to the model, which is useful for reducing context size. Source-specific identifiers must be supplied in the formats expected by each tool, such as CELEX numbers for EUR-Lex or document IDs from search results.

## Tools and capabilities

- Search German state legislation across all 16 Länder.
- Retrieve federal or state laws and inspect law tables of contents.
- Search German federal and Bavarian court decisions.
- Retrieve decisions with metadata, formatted paragraphs, and partial-content selection.
- Search and retrieve EU legislation and CJEU decisions through EUR-Lex and InfoCuria.
- Search arXiv and fetch paper metadata, abstracts, or eligible HTML full text.

Sections can be narrowed with article or paragraph references, headings, or line ranges where supported. Examples include `Art. 5`, `Rn 5-12`, and `lines:100-200`.

## Limitations and notes

German legislation search is available for Länder sources; federal material is retrieved directly using a law and provision identifier. The BUND identifier format uses a law abbreviation and section, such as `bgb/823` or `stgb/§ 242`. Older arXiv papers without HTML full text return metadata, an abstract, and a PDF link instead. Legal documents are returned as source text and should be checked against the authoritative publication before being relied upon.

_Full upstream README: https://allmcps.com/mcp/german-legal-mcp/readme_

