Skip to main content
Glama
Movm

German Law MCP

by Movm

German Law MCP

Ein selbst hostbarer, read-only MCP-Server für aktuelles deutsches Bundesrecht. Der Server importiert einen datierten Snapshot aus QuantLaw/gesetze-im-internet, speichert die strukturierte Fassung in PostgreSQL und erzeugt daraus einen kleinen SQLite-Leseindex für die MCP-Abfragen.

Kein Rechtsrat: Die Ergebnisse können unvollständig, veraltet oder durch Parsingfehler verfälscht sein. Für verbindliche Fassungen immer die amtliche Veröffentlichung und qualifizierte Rechtsberatung heranziehen.

Aktueller Umfang

Der Community-Server stellt acht read-only Tools bereit:

  • search_legislation – Volltext- und Zitationssuche

  • get_provision – einzelne Norm nach Gesetz/Artikel oder Ergebnis-ID

  • parse_citation und format_citation – deutsche Zitate zerlegen/normalisieren

  • validate_citation – Zitat gegen den importierten Bestand prüfen

  • check_currency – Aktualität relativ zum importierten Snapshot einschätzen

  • list_sources und about – Herkunft, Stand und Serverinformationen

Bewusst nicht enthalten sind derzeit Rechtsprechung, Gesetzesmaterialien, historische Norm-Diffs, EU-Zuordnungen oder semantische Suche.

Related MCP server: German Legal MCP Server

Architektur und transparente Herkunft

QuantLaw Snapshot (XML, datierter Git-Tag)
                  │
                  ▼
      moderner GII-XML-Importer
                  │
                  ▼
      PostgreSQL (kanonische Fassung)
                  │
                  ▼
     reproduzierbarer SQLite-Export
                  │
                  ▼
       MCP Streamable HTTP /mcp

PostgreSQL ist die lokale Datenwahrheit. SQLite ist nur ein wegwerfbares, read-only Suchmodell für die fortgeführte Ansvar-MCP-Schicht. Diese Trennung ermöglicht einen kleinen Runtime-Container, ohne Herkunft oder Struktur der Daten zu verlieren.

Qdrant, Embeddings und andere Vektordatenbanken werden in diesem Stand nicht verwendet. Eine spätere semantische Suche wäre ein optionaler Index und würde PostgreSQL nicht als Quelle ersetzen.

Verwendete Vorarbeiten:

Projekt

Verwendung

Lizenz

Ansvar-Systems/German-law-mcp

MCP-Vertrag, Zitationslogik, SQLite-Leseschicht

Apache-2.0

nfelger/gesetze-aus-dem-internet

Vorbild für relationales Modell und GII-Parsing

Apache-2.0

QuantLaw/gesetze-im-internet

datierte Rohdaten-Snapshots

BSD-3-Clause für Repository-Code; Datenherkunft separat beachten

QuantLaw/legal-data-preprocessing

Vorbild für Snapshot-Verarbeitung

BSD-2-Clause

Die konkreten Hinweise stehen zusätzlich in NOTICE. Dieses Repository enthält keine fertig gebaute Gesetzesdatenbank. Jeder Betreiber erzeugt den Bestand reproduzierbar aus einem explizit gewählten Snapshot.

Schnellstart mit Docker Compose

  1. Einen existierenden YYYY-MM-DD-Tag im QuantLaw-Repository auswählen.

  2. Konfiguration anlegen: cp .env.example .env

  3. Mindestens diese Variablen setzen:

POSTGRES_PASSWORD=<langes-zufälliges-passwort>
QUANTLAW_SNAPSHOT=2026-07-16
MCP_BEARER_TOKEN=<langes-zufälliges-token>
ALLOWED_ORIGINS=https://claude.ai,https://chatgpt.com

Danach:

docker compose up --build

Der einmalige Import kann je nach Snapshot und Verbindung dauern. Anschließend:

  • Health: http://localhost:3000/health

  • MCP: http://localhost:3000/mcp

Neuen Snapshot einspielen:

docker compose run --rm ingest
docker compose run --rm export
docker compose restart mcp

Zugriffsschutz

Wenn MCP_BEARER_TOKEN gesetzt ist, verlangt /mcp:

Authorization: Bearer <token>

Browser-Anfragen mit Origin werden zusätzlich nur akzeptiert, wenn der Ursprung in ALLOWED_ORIGINS steht. Ohne Bearer-Token ist der Server ungeschützt; das ist ausschließlich für lokale Entwicklung gedacht.

Beispiel für Claude Code:

claude mcp add --transport http german-law https://recht.example.de/mcp \
  --header "Authorization: Bearer $GERMAN_LAW_MCP_TOKEN"

Claude.ai, ChatGPT und andere gehostete Connector-Oberflächen unterstützen statische Bearer-Tokens nicht in jeder Konfiguration. Für mehrere Nutzer oder öffentliche Connector-Registrierung ist OAuth 2.1 mit Protected Resource Metadata der vorgesehene nächste Schritt. Der Bearer-Modus ist für den privaten Grünerator und kontrollierte Clients gedacht.

Coolify

  • Ressource als Docker-Compose-Projekt aus diesem Repository anlegen (/docker-compose.yaml).

  • Variablen aus .env.example in Coolify setzen; Secrets nicht committen.

  • Die Traefik-Regeln in docker-compose.yaml routen die dort aufgeführten Hosts ausschließlich auf Dienst mcp, Port 3000.

  • Healthcheck: /health; MCP-Pfad: /mcp.

  • PostgreSQL- und mcp-data-Volumes persistent halten.

  • ingest und export sind als absichtliche Einmal-Jobs mit Coolifys exclude_from_hc markiert; nur postgres und mcp müssen dauerhaft laufen.

Das Repository lädt beim ersten Lauf den gewählten QuantLaw-Tag. Ein Tag statt latest macht Build und Datenstand prüfbar und wiederholbar.

Lokale Entwicklung

Node.js 20+ und Python 3.13 werden unterstützt.

npm ci
npm run validate
python -m unittest discover -s pipeline/tests

Parser mit lokal vorhandenem QuantLaw-Datenzweig testen:

python -m pipeline.import_quantlaw \
  --repo-dir /path/to/gesetze-im-internet \
  --snapshot 2026-07-16 \
  --limit 10

Daten- und Nutzungsbedingungen

  • Amtliche Texte werden von Gesetze im Internet veröffentlicht.

  • Der Abruf erfolgt über das unabhängige QuantLaw-Archiv. Betreiber müssen die Nutzungsbedingungen, Quellenangaben, Abruflast und Rechte möglicher Anlagen selbst prüfen und einhalten.

  • Das Projekt verspricht keine Vollständigkeit, Echtheit oder tagesaktuelle Rechtslage. Der importierte Snapshot wird in Dokument-Metadaten mitgeführt.

  • Der Server ist für Recherche und technische Integration gedacht, nicht für automatisierte Rechtsentscheidungen ohne menschliche Prüfung.

Lizenz

Servercode: Apache License 2.0. Hinweise auf übernommene und inspirierende Projekte: NOTICE. Quelltexte und Datensätze behalten ihre jeweiligen Rechte und Bedingungen; die Apache-2.0-Lizenz dieses Servers beansprucht keine Rechte an den amtlichen oder archivierten Inhalten.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Movm/german-law-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server