Dokumentation

Übersicht

Tutorials
Anleitungen
Infrastruktur
Referenz
Erklärung
Auf dieser Seite

Ein Gateway, zwei Funktionen: Politik (Rate, Sitzungsbudget, typisierte Absagen) und Aggregation (flache Namen, deterministische Werkzeugliste, zweistufige Entdeckung). Dahinter zwei Schnittstellen zu Bundesinfrastruktur: fedlex über dem öffentlichen Fedlex-SPARQL-Endpunkt, lindas über den 44 politischen Datenwürfeln der Bundeskanzlei.

Stand: mcp.openhelvetia.swiss/mcp ist vorbereitet und nicht serviert. Alles hier beschreibt den gebauten Stand, wie ihn die Tests beweisen. Lokal läuft er heute; wie, steht in MCP-Gateway betreiben, testen, ansteuern.

Die drei Türen

TürFür wenBemerkung
MCP über stdiolokale Hosts und Testsdie Maschinentür; der Prozess ist die Sitzung
MCP streamable-HTTP /mcpAgenten und Hosts über das Netzdie vorgesehene öffentliche Tür (Revision 2026-07-28)
JSON-Hülle GET /tools, POST /tool/<id>einfache Clients, der Chat dieser Websitelokal; kein Produktionstransport; dieselben Werkzeuge, dieselben Absagen
Relais /relay/infomaniak/<Produkt>/…der Chat dieser Website, für einen Anbieter, dessen API keine Browser-Aufrufe annimmtreicht chat/completions und models mit dem eigenen Schlüssel des Besuchers an Infomaniak weiter und nirgendwohin sonst; speichert und protokolliert nichts davon; offen nur, wo der Betreiber --relay setzt (E16, Revision 05.09.2026)

Zweistufige Entdeckung

  1. meta.tools. Jedes Werkzeug mit Kennung, Domäne, Einzeiler und Gewicht, ohne Eingabeschemata. Kostet 1.
  2. meta.schemas. Die vollständigen Eingabeschemata nur der genannten Kennungen, typisch drei bis fünf.
  3. Aufruf. Beide Stufen und tools/list lesen denselben Router; die Schemata sind byte-identisch.

Eine Zeile aus Stufe eins, wörtlich aus dem Werkzeug-Inventar:

{
  "id": "fedlex.resolve_sr",
  "domain": "fedlex",
  "summary": "Resolve an SR number (e.g. 832.10) to the act's ELI, titles and in-force status: use when a question names an SR; predecessors stay visible. norm.",
  "weight": 2
}

Ein Aufruf über die JSON-Hülle

curl -s http://127.0.0.1:8700/tools
curl -s -X POST http://127.0.0.1:8700/tool/meta.schemas -H 'content-type: application/json' -d '{"names": ["fedlex.resolve_sr", "fedlex.read_article"]}'
curl -s -X POST http://127.0.0.1:8700/tool/lindas.list_cubes -H 'content-type: application/json' -d '{}'

Die erste Nachricht über MCP streamable-HTTP

POST https://mcp.openhelvetia.swiss/mcp
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2026-07-28
MCP-Method: server/discover

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "server/discover",
  "params": {
    "protocolVersion": "2026-07-28",
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientCapabilities": {}
    }
  }
}

Beide Accept-Typen, Versions- und Methoden-Header, params._meta mit beiden Schlüsseln: fehlt eines, weist ein konformer Server die Anfrage ab, bevor MCP-Logik läuft.

Grenzen

Sitzungsbudget: gewichtete harte Grenze (Registerlesen 1, Domänenaufruf 2), erholt sich nicht. Rate: Voreinstellung 60 Gewichtseinheiten pro Minute, Burst 20, je Client. Eine Absage kostet nichts. Die sechs Absagen stehen in der Referenz.