Claude Platform Docs
MessagesTunnels MCP

Tunnels MCP

Connectez Claude en toute sécurité à des serveurs MCP exécutés dans votre réseau privé sans ouvrir de ports entrants ni exposer de services à l'internet public.

Les tunnels MCP vous permettent de connecter Claude à des serveurs Model Context Protocol (MCP) qui s'exécutent à l'intérieur de votre réseau privé. Le trafic circule via une connexion sortante uniquement, de sorte que vous n'avez pas besoin d'ouvrir de ports de pare-feu entrants, d'exposer des services à l'internet public ou d'ajouter les plages d'adresses IP d'Anthropic à une liste d'autorisation sur votre origine.

Pour l'éligibilité à la rétention zéro de données et au BAA HIPAA, consultez API et rétention des données.

Comment ça fonctionne

La pile de tunnel se compose de deux composants qui s'exécutent à l'intérieur de votre réseau :

  • cloudflared : le connecteur de tunnel open source de Cloudflare. Il initie des connexions sortantes uniquement vers le bord du tunnel et transporte le trafic chiffré d'Anthropic vers votre proxy.
  • Proxy : le composant de routage d'Anthropic. Il termine le TLS interne, valide que les adresses IP en amont se situent dans une plage autorisée, et achemine chaque requête vers le serveur MCP en amont correct en fonction du nom d'hôte.

Chaque serveur MCP que vous exposez obtient un nom d'hôte sous votre domaine de tunnel (par exemple, docs.<your-tunnel-domain>). Vous attachez ces noms d'hôte à une session Managed Agent dans la Claude Console, ou vous les transmettez à l'API Messages via le connecteur MCP.

Prérequis

Avant le déploiement, assurez-vous d'avoir :

  • Une cible de déploiement : un cluster Kubernetes, ou une VM avec Docker et Docker Compose.
  • Un tunnel. Créez-en un dans la Claude Console (voir Créer un tunnel) ou via l'API ; le hook de configuration du chart Helm peut également en créer un pour vous lors de l'installation.
  • Un moyen pour votre pile de s'authentifier auprès de l'API Tunnels. Choisissez-en un :
    • Accès programmatique (recommandé). Configurez la Workload Identity Federation lorsque vous créez le tunnel. Votre pile génère des jetons API de courte durée à partir de votre fournisseur d'identité, récupère le jeton de tunnel, et génère et enregistre automatiquement un certificat CA. Nécessite l'autorisation de gérer les règles de fédération, un émetteur OIDC enregistré, et une règle de fédération avec la portée workspace:manage_tunnels.
    • Manuel. Fournissez vous-même des identifiants statiques : le jeton de tunnel depuis la Console et un certificat de serveur signé par une CA que vous y enregistrez. Voir Obtenir les détails de connexion et Ajouter un certificat CA.
  • Un ou plusieurs serveurs MCP exécutés dans votre réseau privé. Voir Serveurs MCP distants pour des exemples.
  • Une connectivité sortante telle que listée sous Exigences réseau.

Exigences réseau

ComposantDestinationPort / protocoleUtilisé pendant
Composant de configurationapi.anthropic.com443 TCPProvisionnement et rotation des jetons
cloudflaredBord du tunnel (198.41.192.0/19, 2606:4700:a0::/44)7844 TCP et UDPExécution
ProxyVos serveurs MCP en amontSelon la configurationExécution

Modèle de sécurité

Couches de sécurité

Trois couches indépendantes protègent chaque requête :

CoucheProtège contre
mTLS externe entre Anthropic et le fournisseur de transport, avec validation IPLes clients non autorisés atteignant le tunnel
TLS interne du back-end d'Anthropic vers votre proxyL'inspection de la charge utile par le fournisseur de transport ou tout intermédiaire réseau
OAuth sur chaque serveur MCPL'utilisation non autorisée des outils MCP par le trafic de tunnel authentifié

Le transport du tunnel s'exécute sur le réseau de Cloudflare. Comme le proxy termine le TLS interne à l'aide d'un certificat que vous seul détenez, Cloudflare ne peut pas lire les charges utiles des requêtes ou des réponses. Anthropic ne se connecte pas à un tunnel tant qu'un certificat CA n'est pas enregistré, de sorte que les charges utiles sont toujours chiffrées lorsqu'elles traversent le réseau de Cloudflare. Cloudflare reçoit bien des métadonnées de connexion ; voir Ce que le fournisseur de transport peut observer.

Modèle de responsabilité partagée

Anthropic gèreVotre organisation gère
Le contrôle d'accès au tunnelTout le contenu et le trafic qui transitent par votre tunnel, et la conformité aux politiques d'utilisation acceptable tierces applicables (y compris celles de Cloudflare)
La validation de votre certificat CA avant de se connecter à votre proxyLe respect des directives de déploiement sur ces pages
S'assurer que Claude n'envoie des requêtes qu'aux tunnels appartenant à votre organisationLa sécurisation des jetons de tunnel et des clés privées TLS
La gestion du certificat de serveur et son renouvellement avant son expiration
La configuration d'OAuth sur chaque serveur MCP
La restriction de l'accès réseau pour le proxy et les serveurs MCP
La notification à Anthropic si vous suspectez une violation

Ce que le fournisseur de transport peut observer

Cloudflare fournit le transport sortant. Il ne peut pas lire les charges utiles des requêtes ou des réponses MCP, mais il reçoit bien les métadonnées de connexion suivantes :

  • l'adresse IP de sortie de l'hôte exécutant cloudflared
  • une empreinte d'hôte cloudflared
  • le timing de connexion et le volume d'octets
  • le sous-domaine *.tunnel.anthropic.com attribué à votre tunnel

L'accord d'Anthropic avec Cloudflare restreint l'utilisation par Cloudflare de cette télémétrie. Cloudflare agit en tant que sous-traitant pour cet aperçu de recherche.

Déployer un tunnel

Si vous débutez avec les tunnels MCP, commencez par le démarrage rapide pour obtenir un tunnel fonctionnel localement avant de configurer un déploiement de production.

Le chemin le plus court vers un tunnel fonctionnel : Docker Compose avec un serveur MCP d'exemple.

Installez sur un cluster Kubernetes à l'aide du chart Helm d'Anthropic.

Installez sur une VM à l'aide de Docker Compose.

Choisir entre eux :

  • Cible de déploiement
    • Helm lors du déploiement sur Kubernetes.
    • Docker Compose pour un hôte unique ou des tests locaux.
  • Authentification pour la configuration
    • Accès programmatique (via Workload Identity Federation) lorsque vous disposez d'un fournisseur d'identité OIDC tel qu'un cluster Kubernetes, un IAM cloud ou SPIFFE.
    • Identifiants manuels lorsque vous n'en disposez pas, ou lorsque vous effectuez des tests.

Utiliser les serveurs MCP tunnelisés

Une fois votre tunnel actif (il possède un certificat CA actif et votre pile de tunnel est connectée), les serveurs MCP en amont sont accessibles depuis les Claude Managed Agents et l'API Messages.

Dans les deux cas, le tunnel transporte le trafic chiffré vers votre serveur MCP mais ne s'authentifie pas auprès de celui-ci. Si le serveur MCP en amont nécessite sa propre authentification (OAuth, jeton bearer), fournissez-la de la même manière que pour tout autre serveur MCP ; elle est indépendante du tunnel.

Managed Agents (Console)

  1. Dans Managed Agents > Sessions, créez une session et choisissez Create new agent afin de pouvoir modifier la liste des serveurs MCP.
  2. Cliquez sur + MCP Server et ouvrez le menu déroulant. Les tunnels dans l'espace de travail de la session qui possèdent au moins un certificat actif apparaissent en haut de la liste, au-dessus du catalogue de connecteurs publics.
  3. Sélectionnez le tunnel et fournissez le Subdomain que votre proxy achemine vers un serveur MCP spécifique, ainsi que le Path attendu par le serveur MCP en amont. La ligne Resolves to affiche l'URL exacte.

API Messages

Transmettez l'URL du serveur MCP en amont dans le tableau mcp_servers, de la même manière que pour tout autre serveur MCP distant. Le corps de la requête et l'en-tête anthropic-beta suivent le format standard du connecteur MCP ; seule l'url est spécifique au tunnel. L'exemple suivant utilise l'en-tête bêta mcp-client du connecteur MCP, qui est distinct de la bêta mcp-tunnels utilisée par l'API Tunnels. Effectuez la requête dans l'espace de travail où le tunnel a été créé en utilisant une clé API pour cet espace de travail ou, si votre clé a accès à plusieurs espaces de travail, en définissant l'en-tête anthropic-workspace-id sur cet espace de travail.

L'hôte de l'URL est <subdomain>.<your-tunnel-domain>. Le chemin dépend de votre serveur MCP en amont, et non du tunnel : le transport streamable-http de FastMCP sert à /mcp, et d'autres serveurs peuvent utiliser / ou un chemin personnalisé (consultez la documentation du serveur). Le proxy transmet le chemin sans le modifier.

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)

Pour l'authentification auprès du serveur MCP en amont (authorization_token) et les autres options mcp_servers, voir connecteur MCP.

Étapes suivantes

Directives de renforcement, rotation des identifiants et réponse aux violations.

Diagnostiquez les problèmes de connectivité, de TLS et de routage.

Champs de configuration du proxy, l'API Tunnels, exigences de certificat et le composant de configuration.

Utilisez les serveurs tunnelisés depuis l'API Messages.

Was this page helpful?