Back to Browse

Recht MCP Server

Developer ToolsLow Risk10.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

German federal and Land statutes plus court decisions for agents. Keyless, read-only, CC BY 4.0.

About

German federal and Land statutes plus court decisions for agents. Keyless, read-only, CC BY 4.0.

Remote endpoints: streamable-http: https://recht.nulegal.eu/v1/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

9 tools verified · Open access · No issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "eu-nulegal-recht": {
      "url": "https://recht.nulegal.eu/v1/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

recht-mcp

smithery badge

An MCP server for German law: federal statutes and regulations, the Landesrecht of Bayern, Brandenburg, Nordrhein-Westfalen and Sachsen, and court decisions — for AI agents that need to ground a citation, read a provision, or follow the citation graph, and need to know when an answer is not complete.

This repository is the tool layer of the hosted server at https://recht.nulegal.eu/v1/mcp. The hosted endpoint runs this code, vendored at a pinned commit, over a private backend that reads the corpus directly; recht-mcp runs the same code locally over the public REST API. The corpus and the database stay on the service side — see docs/DESIGN.md for exactly where the line runs.

The nine tools

ToolWhat it does
resolveIdentifiersGrounds up to 100 citations at once — § 823 Abs. 1 BGB, BVerwG, Urteil vom 24.10.2023 - 2 C 9.22, ECLIs, BVerfGE 65, 1. Keeps the court and the date as disambiguators, flags a wrong date or a different court, and never returns a near match.
searchOne query over statutes (lexical) and case law (semantic), with a per-jurisdiction roll-up for cross-Land comparison.
getNormThe text of one provision as Markdown (or JSON), optionally as of a date, with its gazette citation (fundstelle).
listNormVersionsEvery stored version of a provision, with the archive floor marked.
listCitingDecisionsDecisions citing a provision or a decision, by citation weight or newest first, with the citing court's own Randnummer.
listCitedAuthoritiesWhat one decision cites: provisions (the weighted Normenkette) and decisions.
listCasePassagesA decision as numbered passages; page through it or jump to a Randnummer.
getChangesProvisions whose text changed recently — the freshness feed as JSON.
getCoverageWhat the corpus holds, and the limits every answer should be read against.

Every tool is read-only. Each answer says what it is and what it is not: version dates are first-observed dates, not Inkrafttreten; the norm-version archive has a floor that every norm answer states; a zero from the citation graph on a Land provision is labelled as "not indexed", not "never cited"; and three kinds of miss — not_in_corpus, outside_coverage, known_missing — are never collapsed into one. The full contract of each tool is in its description (tools/list).

Use the hosted server (recommended)

No key, no signup. Point any MCP client that speaks Streamable HTTP at:

https://recht.nulegal.eu/v1/mcp

Claude Code:

claude mcp add --transport http nulegal-recht https://recht.nulegal.eu/v1/mcp

A client configured with JSON:

{
  "mcpServers": {
    "nulegal-recht": { "type": "http", "url": "https://recht.nulegal.eu/v1/mcp" }
  }
}

Developer documentation for the service and its REST API: https://recht.nulegal.eu/developers.

Run it locally

Requires Python 3.12+ and uv. The package has no third-party runtime dependencies.

git clone https://github.com/nulegal-startup/recht-mcp
cd recht-mcp
uv run recht-mcp            # stdio
uv run recht-mcp --http     # Streamable HTTP on http://127.0.0.1:8765/mcp

Or without a checkout:

uvx --from git+https://github.com/nulegal-startup/recht-mcp recht-mcp

A client that launches stdio servers:

{
  "mcpServers": {
    "nulegal-recht": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/nulegal-startup/recht-mcp", "recht-mcp"]
    }
  }
}

Options: --http, --host (default 127.0.0.1), --port (default 8765), --path (default /mcp), --base-url (or RECHT_MCP_BASE_URL; default https://recht.nulegal.eu), --timeout, --log-level. The local HTTP server binds to loopback and refuses browser requests from non-loopback origins.

The local server reads the same data the hosted one does, through the public REST API, and gives the same answers with two documented exceptions (a simplified citation grammar, and no other_laws hint on a provision miss) — see docs/DESIGN.md.

Development

uv sync
uv run pytest -q                                   # unit tests, offline
RECHT_MCP_LIVE=1 uv run pytest -q tests/test_live.py   # against recht.nulegal.eu

The live tests call every tool through the local server and compare several answers with the hosted endpoint's.

Data

The legal corpus served by the hosted endpoint — its structure and selection, the links between provisions and decisions, the version history — is licensed separately from this code, under CC BY 4.0. Attribution is required: „Quelle: nu:legal – recht.nulegal.eu“. The terms, including what is reserved, are at https://recht.nulegal.eu/lizenz and https://recht.nulegal.eu/nutzungsbedingungen.

The texts are non-official reading copies. The binding text of a statute is the one in its official gazette; each norm answer names it (fundstelle, authoritative_source).

Contributing and security

Issues are welcome; outside pull requests are not accepted yet — see CONTRIBUTING.md. Report vulnerabilities privately as described in SECURITY.md.

License

The code in this repository is licensed under the GNU Affero General Public License, version 3 only (AGPL-3.0-only) — see LICENSE.

The legal corpus served by the hosted endpoint is licensed separately, under CC BY 4.0 with attribution required (see Data).

The nu:legal name and logo are not licensed.

Reviews

No reviews yet

Be the first to review this server!