1 ADR-MCP-Go-SDK
frank edited this page 2026-07-17 16:36:47 +02:00

ADR: offizielles Go SDK und MCP 2025-11-25

  • Status: angenommen
  • Entscheidung: offizielles github.com/modelcontextprotocol/go-sdk, aktuell im Modul auf v1.6.1 gepinnt; MCP-Protokollrevision 2025-11-25

Kontext

Der MCP-Endpunkt benötigt eine gepflegte Implementierung von Lifecycle, JSON-RPC, Tool-Schemas und Streamable HTTP. Eine lokale Protokollkopie würde Interop-, Security- und Wartungsrisiken duplizieren. Die Revision 2025-11-25 ist die vom eingesetzten SDK vollständig unterstützte stabile Revision.

Entscheidung

Der Server verwendet ausschließlich das offizielle Go SDK und dessen Streamable-HTTP-Transport. Legacy HTTP+SSE und stdio werden von diesem Dienst nicht angeboten. Der Client und das SDK handeln die Protokollrevision während initialize aus; nachfolgende HTTP-Requests verwenden die ausgehandelte Revision gemäß MCP-Transport-Spezifikation.

Die Dependency bleibt in go.mod exakt gepinnt und wird nur zusammen mit Tests, Kompatibilitätsmatrix und diesem ADR aktualisiert. Die Anwendung setzt zusätzliche eigene Schutzschichten für Origin/Exposure und begrenzte Tool-Ausführung um; SDK-Defaults sind kein Ersatz für das Deployment-Modell.

Folgen

  • Upstream-Sicherheits- und Interoperabilitätskorrekturen sind über reguläre Dependency-Updates verfügbar.
  • SDK-Upgrades können Transport- oder Security-Defaults ändern und benötigen daher vollständige Tests einschließlich Race Detector.
  • Die MCP-Revision und die interne Tunnelversion sind unabhängig. Eine Änderung der einen erzwingt nicht automatisch eine Änderung der anderen.
  • Nicht benötigte MCP-Fähigkeiten werden nicht allein deshalb exponiert, weil das SDK sie unterstützt.

Referenzen