Architektur & Request-Flow
Wie ein MCP-Tool-Call von SovrGPT durch GovBridge in das Fachverfahren und zurück läuft — die zwei Bausteine, die Zwei-Faktor-Auflösung und der vollständige Pfad eines Aufrufs.
GovBridge besteht aus zwei klar getrennten Bausteinen, die sich genau eine Datenbank (Supabase, EU) und einen Verschlüsselungsschlüssel teilen.
| Baustein | Ort | Aufgabe |
|---|---|---|
| Provisionierung | SovrGPT-Plattform (/admin/govbridge) | Pro Organisation einen Endpunkt anlegen: Slug + Bearer-Token erzeugen, Backend-URL und Credentials (verschlüsselt) speichern. |
| Standalone-Dienst | govbridge.sovrgpt.com (Railway, EU) | Nimmt MCP-Calls entgegen, löst den Mandanten auf, ruft das Backend in Echtzeit auf, übersetzt zwischen MCP und dem provisionierten Protokoll (CMIS bzw. FIT-Connect Submission API v2). |
Diese Trennung ist bewusst: Der Bridge-Dienst kennt keine SovrGPT-Sessions, keine Chat-Inhalte und keine Benutzer — er sieht nur einen Endpunkt-Slug, ein Token und einen JSON-RPC-Aufruf. Das hält den Wirkungsradius (Blast-Radius) klein.
Datenfluss auf einen Blick
┌──────────┐ MCP (JSON-RPC) ┌──────────────┐ CMIS (JSON/HTTP) ┌────────────────┐
│ SovrGPT │ ──────────────────▶ │ GovBridge │ ─────────────────▶ │ Fachverfahren │
│ (EU) │ ◀────────────────── │ (EU, RW4) │ ◀───────────────── │ DMS (Ihr Haus) │
└──────────┘ Tool-Ergebnis └──────────────┘ API-Antwort └────────────────┘Alle drei Stationen liegen im EU-Raum. Es gibt keinen Hyperscaler im Datenpfad und keine Zwischenspeicherung von Fachinhalten. Beim Protokoll FIT-Connect ist das Backend statt eines DMS die FITKO-Submission-API, und die Nutzlast verlässt die Bridge zusätzlich Ende-zu-Ende-verschlüsselt (JWE).
Ein Tool-Call, Schritt für Schritt
- SovrGPT entscheidet im Chat, ein Werkzeug aufzurufen, und sendet
POST https://govbridge.sovrgpt.com/<slug>/<protocol>mitAuthorization: Bearer <bridge-token>und einem JSON-RPC-2.0-Body. - Routing. Der Dienst parst die Route (genau zwei Segmente
/<slug>/<protocol>), akzeptiert nurPOSTund prüft, ob<protocol>in der Instanz-Allowlist liegt (GOVBRIDGE_PROTOCOLS, z. B.cmis,fit-connect). - Zwei-Faktor-Auflösung (siehe unten). Schlägt sie fehl → generisches
401, ohne zu verraten, welcher Faktor fehlte. - Body-Limit. Der JSON-RPC-Body wird mit harter 1-MB-Grenze gelesen (Einzelaufruf oder Batch).
- Dispatch. Der MCP-Dispatcher behandelt
initialize,tools/list,tools/call,ping. Beitools/callwird das zum Protokoll passende Plugin gewählt. - Backend-Aufruf in Echtzeit. Das zum Protokoll passende Plugin baut den
Backend-Auth-Header und ruft das Backend über
fetchmit hartem Timeout auf: das CMIS-Plugin zieht/legt Akten und wendet die Größen-Policy an; das FIT-Connect-Plugin verschlüsselt die Einreichung Ende-zu-Ende (JWE) und durchläuftannounce → Anhänge → finalize. Beide geben MCP-content-Teile zurück. - Antwort & Logging. Der Dienst protokolliert nur Metadaten (Org-/
Endpoint-IDs, Tool, Dauer, Status) und antwortet mit der JSON-RPC-Response
(bzw.
202bei reinen Notifications).
Zwei-Faktor-Mandantenauflösung
Jeder eingehende Aufruf trägt zwei unabhängige Faktoren, die beide auf dieselbe Endpunkt-Zeile zeigen müssen:
- Slug (im URL-Pfad, opak) — identifiziert den Endpunkt.
- Bearer-Token (im
Authorization-Header) — beweist die Berechtigung.
Der Ablauf ist konstant-zeitig und verrät bei Fehlschlag nie, welcher Faktor nicht passte:
- Kein Token →
unauthorized. - Endpunkt per Slug nachschlagen (nur aktive, nicht widerrufene Zeilen).
SHA-256(token)konstant-zeitig gegen den gespeicherten Hash vergleichen. Mismatch →unauthorized.- URL-
<protocol>muss exakt dem gespeicherten Protokoll entsprechen (keine protokollübergreifende Wiederverwendung). - Backend-Credentials werden transient entschlüsselt — nur im RAM für die Dauer dieses einen Calls, nie geloggt.
Der Token-Klartext existiert nur einmalig bei der Provisionierung; gespeichert wird ausschließlich sein Hash — dasselbe Muster wie bei den API-Keys.
Zustandslosigkeit
Der Dispatcher ist stateless: Jeder Request trägt seinen eigenen aufgelösten Mandantenkontext, es gibt kein Sitzungsobjekt pro Verbindung. Gecacht werden nur zwei unkritische Dinge im Prozess-RAM, rein zur Round-Trip-Ersparnis:
- das OAuth-Backend-Token pro Endpunkt (bis kurz vor Ablauf),
- das CMIS-Repository-Service-Dokument (5 Minuten).
Fachinhalte werden nie zwischengespeichert.
Weiter
- Werkzeuge & Schnittstellen — die
cmis_*- undfit_*-Tools. - Sicherheit & Compliance — Crypto und DSGVO.
- Betrieb — Hosting, Limits, Fehlerverhalten.
GovBridge — Fachverfahren anbinden
Der gehostete MCP-Adapter von SovrGPT für Behörden-DMS und Fachverfahren — CMIS und FIT-Connect in Echtzeit, strikt EU-gehostet, ohne proprietäre Konnektoren.
Werkzeuge & Schnittstellen
Die kuratierten cmis_*- und fit_*-Werkzeuge von GovBridge, ihre Parameter, das CMIS-1.1-Browser-Binding, die FIT-Connect Submission API v2 und welche Fachverfahren abgedeckt sind.