Skip to main content
Glama
kheidkamp

legal-research-mcp

by kheidkamp

Legal Research MCP MVP 0.2-dev – Render-frei

Render-freie, schreibgeschützte Research-MCP für die geplante legal-advisor-de-v2.3.0-Research-Schicht.

Was 0.2-dev hinzufügt

0.2-dev behält den konservativen 0.1-Änderungshistorie-Vertrag bei und fügt eine gezielte Abruffähigkeit hinzu:

  • get_official_document_text: öffnet ein bereits identifiziertes offizielles deutsches PDF/HTML-Dokument von einer strengen HTTPS-Host-Allowlist, durchsucht einen Locator/Query und gibt seitenbewusste Belege mit Inhalts-Hashes zurück.

Dies schließt die D1-Lücke, die in Copilot Studio beobachtet wurde: Der Agent konnte die Bundesrat-Drucksache 5/26 identifizieren, aber nicht Art. 30 Nr. 1 öffnen, um den konkreten Änderungsbefehl zu verifizieren.

Related MCP server: de-eli-mcp

Tools

search_primary_sources

Kontrollierte Suche in einem kleinen validierten Gesetzesregister (KStG, EStG, AO, GewStG). Nur Suche.

get_norm

Ruft die aktuelle amtliche konsolidierte Vorschrift von gesetze-im-internet.de ab und gibt Struktur-/Beleg-Metadaten zurück.

trace_norm_amendments

Sichere Implementierung der Änderungshistorie-Konnektivität. Sie kann einen gesetzesweiten Änderungsheader als Suchhinweis offenlegen, bleibt aber partial/unknown, bis ein vorschriftenspezifischer Kettenauflöser implementiert ist.

get_official_document_text

Öffnet ein identifiziertes offizielles Dokument und ruft eine exakte Passage ab.

Akzeptierte Eingaben:

  • eines von url oder document_id;

  • locator und/oder query;

  • optional max_passages und context_chars.

Unterstützte Dokument-ID-Kürzel:

  • BR-Drs. 5/26 -> PDF des Bundesrat-Dokumentenservers;

  • BT-Drs. 21/3343 -> PDF des Bundestag-Dokumentenservers;

  • BGBl. 2026 I Nr. 33 -> offizielle Verkündungsseite von recht.bund.de.

Beispiel für ein Änderungsverifizierungsziel:

get_official_document_text(
  document_id="BR-Drs. 5/26",
  locator="Artikel 30",
  query="§ 8b Absatz 6 Satz 2"
)

Eine erfolgreiche normalisierte Query-Übereinstimmung gibt coverage_status=complete und full_checked-Passagenbelege zurück. Ein reines Locator-Ergebnis ist Navigationsbeleg und darf nicht als Beweis für die angefragte Änderungsformulierung behandelt werden.

SSRF-/Download-Sicherheit

get_official_document_text ist bewusst eingeschränkt:

  • nur HTTPS;

  • exakte offizielle Host-Allowlist;

  • jeder Redirect-Hop wird erneut validiert;

  • Anmeldedaten und nicht standardkonforme Ports werden abgelehnt;

  • Download-Größe auf 20 MB begrenzt;

  • nur PDF-Text extrahieren, keine JavaScript-/Browser-Ausführung;

  • nur schreibgeschützte Anfragen.

Aktuell zugelassene Familien umfassen den offiziellen Bundestag-/Bundesrat-Dokumentenserver, recht.bund.de, gesetze-im-internet.de, die Bundestag-/Bundesrat-Webhosts und die Website des Bundesministeriums der Finanzen.

Render-Bereitstellung

Verwenden Sie das enthaltene render.yaml-Blueprint. Der Dienst bleibt wie folgt konfiguriert:

  • Web Service;

  • Docker-Laufzeit;

  • kostenloser Plan;

  • Region Frankfurt;

  • /health-Healthcheck;

  • dynamische Bindung an den PORT von Render;

  • MCP-Endpunkt unter /mcp;

  • explizite Host-Allowlist aus RENDER_EXTERNAL_HOSTNAME.

Detaillierte Schritte: docs/render-free-deploy.md.

Lokale Einrichtung

python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
python -m pytest -q
uvicorn app:app --reload --port 8080

Lokale Endpunkte:

  • Health: http://localhost:8080/health

  • MCP: http://localhost:8080/mcp

Noch nicht implementiert

  • historischer Gesetzesstand-Auflöser;

  • vollständiger vorschriftenspezifischer Änderungsketten-Auflöser;

  • automatische Erkennung jedes Bundesgesetzblatt-/Bundestag-/Bundesrat-Dokuments;

  • Rechtsprechungsabruf;

  • umfassender BMF-Schreiben-Abruf;

  • Produktionsauthentifizierung.

DEV-Sicherheitsgrenze

Die Render-Free-Bereitstellung bleibt für DEV-Tests bewusst ohne Authentifizierung. Veröffentlichen Sie den Copilot-Agenten nicht und senden Sie keine vertraulichen Mandanten-/Sachverhaltsdaten durch den Endpunkt.

Kostenlose Render-Web-Services können nach Inaktivität heruntergefahren werden und sind kein Produktionsziel.

Upgrade von 0.1 auf 0.2

  1. Ersetzen Sie die Repository-Dateien durch dieses Paket und committen/pushen Sie in den Branch, den Render bereitstellt.

  2. Warten Sie, bis die Render-Bereitstellung Live wird.

  3. Überprüfen Sie, ob /health die Version 0.2.0-dev zurückgibt.

  4. Öffnen Sie in Copilot Studio die vorhandene Legal Research DE-MCP-Serverkonfiguration und prüfen Sie, ob get_official_document_text verfügbar/aktiviert ist.

  5. Führen Sie den D1-Änderungsabruftest aus und prüfen Sie das Activity Trace.

Die detaillierte Upgrade-/Testsequenz finden Sie in docs/render-free-deploy.md.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for accessing and searching German federal law documents from gesetze-im-internet.de. Provides tools to retrieve specific paragraphs, perform full-text searches, and list available laws.
    10
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Searches and retrieves German federal legislation from NeuRIS, the official legal information portal, providing verifiable ELI identifiers and German citations.
    15
    248 PyPI
    4
    Apache 2.0
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides LLM-friendly access to German federal legislation via the NeuRIS API, enabling tool-based retrieval of laws, norms, and statutory text.
    18 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides read-only access to current German federal law, supporting legislation search, provision retrieval, and citation handling.
    Apache 2.0