Synit AD MCP

Upgrade auf v0.0.3

Migrationsschritte für Synit AD MCP v0.0.3: verpflichtendes Cursor-Secret und Config-File, direktes TLS, lokale anonyme Nutzung und sichere Listener-Regeln.

Upgrade auf v0.0.3

Synit AD MCP v0.0.3 trennt die bisher im globalen Entwicklungsmodus gebündelten Ausnahmen. Transport, Authentifizierung und LDAPS-Verifikation werden jetzt unabhängig und ausdrücklich konfiguriert.

Config-Datei und Cursor-Secret sind Pflicht

adproxy-mcp benötigt immer -config <pfad>. Ein Start ohne HCL-Datei ist nicht mehr möglich.

Jeder MCP-Transport benötigt außerdem mcp.query_cursor_secret_ref. Das gilt für stdio, streamable-http und both. Der aufgelöste Wert muss mindestens 32 Byte lang sein:

mcp {
  transport               = "stdio"
  query_cursor_secret_ref = "env:AD_MCP_CURSOR_SECRET"
}

Der frühere prozesslokale Fallback entfällt. Damit bleiben signierte Seitentokens zwischen Neustarts und über mehrere Instanzen hinweg konsistent, wenn alle Instanzen dasselbe Secret verwenden.

Direktes TLS für Streamable HTTP

Ohne mcp.tls muss der HTTP-Listener auf localhost oder eine Loopback-IP binden. Ein vertrauenswürdiger Reverse Proxy kann dort TLS terminieren. Für eine direkte Veröffentlichung stellt MCP HTTPS selbst bereit:

mcp {
  transport               = "streamable-http"
  listen_addr             = "0.0.0.0:8768"
  auth_token_ref          = "env:AD_MCP_AUTH_TOKEN"
  query_cursor_secret_ref = "env:AD_MCP_CURSOR_SECRET"

  tls {
    cert_file  = "/etc/adproxy/tls/mcp.crt"
    key_file   = "/etc/adproxy/tls/mcp.key"
    chain_file = "/etc/adproxy/tls/intermediate-chain.crt" # optional
  }
}

Zertifikat und Key sind gemeinsam erforderlich. chain_file ergänzt optional PEM-kodierte Zwischenzertifikate. Die Dateien werden beim Start geladen; eine Rotation erfordert einen Neustart.

Lokale anonyme Nutzung

Streamable HTTP kann auf Loopback ausdrücklich ohne Bearer Token laufen:

mcp {
  transport               = "streamable-http"
  listen_addr             = "127.0.0.1:8768"
  allow_anonymous         = true
  query_cursor_secret_ref = "env:AD_MCP_CURSOR_SECRET"
}

allow_anonymous darf nicht mit auth_token oder auth_token_ref kombiniert werden. Der Listener bleibt auch mit TLS auf Loopback beschränkt. Audit-Ereignisse markieren diese Requests als anonym; das Rate Limit verwendet die Quell-IP.

Globale Entwicklungsoption entfernt

Der gemeinsame HCL-Loader akzeptiert keinen dev Block und keinen Top-Level-tls Block mehr. Eine bewusst deaktivierte LDAPS-Prüfung wird ausschließlich über directory.tls.insecure_skip_verify = true gesteuert und beim Start protokolliert.

Vor dem Rollout prüfen

  1. dev und Top-Level-tls aus der MCP-HCL entfernen.
  2. -config <pfad> in jedem Startkommando setzen.
  3. Ein gemeinsames Cursor-Secret mit mindestens 32 Byte konfigurieren.
  4. Für HTTP entweder Bearer-Authentifizierung oder lokalen anonymen Modus wählen.
  5. Nicht lokale HTTP-Listener mit mcp.tls absichern.
  6. Zertifikatsketten bei Bedarf über mcp.tls.chain_file bereitstellen.

Die vollständige Konfiguration steht unter Synit AD MCP Konfiguration. Die vorherige Tool- und Audit-Migration bleibt im Upgrade auf v0.0.2 dokumentiert.

United in Diversity