MCP server for Swiss federal law via the Fedlex SPARQL endpoint
Project description
Fedlex MCP Server
Zugriff auf das Schweizer Bundesrecht via Claude Desktop oder Claude.ai
Was ist das?
Dieser MCP-Server verbindet KI-Assistenten (Claude) mit dem Fedlex SPARQL-Endpoint der Schweizerischen Bundeskanzlei. Damit können KI-Agenten direkt im Gespräch Schweizer Bundesrecht nachschlagen, Rechtsänderungen überwachen und Gesetze analysieren — ohne manuelle Recherche auf fedlex.admin.ch.
Metapher: USB-C für Bundesrecht. Einmal angeschlossen, kann Claude jederzeit in die Systematische Rechtssammlung «greifen».
Tools (7)
| Tool | Beschreibung |
|---|---|
fedlex_search_laws |
Erlasse der SR nach Stichwort im Titel suchen |
fedlex_get_law_by_sr |
Erlass nach SR-Nummer abrufen (z.B. 235.1 = DSG) |
fedlex_get_recent_publications |
Neueste Publikationen der Amtlichen Sammlung (AS) |
fedlex_get_upcoming_changes |
Erlasse, die bald in Kraft treten (Rechtsmonitoring) |
fedlex_search_gazette |
Im Bundesblatt (BBl) suchen |
fedlex_get_law_history |
Alle Fassungen eines Erlasses (Versionsgeschichte) |
fedlex_search_treaties |
Staatsverträge (SR-Nummern beginnen mit 0.) |
Anwendungsbeispiele
"Zeig mir alle gültigen Bundesgesetze zur Berufsbildung"
→ fedlex_search_laws(keywords="Berufsbildung")
"Was steht im Datenschutzgesetz? Ist es noch in Kraft?"
→ fedlex_get_law_by_sr(sr_number="235.1")
"Welche Bundesgesetze treten in den nächsten 3 Monaten in Kraft?"
→ fedlex_get_upcoming_changes(days_ahead=90)
"Was hat der Bundesrat diese Woche im Bundesblatt publiziert?"
→ fedlex_get_recent_publications(days=7)
"Zeig mir die Versionsgeschichte des DSG — wann trat die Revision in Kraft?"
→ fedlex_get_law_history(sr_number="235.1")
"Welche Bildungsabkommen hat die Schweiz mit der EU?"
→ fedlex_search_treaties(keywords="Bildung")
Installation
Voraussetzungen
- Python 3.11+
uvoderpip
Lokal (Claude Desktop)
# 1. Repository klonen
git clone https://github.com/malkreide/fedlex-mcp.git
cd fedlex-mcp
# 2. Abhängigkeiten installieren
pip install -r requirements.txt
# 3. Direkt testen
python server.py
Claude Desktop Konfiguration
Datei öffnen:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Eintrag hinzufügen:
{
"mcpServers": {
"fedlex": {
"command": "python",
"args": ["/absoluter/pfad/zu/fedlex-mcp/server.py"]
}
}
}
Mit uvx (empfohlen, kein manuelles Install):
{
"mcpServers": {
"fedlex": {
"command": "uvx",
"args": ["--from", "git+https://github.com/malkreide/fedlex-mcp", "fedlex-mcp"]
}
}
}
Claude Desktop neu starten. Im Chat erscheinen danach 7 neue Tools (Hammer-Icon).
Cloud-Deployment (Render.com / SSE)
Für Zugriff via Browser oder ohne lokale Installation:
# Server starten (SSE-Transport)
MCP_TRANSPORT=sse PORT=8000 python server.py
render.yaml Beispiel:
services:
- type: web
name: fedlex-mcp
runtime: python
buildCommand: pip install -r requirements.txt
startCommand: python server.py
envVars:
- key: MCP_TRANSPORT
value: sse
- key: PORT
value: 10000
Datenmodell (JOLux-Ontologie)
jolux:ConsolidationAbstract ← SR-Eintrag
└─ jolux:isRealizedBy → jolux:Expression (URI endet auf /de, /fr, /it, /rm)
├─ jolux:title "Bundesgesetz vom 19. Juni 1992 über den Datenschutz"
├─ jolux:titleShort "DSG"
└─ jolux:historicalLegalId "235.1"
jolux:inForceStatus:
.../0 ✅ In Kraft
.../1 ⚠️ Nicht mehr in SR publiziert
.../3 ❌ Nicht mehr in Kraft
SPARQL-Endpoint: https://fedlex.data.admin.ch/sparqlendpoint
Lizenz: Freie Wiederverwendung (kommerziell und andere Zwecke) gemäss fedlex.admin.ch/de/broadcasters
Sprachen
| Code | Sprache |
|---|---|
de |
Deutsch (Standard, vollständigste Abdeckung) |
fr |
Français |
it |
Italiano |
rm |
Rumantsch |
Sicherheitshinweise
- Dieser Server ist read-only — keine schreibenden Operationen
- Alle Abfragen gehen direkt an den öffentlichen Fedlex-Endpoint
- Keine API-Keys oder Authentifizierung erforderlich
- Datensouveränität: Keine Daten werden an Dritte übertragen
Verwandte Projekte
- Zurich Open Data MCP — Daten der Stadt Zürich
- Swiss Transport MCP — Öffentlicher Verkehr CH
- Patent Research MCP — EPO/IGE Patentdatenbanken
Entwickelt von
Hayal Hayal | GitHub: @malkreide
English summary: MCP server providing access to Swiss federal law via the Fedlex SPARQL endpoint. 7 tools covering the Systematic Compilation (SR), Official Gazette, Federal Bulletin, version history, and international treaties. Read-only, no authentication required, dual transport (stdio + SSE).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fedlex_mcp-0.1.0.tar.gz.
File metadata
- Download URL: fedlex_mcp-0.1.0.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3869035d48280c6a5d895627041fb71d0e99133e1119904687835b3dce9cabdb
|
|
| MD5 |
6053204c160941575ed63f7334844b17
|
|
| BLAKE2b-256 |
67d4fe36e06f25b3907e4a1542c69d7ff962852107f3a3acbc389d458a8a05ec
|
Provenance
The following attestation bundles were made for fedlex_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on malkreide/fedlex-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fedlex_mcp-0.1.0.tar.gz -
Subject digest:
3869035d48280c6a5d895627041fb71d0e99133e1119904687835b3dce9cabdb - Sigstore transparency entry: 1201961551
- Sigstore integration time:
-
Permalink:
malkreide/fedlex-mcp@139c81d17a4316d640ae3949fcb9fd9f01a319af -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/malkreide
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@139c81d17a4316d640ae3949fcb9fd9f01a319af -
Trigger Event:
release
-
Statement type:
File details
Details for the file fedlex_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fedlex_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e449661a2b2fbe8fbb41138a28ff6a27d0e74462d6af997fe48925abfe2dd108
|
|
| MD5 |
cba2bc384ea2faaa12c6001d82932e18
|
|
| BLAKE2b-256 |
46fed9ee29143286e98b97410563673b82805aa35fad6b2509927b61ee56b2d8
|
Provenance
The following attestation bundles were made for fedlex_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on malkreide/fedlex-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fedlex_mcp-0.1.0-py3-none-any.whl -
Subject digest:
e449661a2b2fbe8fbb41138a28ff6a27d0e74462d6af997fe48925abfe2dd108 - Sigstore transparency entry: 1201961555
- Sigstore integration time:
-
Permalink:
malkreide/fedlex-mcp@139c81d17a4316d640ae3949fcb9fd9f01a319af -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/malkreide
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@139c81d17a4316d640ae3949fcb9fd9f01a319af -
Trigger Event:
release
-
Statement type: