UK Legal Research MCP Server
uk-legal-mcp
Ein Model Context Protocol-Server für die britische Rechtsrecherche. Verbindet KI-Assistenten über einen einzigen Endpunkt mit Rechtsprechung, Gesetzgebung, parlamentarischen Debatten, Gesetzesentwürfen, Abstimmungen, Ausschüssen, OSCOLA-Zitations-Parsing und HMRC-Steuerdaten.
24 Tools in 8 Modulen. Eine Verbindung. Schreibgeschützt. Für 23 der 24 Tools sind keine API-Schlüssel erforderlich.
MCP Client (Claude, Cursor, etc.)
|
v
uk-legal-mcp gateway (Streamable HTTP)
+----------------------------------------------------+
| |
| case_law TNA Find Case Law API |
| legislation legislation.gov.uk Atom feed |
| parliament Hansard API + Members API |
| bills Parliamentary Bills API |
| votes Commons + Lords division records |
| committees Select committees + evidence |
| citations OSCOLA regex parser (no network) |
| hmrc HMRC sandbox/prod + GOV.UK search |
| |
+----------------------------------------------------+Schnellstart
Verbindung zum gehosteten Server herstellen
Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"uk-legal": {
"type": "streamable-http",
"url": "https://uk-legal-mcp.fly.dev/mcp"
}
}
}Versuchen Sie dann:
"Suche nach Rechtsprechung zu Fahrradunfällen"
"Hole Abschnitt 172 des Companies Act 2006"
"Analysiere die Zitate in: The court applied Donoghue v Stevenson [1932] AC 562 and s.2 Occupiers' Liability Act 1957"
"Was sagt das Parlament über Leerverkäufe?"
Lokal ausführen
pip install -e .
python -m src.gateway
# Server starts on http://localhost:8000/mcpMit dem MCP Inspector untersuchen:
npx @modelcontextprotocol/inspector http://localhost:8000/mcpTools
Rechtsprechung
Tool | Was es tut |
| Volltextsuche in britischen Urteilen. Filterbar nach Gericht, Richter, Partei, Datumsbereich. |
| Findet Absätze in einem Urteil, die einem Muster entsprechen. Gibt |
Ressourcen-Templates (lesbar über resources/read oder das durch ResourcesAsTools generierte read_resource-Tool):
URI-Template | Rückgabe |
| Metadaten-Header (Parteien, Richter, Zitat). ~1k Token. |
| Absatz-eId + erste Zeile pro Zeile. ~4k Token. Nutzen Sie dies, um Absätze zu entdecken. |
| Ein einzelner Absatz inklusive seiner Unterabsätze. 400–1700 Token. |
Upstream: TNA Find Case Law (Atom/XML). Ratenbegrenzung: 1.000 Anfragen/5 Min. 1 Stunde zwischengespeichert.
Gesetzgebung
Tool | Was es tut |
| Suche in Parlamentsgesetzen und Statutory Instruments auf legislation.gov.uk. |
| Inhaltsverzeichnis für ein Gesetz — Teile, Kapitel, Abschnitte, Anhänge. |
| Ruft einen spezifischen Abschnitt mit territorialem Geltungsbereich, Inkrafttretensstatus und Versionsdatum ab. |
Ressourcen-Templates (Alternative zu den oben genannten Tools für Clients, die URI-adressierte Lesezugriffe bevorzugen):
URI-Template | Rückgabe |
| Vollständiges Gesetz/SI als CLML XML. |
| Ein spezifischer Abschnitt als CLML XML. |
| Flache |
| Point-in-Time CLML für ein YYYY-MM-DD Datum. |
Upstream: legislation.gov.uk (CLML XML + Atom Feed). 24 Stunden zwischengespeichert. Verwendet curl_cffi mit Chrome-Impersonation, um CloudFront 437 zu umgehen; der Companies Act 2006 stößt derzeit zeitweise auf eine AWS WAF JS-Herausforderung.
Hinweis: Überprüfen Sie immer das Feld extent. Ein Abschnitt kann für England und Wales gelten, aber nicht für Schottland oder Nordirland.
Parlament
Tool | Was es tut |
| Suche in Hansard-Debattenbeiträgen nach exakten Phrasen. |
| Bewertet die parlamentarische Aufnahme eines politischen Themas. Durchsucht Hansard und verwendet dann LLM-Sampling, um Stimmung, Befürworter, Gegner und Bedenken zu klassifizieren. |
| Suche nach einem Abgeordneten oder Lord per Namen. Gibt die Mitglieder-ID zur Verwendung mit |
| Ruft die Hansard-Beiträge eines bestimmten Mitglieds ab, optional gefiltert nach Thema. |
| Ruft die registrierten finanziellen Interessen eines Mitglieds ab (Spenden, Aktienbesitz usw.). |
| Suche in Petitionen des britischen Parlaments nach Stichworten. |
Upstream: hansard-api.parliament.uk + members-api.parliament.uk + petition.parliament.uk. Nicht zwischengespeichert (Live-Daten).
Gesetzesentwürfe (Bills)
Tool | Was es tut |
| Suche in aktuellen und historischen Parlamentsentwürfen nach Stichwort, Sitzungsperiode oder Typ. |
| Ruft Details zum Gesetzesentwurf ab — Stadien, Sponsoren, Veröffentlichungen. |
Upstream: bills-api.parliament.uk. 1 Stunde zwischengespeichert.
Abstimmungen
Tool | Was es tut |
| Suche in Abstimmungsaufzeichnungen von Unterhaus und Oberhaus nach Stichwort oder Datum. |
| Ruft Details zur Abstimmung ab — Stimmenanzahl, wie jedes Mitglied abgestimmt hat. |
Upstream: commonsvotes-api.parliament.uk + lordsvotes-api.parliament.uk. 24 Stunden zwischengespeichert.
Ausschüsse
Tool | Was es tut |
| Suche in parlamentarischen Auswahlausschüssen nach Stichwort. |
| Ruft Ausschussdetails ab — Mitgliedschaft, Unterausschüsse. |
| Suche in mündlichen und schriftlichen Beweiseinreichungen an Ausschüsse. |
Upstream: committees-api.parliament.uk. 1 Stunde zwischengespeichert.
Zitate
Tool | Was es tut |
| Extrahiert alle OSCOLA-Zitate aus freiem Text. Löst diese in kanonische URLs auf. Unterscheidet mehrdeutige Gerichtscodes mittels LLM-Sampling. |
| Analysiert und löst einen einzelnen Zitat-String in seine kanonische URL auf. |
| Ruft ein Urteil von TNA ab und bildet jedes Zitat darin ab — Fälle, Gesetzgebung, SIs, EU-Recht. |
In sich geschlossen. Keine externe API. Keine Netzwerkabhängigkeit (außer citations_network, das das Urteils-XML abruft).
Unterstützte Zitationsformate:
Format | Beispiel |
Neutrales Zitat |
|
Law Report (mit oder ohne Band) |
|
Gesetzgebungsabschnitt |
|
Statutory Instrument |
|
Beibehaltenes EU-Recht |
|
HMRC
Tool | Was es tut |
| MwSt.-Satz-Abfrage für Waren oder Dienstleistungen. Statische Tabelle, Stand Autumn Statement 2023. |
| Überprüft den Making Tax Digital MwSt.-Mandatsstatus für eine VRN. Erfordert HMRC OAuth-Anmeldedaten. |
| Durchsucht GOV.UK nach HMRC-Leitfäden. |
hmrc_get_vat_rate und hmrc_search_guidance erfordern keine Anmeldedaten. hmrc_check_mtd_status erfordert HMRC_CLIENT_ID und HMRC_CLIENT_SECRET — registrieren Sie sich unter developer.service.hmrc.gov.uk. Standardmäßig auf Sandbox; setzen Sie HMRC_API_BASE=https://api.service.hmrc.gov.uk für die Produktion.
Architektur
src/
gateway.py FastMCP gateway — mounts all modules, applies middleware
deps.py Shared httpx clients (lifespan-managed) + error formatting
modules/
case_law/ TNA Find Case Law (Atom/XML parsing)
legislation/ legislation.gov.uk (CLML XML + Atom feed)
parliament/ Hansard API + Members API + Petitions (JSON)
bills/ Parliamentary Bills API (JSON)
votes/ Commons + Lords division records (JSON)
committees/ Select committees + evidence (JSON)
citations/ OSCOLA regex engine (compiled once, lru_cache)
hmrc/ HMRC OAuth + GOV.UK search (JSON)
tests/
test_citations.py 35 unit tests — regex patterns, resolution, disambiguationJedes Modul ist eine eigenständige FastMCP-Instanz, die mit einem Namespace-Präfix (case_law_, legislation_ usw.) in das Gateway eingebunden ist. Alle Module teilen sich einen einzigen httpx-Client-Pool über den Lifespan-Kontext des Gateways.
Middleware-Stack (Gateway-Ebene):
Middleware | Zweck |
| Fängt unbehandelte Ausnahmen ab |
| JSON-Logging mit Dauer und Payload-Größe |
| Timing-Logs pro Tool |
| 80.000 Zeichen Limit (LegalDocML XML kann 200k überschreiten) |
Caching pro Modul: ResponseCachingMiddleware mit TTLs — case_law (1 Std.), legislation (24 Std.), bills (1 Std.), votes (24 Std.), committees (1 Std.), hmrc (90 Tage). Parlament und Zitate werden nicht zwischengespeichert.
Bereitstellung
Fly.io
fly auth login
fly launch --name uk-legal-mcp --region lhr
fly deployOptionale Secrets:
fly secrets set HMRC_CLIENT_ID=your_id HMRC_CLIENT_SECRET=your_secret
# For production HMRC (default is sandbox):
fly secrets set HMRC_API_BASE=https://api.service.hmrc.gov.ukDocker
docker build -t uk-legal-mcp .
docker run -p 8000:8000 uk-legal-mcpTesten
pip install -e '.[test]' # or: pip install pytest
pytest tests/test_citations.py -vAlle 35 Zitationstests laufen offline ohne API-Anmeldedaten.
Upstream-APIs und Lizenzen
Quelle | API | Lizenz | Auth |
TNA Find Case Law |
| Keine | |
legislation.gov.uk |
| Keine | |
UK Parliament Hansard |
| Keine | |
UK Parliament Members |
| Open Parliament Licence | Keine |
UK Parliament Petitions |
| Open Parliament Licence | Keine |
UK Parliament Bills |
| Open Parliament Licence | Keine |
UK Parliament Votes |
| Open Parliament Licence | Keine |
UK Parliament Committees |
| Open Parliament Licence | Keine |
HMRC |
| OGL / kommerzielle Bedingungen | OAuth 2.0 |
GOV.UK Search |
| OGL v3 | Keine |
Stack
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/paulieb89/uk-legal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server