Claude Platform Docs
MessagesMCP-Tunnel

MCP-Tunnel

Verbinde Claude sicher mit MCP-Servern, die in deinem privaten Netzwerk laufen, ohne eingehende Ports zu öffnen oder Dienste dem öffentlichen Internet auszusetzen.

Mit „MCP tunnels" (MCP-Tunnel) verbindest du Claude mit Servern für das „Model Context Protocol", oder MCP, die in deinem privaten Netzwerk laufen. Der Datenverkehr läuft über eine rein ausgehende Verbindung. Du musst also keine eingehenden Firewall-Ports öffnen und keine Dienste dem öffentlichen Internet aussetzen. Auch die IP-Bereiche von Anthropic musst du auf deinem Ursprungsserver nicht in eine „allowlist" (Zulassungsliste) aufnehmen.

Ob Zero Data Retention und HIPAA BAA für diese Funktion gelten, erfährst du unter API und Datenaufbewahrung.

Funktionsweise

Der Tunnel-Stack besteht aus zwei Komponenten, die in deinem Netzwerk laufen:

  • cloudflared: Der Open-Source-Tunnel-Connector von Cloudflare. Er baut ausschließlich ausgehende Verbindungen zum Tunnel-Edge auf und überträgt verschlüsselten Datenverkehr von Anthropic zu deinem Proxy.
  • Proxy: Die Routing-Komponente von Anthropic. Er terminiert das innere TLS und prüft, ob Upstream-IPs in einem zulässigen Bereich liegen. Anschließend leitet er jede Anfrage anhand des Hostnamens an den richtigen Upstream-MCP-Server weiter.

Jeder MCP-Server, den du freigibst, erhält einen Hostnamen unter deiner Tunnel-Domain (zum Beispiel docs.<your-tunnel-domain>). Diese Hostnamen hängst du in der Claude Console an eine Managed-Agent-Sitzung an. Alternativ übergibst du sie über den MCP-Connector an die Messages API.

Voraussetzungen

Stelle vor der Bereitstellung sicher, dass du Folgendes hast:

  • Ein Bereitstellungsziel: einen Kubernetes-Cluster oder eine VM mit Docker und Docker Compose.
  • Einen Tunnel. Du kannst ihn in der Claude Console erstellen (siehe Tunnel erstellen) oder über die API. Auch der Setup-Hook des Helm-Charts kann während der Installation einen Tunnel für dich erstellen.
  • Eine Möglichkeit, mit der sich dein Stack bei der Tunnels API authentifiziert. Wähle eine davon:
    • Programmatischer Zugriff (empfohlen). Richte beim Erstellen des Tunnels Workload Identity Federation ein. Dein Stack erzeugt dann kurzlebige API-Token über deinen Identitätsanbieter und ruft das Tunnel-Token ab. Außerdem generiert und registriert er automatisch ein CA-Zertifikat. Dafür brauchst du die Berechtigung zum Verwalten von Föderationsregeln, einen registrierten OIDC-Aussteller und eine Föderationsregel mit dem Scope workspace:manage_tunnels.
    • Manuell. Du stellst die statischen Anmeldedaten selbst bereit: das Tunnel-Token aus der Console und ein Serverzertifikat, das von einer dort registrierten CA signiert ist. Siehe Verbindungsdetails abrufen und CA-Zertifikat hinzufügen.
  • Einen oder mehrere MCP-Server, die in deinem privaten Netzwerk laufen. Beispiele findest du unter Remote-MCP-Server.
  • Ausgehende Konnektivität wie unter Netzwerkanforderungen aufgeführt.

Netzwerkanforderungen

KomponenteZielPort / ProtokollVerwendet während
Setup-Komponenteapi.anthropic.com443 TCPBereitstellung und Token-Rotation
cloudflaredTunnel-Edge (198.41.192.0/19, 2606:4700:a0::/44)7844 TCP und UDPLaufzeit
ProxyDeine Upstream-MCP-ServerWie konfiguriertLaufzeit

Sicherheitsmodell

Sicherheitsebenen

Drei unabhängige Ebenen schützen jede Anfrage:

EbeneSchützt vor
Äußeres mTLS zwischen Anthropic und dem Transportanbieter, mit IP-ValidierungUnbefugten Clients, die den Tunnel erreichen
Inneres TLS vom Back-End von Anthropic zu deinem ProxyEinsicht in die Nutzdaten durch den Transportanbieter oder andere Netzwerk-Zwischenstellen
OAuth auf jedem MCP-ServerUnbefugter Nutzung von MCP-Tools durch authentifizierten Tunnel-Datenverkehr

Der Tunnel-Transport läuft über das Netzwerk von Cloudflare. Der Proxy terminiert das innere TLS mit einem Zertifikat, das nur du besitzt. Deshalb kann Cloudflare die Nutzdaten von Anfragen und Antworten nicht lesen. Anthropic verbindet sich erst mit einem Tunnel, wenn ein CA-Zertifikat registriert ist. Die Nutzdaten sind also immer verschlüsselt, wenn sie das Netzwerk von Cloudflare durchlaufen. Verbindungsmetadaten erhält Cloudflare allerdings; siehe Was der Transportanbieter sehen kann.

Modell der geteilten Verantwortung

Anthropic übernimmtDeine Organisation übernimmt
Zugriffskontrolle für TunnelAlle Inhalte und den gesamten Datenverkehr, der durch deinen Tunnel läuft, sowie die Einhaltung geltender Nutzungsrichtlinien von Drittanbietern (einschließlich der von Cloudflare)
Validierung deines CA-Zertifikats vor der Verbindung mit deinem ProxyEinhaltung der Bereitstellungshinweise auf diesen Seiten
Sicherstellen, dass Claude Anfragen nur an Tunnel deiner Organisation sendetSchutz von Tunnel-Token und privaten TLS-Schlüsseln
Verwaltung des Serverzertifikats und dessen Erneuerung vor Ablauf
Konfiguration von OAuth auf jedem MCP-Server
Einschränkung des Netzwerkzugriffs für den Proxy und die MCP-Server
Benachrichtigung von Anthropic bei Verdacht auf eine Sicherheitsverletzung

Was der Transportanbieter sehen kann

Cloudflare stellt den ausgehenden Transport bereit. Die Nutzdaten von MCP-Anfragen und -Antworten kann Cloudflare nicht lesen, erhält aber die folgenden Verbindungsmetadaten:

  • die ausgehende IP-Adresse des Hosts, auf dem cloudflared läuft
  • einen Host-Fingerabdruck von cloudflared
  • Verbindungszeiten und Datenvolumen
  • die Subdomain unter *.tunnel.anthropic.com, die deinem Tunnel zugewiesen ist

Die Vereinbarung zwischen Anthropic und Cloudflare schränkt ein, wie Cloudflare diese Telemetriedaten nutzen darf. Für diese Forschungsvorschau ist Cloudflare als Unterauftragsverarbeiter tätig.

Einen Tunnel bereitstellen

Wenn du neu bei MCP-Tunneln bist, beginne mit dem Schnellstart. So bringst du zuerst lokal einen funktionierenden Tunnel zum Laufen, bevor du eine Produktionsbereitstellung konfigurierst.

Der kürzeste Weg zu einem funktionierenden Tunnel: Docker Compose mit einem Beispiel-MCP-Server.

Installation auf einem Kubernetes-Cluster mit dem Helm-Chart von Anthropic.

Installation auf einer VM mit Docker Compose.

So wählst du zwischen den Optionen:

  • Bereitstellungsziel
    • Helm für die Bereitstellung auf Kubernetes.
    • Docker Compose für einen einzelnen Host oder lokale Tests.
  • Authentifizierung für das Setup
    • Programmatischer Zugriff (über Workload Identity Federation), wenn du einen OIDC-Identitätsanbieter hast, etwa einen Kubernetes-Cluster, Cloud-IAM oder SPIFFE.
    • Manuelle Anmeldedaten, wenn du keinen hast oder wenn du testest.

Die getunnelten MCP-Server verwenden

Sobald dein Tunnel aktiv ist, sind die Upstream-MCP-Server von Claude Managed Agents und der Messages API aus erreichbar. Aktiv bedeutet: Der Tunnel hat ein aktives CA-Zertifikat und dein Tunnel-Stack ist verbunden.

In beiden Fällen überträgt der Tunnel verschlüsselten Datenverkehr zu deinem MCP-Server, authentifiziert sich aber nicht bei ihm. Verlangt der Upstream-MCP-Server eine eigene Authentifizierung (OAuth, Bearer-Token), stellst du sie genauso bereit wie bei jedem anderen MCP-Server. Diese Authentifizierung ist unabhängig vom Tunnel.

Managed Agents (Console)

  1. Erstelle auf der Seite Sessions (platform.claude.com/sessions) in der Claude Console eine Sitzung und wähle Create new agent, damit du die Liste der MCP-Server bearbeiten kannst.
  2. Klicke auf + MCP Server und öffne das Dropdown-Menü. Tunnel im Workspace der Sitzung, die mindestens ein aktives Zertifikat haben, erscheinen oben in der Liste, über dem öffentlichen Connector-Katalog.
  3. Wähle den Tunnel aus. Gib unter Subdomain die Subdomain an, die dein Proxy an einen bestimmten MCP-Server weiterleitet, und unter Path den Pfad, den der Upstream-MCP-Server erwartet. Die Zeile Resolves to zeigt die genaue URL an.

Messages API

Übergib die URL des Upstream-MCP-Servers im Array mcp_servers, genauso wie bei jedem anderen Remote-MCP-Server. Der Anfragetext und der Header anthropic-beta folgen dem Standardformat des MCP-Connectors; nur die url ist tunnelspezifisch. Das folgende Beispiel verwendet den Beta-Header mcp-client des MCP-Connectors, der sich von der Beta mcp-tunnels unterscheidet, die von der Tunnels API verwendet wird. Stelle die Anfrage in dem Workspace, in dem der Tunnel erstellt wurde, indem du einen API-Key für diesen Workspace verwendest oder, falls dein Key Zugriff auf mehrere Workspaces hat, den Header anthropic-workspace-id auf diesen Workspace setzt.

Der Host der URL ist <subdomain>.<your-tunnel-domain>. Der Pfad hängt von deinem Upstream-MCP-Server ab, nicht vom Tunnel: Der streamable-http-Transport von FastMCP stellt unter /mcp bereit, andere Server verwenden möglicherweise / oder einen benutzerdefinierten Pfad (sieh in der Dokumentation des Servers nach). Der Proxy leitet den Pfad unverändert weiter.

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-opus-5-5",
    max_tokens=1000,
    messages=[{"role": "user", "content": "Use the hello tool to greet tunnel."}],
    mcp_servers=[
        {
            "type": "url",
            "url": "https://echo.YOUR_TUNNEL_DOMAIN_HERE/mcp",
            "name": "echo",
        }
    ],
    tools=[{"type": "mcp_toolset", "mcp_server_name": "echo"}],
    betas=["mcp-client-2025-11-20"],
)

print(response)

Informationen zur Authentifizierung beim Upstream-MCP-Server (authorization_token) und zu weiteren mcp_servers-Optionen findest du unter MCP-Connector.

Nächste Schritte

Hinweise zur Härtung, Rotation von Anmeldedaten und Reaktion auf Sicherheitsverletzungen.

Probleme mit Konnektivität, TLS und Routing diagnostizieren.

Konfigurationsfelder des Proxys, die Tunnels API, Zertifikatsanforderungen und die Setup-Komponente.

Getunnelte Server über die Messages API verwenden.

Was this page helpful?