Baustein · Maschinenzugang
MCP-Gateway
Die Maschinen-Tür der Plattform: dieselben Werkzeuge über MCP und eine JSON-Schnittstelle — 52 Fähigkeiten aus zwei Domänen — mit Abruf-Budget und typisierten Absagen.
vorbereitet Maschinenzugang Lizenz im Crate nicht deklariert (Korpus: Apache-2.0) kein öffentlicher Endpunkt
L2.3 · mcp/gateway
Sofort starten
Voraussetzungen:
- Rust (stable über rustup) und Git; alle Befehle laufen aus der Wurzel des Korpus-Checkouts.
cargo run --locked --manifest-path mcp/gateway/Cargo.toml -- --root . --http 8700 --fedlex-fixtures mcp/servers/fedlex/tests/fixtures --lindas-fixtures mcp/servers/lindas/tests/fixturesErwartet: gateway on 127.0.0.1:8700
Mit den Fixture-Flags antworten beide Schnittstellen aus aufgezeichneten Dateien, ohne Netz. Ohne die Flags fragt der Gateway die öffentlichen Endpunkte des Bundes.
Herunterladen
- Quellcode
- noch nicht Der Quellcode wird mit der Publikations-Strecke öffentlich; das Repository ist noch nicht freigeschaltet. · mcp/gateway
- Release
- noch nicht Noch kein getaggtes Release; das erste folgt mit der Publikations-Strecke.
- Container-Image
- noch nicht Noch kein Container-Image veröffentlicht.
- Crate
- nicht vorgesehen — das Modul ist kein Bibliotheks-Crate
Abhängigkeiten
- Braucht
- fedlex-Engine vorbereitet · Politikdaten-Engine vorbereitet · API-Spine vorbereitet
- Gebraucht von
- A2A-Agent vorbereitet
- Dokumentation
- die Seite in der Dokumentation
Zustand und Belege
vorbereitet — gebaut und getestet, nicht öffentlich serviert.
Jeder Beleg trägt seine Quelle. Als «nachgezählt» markierte Werte zählt der Generator bei jedem Build aus der Quelle; weicht die Zahl ab, bricht der Build.
| Messgrösse | Wert | Quelle |
|---|---|---|
| Fähigkeiten im Inventar | 52 52, aufgeteilt auf 8 Domänen: 35 fedlex, 8 lindas, 3 meta, 2 facts, je 1 directory, manifest, publish, standard nachgezählt: jq 'getpath([]) | length' mcp/gateway/tool-inventory.json |
mcp/gateway/tool-inventory.json |
| Tests | 48, keiner davon übersprungen (5 im lib, 14 e2e, 14 http_shell, 6 inventory, 3 policy, 6 resource) | mcp/gateway |
| Was das Inventar vor dem Abdriften hält | Drei Flächen, eine Quelle: der Tool-Router, die committete tool-inventory.json und der REST-Endpunkt der API-Spine müssen identisch sein — als Test und zusätzlich als Diff in der Prüfstrecke | mcp/gateway |
| Was das Budget tut | Harte gewichtete Schranke je Sitzung (--budget n): eine lokale Registerlesung wiegt 1, jeder Aufruf an eine montierte Domäne (fedlex.*, lindas.*) wiegt 2; es erholt sich nie, ohne Flag ist es unbegrenzt | mcp/gateway |
| Was die Ratenbegrenzung tut | Token-Bucket je Client, in denselben Gewichtseinheiten: standardmässig 60 pro Minute mit Burst 20 (nie unter 2, sonst käme kein Domänenaufruf durch); sie erholt sich von selbst, die Absage nennt retry_after_ms, und die Zähler liegen nur im Prozessspeicher | mcp/gateway |
| Öffentlicher Endpunkt | Nicht serviert. Der Identifikator mcp.openhelvetia.swiss/mcp steht im Code, die beiden eigenen Einträge stehen seit 02.09.2026 im Register und tragen den Prüfstand «nie geprüft», bis der Endpunkt antwortet | mcp/gateway |
Was fehlt
- bis in Betrieb: Es fehlt der öffentliche Endpunkt: die streamable-HTTP-Tür existiert im Code, aber weder Zone noch Route noch Deployment — und daran hängt die tägliche Liveness-Prüfung ebenso wie die Publikation der beiden vorbereiteten Einträge. Budget- und Ratenzähler leben nur im Prozessspeicher, ein Autorisierungsserver für die deklarierte RFC-9728-Kette existiert nicht, und der Orchestrator, dessen erster Schritt die zweistufige Entdeckung ist, ist nicht gebaut.
Dokumentation
- MCP-Gateway in der Dokumentation: was es tut, betreiben, testen, ansteuern
- Selbst betreiben · Testen · Ansteuern