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.

MCP-Tunnel ermöglichen es dir, Claude mit „Model Context Protocol“-Servern, oder MCP-Servern, zu verbinden, die innerhalb deines privaten Netzwerks laufen. Der Datenverkehr fließt über eine rein ausgehende Verbindung, sodass du keine eingehenden Firewall-Ports öffnen, keine Dienste dem öffentlichen Internet aussetzen und die IP-Bereiche von Anthropic nicht auf deinem Origin auf eine Allowlist setzen musst.

Informationen zur Berechtigung für Zero Data Retention und HIPAA BAA findest du unter API und Datenaufbewahrung.

So funktioniert es

Der Tunnel-Stack besteht aus zwei Komponenten, die innerhalb deines Netzwerks laufen:

  • cloudflared: Der Open-Source-Tunnel-Connector von Cloudflare. Er initiiert rein ausgehende Verbindungen zum Tunnel-Edge und transportiert verschlüsselten Datenverkehr von Anthropic zu deinem Proxy.
  • Proxy: Die Routing-Komponente von Anthropic. Sie terminiert das innere TLS, validiert, dass Upstream-IPs in einen erlaubten Bereich fallen, und leitet jede Anfrage anhand des Hostnamens an den richtigen Upstream-MCP-Server weiter.

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

Voraussetzungen

Stelle vor dem Deployment sicher, dass du Folgendes hast:

  • Ein Deployment-Ziel: einen Kubernetes-Cluster oder eine VM mit Docker und Docker Compose.
  • Einen Tunnel. Erstelle einen in der Claude Console (siehe Einen Tunnel erstellen) oder über die API; der Setup-Hook des Helm-Charts kann während der Installation ebenfalls einen für dich erstellen.
  • Eine Möglichkeit für deinen Stack, sich bei der Tunnels API zu authentifizieren. Wähle eine:
    • Programmatischer Zugriff (empfohlen). Richte Workload Identity Federation ein, wenn du den Tunnel erstellst. Dein Stack erzeugt kurzlebige API-Token von deinem Identity Provider, ruft das Tunnel-Token ab und generiert und registriert automatisch ein CA-Zertifikat. Erfordert die Berechtigung zur Verwaltung von Federation-Regeln, einen registrierten OIDC-Issuer und eine Federation-Regel mit dem Scope workspace:manage_tunnels.
    • Manuell. Stelle statische Anmeldedaten selbst bereit: das Tunnel-Token aus der Console und ein Serverzertifikat, das von einer CA signiert ist, die du dort registrierst. Siehe Die Verbindungsdetails abrufen und Ein 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 TCPProvisionierung und Token-Rotation
cloudflaredTunnel-Edge (198.41.192.0/19, 2606:4700:a0::/44)7844 TCP und UDPLaufzeit
ProxyDeine Upstream-MCP-ServerWie konfiguriertLaufzeit

Sicherheitsmodell

Sicherheitsschichten

Drei unabhängige Schichten schützen jede Anfrage:

SchichtSchützt vor
Äußeres mTLS zwischen Anthropic und dem Transportanbieter, mit IP-ValidierungUnautorisierten Clients, die den Tunnel erreichen
Inneres TLS vom Backend von Anthropic zu deinem ProxyEinsicht in die Payload durch den Transportanbieter oder einen beliebigen Netzwerkvermittler
OAuth auf jedem MCP-ServerUnautorisierter Nutzung von MCP-Tools durch authentifizierten Tunnel-Datenverkehr

Der Tunnel-Transport läuft über das Netzwerk von Cloudflare. Da der Proxy das innere TLS mit einem Zertifikat terminiert, das nur du besitzt, kann Cloudflare Anfrage- oder Antwort-Payloads nicht lesen. Anthropic verbindet sich erst mit einem Tunnel, wenn ein CA-Zertifikat registriert ist, sodass Payloads immer verschlüsselt sind, wenn sie das Netzwerk von Cloudflare durchqueren. Cloudflare erhält jedoch Verbindungsmetadaten; siehe Was der Transportanbieter beobachten kann.

Modell der geteilten Verantwortung

Anthropic übernimmtDeine Organisation übernimmt
Tunnel-ZugriffskontrolleAlle Inhalte und den gesamten Datenverkehr, der deinen Tunnel durchläuft, sowie die Einhaltung geltender Acceptable-Use-Richtlinien von Drittanbietern (einschließlich derer von Cloudflare)
Validierung deines CA-Zertifikats vor der Verbindung mit deinem ProxyEinhaltung der Deployment-Anleitungen auf diesen Seiten
Sicherstellen, dass Claude Anfragen nur an Tunnel sendet, die deiner Organisation gehörenAbsicherung 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, wenn du eine Sicherheitsverletzung vermutest

Was der Transportanbieter beobachten kann

Cloudflare stellt den ausgehenden Transport bereit. Es kann MCP-Anfrage- oder Antwort-Payloads nicht lesen, erhält aber die folgenden Verbindungsmetadaten:

  • die Egress-IP-Adresse des Hosts, auf dem cloudflared läuft
  • einen cloudflared-Host-Fingerprint
  • Verbindungszeitpunkte und Byte-Volumen
  • die deinem Tunnel zugewiesene Subdomain unter *.tunnel.anthropic.com

Die Vereinbarung von Anthropic mit Cloudflare beschränkt die Nutzung dieser Telemetrie durch Cloudflare. Cloudflare agiert für diese Research Preview als Unterauftragsverarbeiter.

Einen Tunnel deployen

Wenn MCP-Tunnel neu für dich sind, beginne mit dem Schnellstart, um lokal einen funktionierenden Tunnel zu erhalten, bevor du ein Produktions-Deployment konfigurierst.

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

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

Installiere auf einer VM mit Docker Compose.

Auswahl zwischen den Optionen:

  • Deployment-Ziel
    • Helm beim Deployment 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-Identity-Provider wie einen Kubernetes-Cluster, Cloud-IAM oder SPIFFE hast.
    • Manuelle Anmeldedaten, wenn du keinen hast oder wenn du testest.

Die getunnelten MCP-Server verwenden

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

In beiden Fällen transportiert der Tunnel verschlüsselten Datenverkehr zu deinem MCP-Server, authentifiziert sich aber nicht bei ihm. Wenn der Upstream-MCP-Server eine eigene Authentifizierung erfordert (OAuth, Bearer-Token), stelle sie auf dieselbe Weise bereit wie für jeden anderen MCP-Server; sie ist unabhängig vom Tunnel.

Managed Agents (Console)

  1. Erstelle unter Managed Agents > Sessions eine Sitzung und wähle Create new agent, damit du die MCP-Server-Liste bearbeiten kannst.
  2. Klicke auf + MCP Server und öffne das Dropdown. 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 und gib die Subdomain an, die dein Proxy an einen bestimmten MCP-Server weiterleitet, sowie den Path, den der Upstream-MCP-Server erwartet. Die Zeile Resolves to zeigt die genaue URL.

Messages API

Übergib die URL des Upstream-MCP-Servers im Array mcp_servers, genau wie bei jedem anderen Remote-MCP-Server. Der Request-Body und der anthropic-beta-Header folgen dem Standardformat des MCP-Connectors; nur die url ist tunnelspezifisch. Das folgende Beispiel verwendet den Beta-Header mcp-client des MCP-Connectors, der von der Beta mcp-tunnels getrennt ist, 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, indem du den anthropic-workspace-id-Header 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 bedient /mcp, und andere Server verwenden möglicherweise / oder einen benutzerdefinierten Pfad (prüfe die Dokumentation des Servers). Der Proxy leitet den Pfad unverändert weiter.

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-opus-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.

Diagnostiziere Konnektivitäts-, TLS- und Routing-Probleme.

Proxy-Konfigurationsfelder, die Tunnels API, Zertifikatsanforderungen und die Setup-Komponente.

Verwende getunnelte Server über die Messages API.

Was this page helpful?