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.
- 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
- 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
| Composant | Destination | Port / protocole | Utilisé pendant |
|---|---|---|---|
| Composant de configuration | api.anthropic.com | 443 TCP | Provisionnement et rotation des jetons |
| cloudflared | Bord du tunnel (198.41.192.0/19, 2606:4700:a0::/44) | 7844 TCP et UDP | Exécution |
| Proxy | Vos serveurs MCP en amont | Selon la configuration | Exécution |
Modèle de sécurité
Couches de sécurité
Trois couches indépendantes protègent chaque requête :
| Couche | Protège contre |
|---|---|
| mTLS externe entre Anthropic et le fournisseur de transport, avec validation IP | Les clients non autorisés atteignant le tunnel |
| TLS interne du back-end d'Anthropic vers votre proxy | L'inspection de la charge utile par le fournisseur de transport ou tout intermédiaire réseau |
| OAuth sur chaque serveur MCP | L'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ère | Votre organisation gère |
|---|---|
| Le contrôle d'accès au tunnel | Tout 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 proxy | Le respect des directives de déploiement sur ces pages |
| S'assurer que Claude n'envoie des requêtes qu'aux tunnels appartenant à votre organisation | La 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.comattribué à 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)
- Dans Managed Agents > Sessions, créez une session et choisissez Create new agent afin de pouvoir modifier la liste des serveurs MCP.
- 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.
- 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?