Dokumentation

Übersicht

Tutorials
Anleitungen
Infrastruktur
Referenz
Erklärung
Auf dieser Seite

Was es tut

Der Gateway ist die Maschinen-Tür der Plattform: dieselben 52 Fähigkeiten über MCP und über eine minimale JSON/HTTP-Schale, beide durch denselben Dispatcher. Die Politik liegt damit an genau einer Stelle — Abruf-Budget, Ratenbegrenzung und typisierte Absagen geschehen einmal, gleich welche Tür der Aufrufer benutzt hat. Die Entdeckung läuft in zwei Stufen: «meta.tools» nennt jedes Werkzeug mit einzeiliger Beschreibung, Domäne und Preis, ohne ein einziges Eingabeschema; «meta.schemas» liefert die Schemata nur der Werkzeuge, die ein Agent auch benannt hat. Dahinter hängen zwei Schnittstellen zu Bundesinfrastruktur, fedlex mit 35 und LINDAS mit 8 Werkzeugen, und ihre Stufe-eins-Zeilen sind wortgleich die des jeweiligen Servers, festgenagelt durch einen Test. Was er nicht tut: die JSON-Schale ist ausdrücklich kein Produktionstransport — eine Verbindung aufs Mal, kein Keep-alive, kein TLS, keine Sitzungen —, und ein abgelehnter Aufruf kostet nichts, weil beide Schranken vor jeder Belastung geprüft werden. Einen öffentlichen Endpunkt serviert er bis heute nicht.

Selbst betreiben

Sie brauchen:

  • Rust (stable über rustup) und Git; alle Befehle laufen aus der Wurzel des Korpus-Checkouts.

Aus der Wurzel des Korpus-Checkouts, Zeile für Zeile:

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/fixtures

Danach sehen Sie:

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.

Testen

cargo test --locked --manifest-path mcp/gateway/Cargo.toml
  • Aufgezeichnete Fixtures: mcp/gateway/tests
  • Läuft ohne Netz: jede Antwort kommt aus dem Repository, das Ergebnis ist bei jedem Lauf gleich.

Ansteuern

  • Öffentlich: noch nicht — Kein öffentlicher Endpunkt: weder Zone noch Route noch Deployment sind aufgeschaltet.
  • Lokal: http://127.0.0.1:8700 — GET /tools, POST /tool/, POST /mcp

Verträge

  • Werkzeug-Inventar (Stufe eins) mcp/gateway/tool-inventory.json
  • RFC-9728-Metadaten mcp/gateway/oauth-protected-resource.json

Ein Domänenwerkzeug über die JSON-Hülle aufrufen

curl -s -X POST http://127.0.0.1:8700/tool/lindas.list_cubes -H 'content-type: application/json' -d '{}'

Antwort (Auszug):

{"cubes":[{"cube":"https://politics.ld.admin.ch/fc/cube-chancellor","description":"Bundeskanzler der Schweiz mit Partei, Kanton und Amtszeiten.","family":"fc","name":"Bundeskanzler","observations":15, …}, …]}

Aufruf und Optionen

usage: oh-mcp-gateway --root <repo root> [--budget <n>] [--rate <n/min>] [--burst <n>] [--trust-forwarded-for] [--upstream-rate <n/s>] [--fedlex-fixtures <dir>] [--lindas-fixtures <dir>] [--http <port>] [--model-key-file <path>] [--model-cap <answers/client/day>]

Mitwirken

Änderungen laufen über Merge Request und dieselben Gates wie für den Verein: Formatierung, Clippy ohne Warnungen, Tests, Siegel- und Drift-Prüfungen. Sicherheitsmeldungen vertraulich an [email protected].

Die Basis-Stufe kostet nichts; wovon der Betrieb lebt, steht unter Über uns, Finanzierung.

Steckbrief

Zustand, Belege, Download und Abhängigkeiten stehen auf der Infrastruktur-Seite: MCP-Gateway.