Claude Platform Docs
MessagesTunnel MCP

Tunnel MCP

Connetti in modo sicuro Claude ai server MCP in esecuzione nella tua rete privata senza aprire porte in ingresso o esporre servizi alla rete internet pubblica.

I tunnel MCP ti consentono di connettere Claude ai server Model Context Protocol (MCP) in esecuzione all'interno della tua rete privata. Il traffico scorre su una connessione solo in uscita, quindi non devi aprire porte del firewall in ingresso, esporre servizi alla rete internet pubblica o inserire in allowlist gli intervalli IP di Anthropic sulla tua origine.

Per l'idoneità a Zero Data Retention e HIPAA BAA, consulta API e conservazione dei dati.

Come funziona

Lo stack del tunnel è costituito da due componenti che vengono eseguiti all'interno della tua rete:

  • cloudflared: il connettore tunnel open-source di Cloudflare. Avvia connessioni solo in uscita verso il tunnel edge (perimetro del tunnel) e trasporta il traffico crittografato da Anthropic al tuo proxy.
  • Proxy: il componente di instradamento di Anthropic. Termina il TLS interno (inner TLS), verifica che gli IP upstream rientrino in un intervallo consentito e instrada ogni richiesta al corretto server MCP upstream in base al nome host.

Ogni server MCP che esponi ottiene un nome host sotto il dominio del tuo tunnel (ad esempio, docs.<your-tunnel-domain>). Puoi associare questi nomi host a una sessione Managed Agent nella Claude Console, oppure passarli alla Messages API tramite il connettore MCP.

Prerequisiti

Prima del deployment, assicurati di avere:

  • Una destinazione di deployment: un cluster Kubernetes, oppure una VM con Docker e Docker Compose.
  • Un tunnel. Creane uno nella Claude Console (vedi Crea un tunnel) o tramite l'API; anche l'hook di setup del chart Helm può crearne uno per te durante l'installazione.
  • Un modo per consentire al tuo stack di autenticarsi alla Tunnels API. Scegli una delle opzioni:
    • Accesso programmatico (consigliato). Configura la Workload Identity Federation quando crei il tunnel. Il tuo stack emette token API a breve durata dal tuo identity provider, recupera il token del tunnel e genera e registra automaticamente un certificato CA. Richiede il permesso di gestire le regole di federazione, un issuer OIDC registrato e una regola di federazione con lo scope workspace:manage_tunnels.
    • Manuale. Fornisci tu stesso le credenziali statiche: il token del tunnel dalla Console e un certificato server firmato da una CA che registri lì. Vedi Ottieni i dettagli di connessione e Aggiungi un certificato CA.
  • Uno o più server MCP in esecuzione nella tua rete privata. Vedi Server MCP remoti per esempi.
  • Connettività in uscita come elencato in Requisiti di rete.

Requisiti di rete

ComponenteDestinazionePorta / protocolloUtilizzato durante
Componente di setupapi.anthropic.com443 TCPProvisioning e rotazione dei token
cloudflaredTunnel edge (198.41.192.0/19, 2606:4700:a0::/44)7844 TCP e UDPRuntime
ProxyI tuoi server MCP upstreamCome configuratoRuntime

Modello di sicurezza

Livelli di sicurezza

Tre livelli indipendenti proteggono ogni richiesta:

LivelloProtegge da
mTLS esterno tra Anthropic e il provider di trasporto, con validazione IPClient non autorizzati che raggiungono il tunnel
TLS interno dal back end di Anthropic al tuo proxyIspezione del payload da parte del provider di trasporto o di qualsiasi intermediario di rete
OAuth su ogni server MCPUso non autorizzato degli strumenti MCP da parte di traffico del tunnel autenticato

Il trasporto del tunnel viene eseguito sulla rete di Cloudflare. Poiché il proxy termina il TLS interno utilizzando un certificato che solo tu possiedi, Cloudflare non può leggere i payload delle richieste o delle risposte. Anthropic non si connette a un tunnel finché non viene registrato un certificato CA, quindi i payload sono sempre crittografati quando attraversano la rete di Cloudflare. Cloudflare riceve comunque i metadati di connessione; vedi Cosa può osservare il provider di trasporto.

Modello di responsabilità condivisa

Anthropic gestisceLa tua organizzazione gestisce
Controllo degli accessi al tunnelTutti i contenuti e il traffico che transitano nel tuo tunnel, e la conformità alle policy di uso accettabile di terze parti applicabili (incluse quelle di Cloudflare)
Validazione del tuo certificato CA prima della connessione al tuo proxyAderenza alle indicazioni di deployment riportate in queste pagine
Garanzia che Claude invii richieste solo a tunnel di proprietà della tua organizzazioneProtezione dei token del tunnel e delle chiavi private TLS
Gestione del certificato server e suo rinnovo prima della scadenza
Configurazione di OAuth su ogni server MCP
Limitazione dell'accesso di rete per il proxy e i server MCP
Notifica ad Anthropic in caso di sospetta violazione

Cosa può osservare il provider di trasporto

Cloudflare fornisce il trasporto in uscita. Non può leggere i payload delle richieste o delle risposte MCP, ma riceve i seguenti metadati di connessione:

  • l'indirizzo IP di egress dell'host che esegue cloudflared
  • un fingerprint dell'host cloudflared
  • tempistiche di connessione e volume di byte
  • il sottodominio *.tunnel.anthropic.com assegnato al tuo tunnel

L'accordo di Anthropic con Cloudflare limita l'uso di questa telemetria da parte di Cloudflare. Cloudflare agisce come sub-responsabile del trattamento per questa research preview.

Esegui il deployment di un tunnel

Se sei nuovo ai tunnel MCP, inizia con il quickstart per ottenere un tunnel funzionante in locale prima di configurare un deployment di produzione.

Il percorso più breve verso un tunnel funzionante: Docker Compose con un server MCP di esempio.

Installa su un cluster Kubernetes utilizzando il chart Helm di Anthropic.

Installa su una VM utilizzando Docker Compose.

Come scegliere tra le opzioni:

  • Destinazione di deployment
    • Helm per il deployment su Kubernetes.
    • Docker Compose per un singolo host o per test in locale.
  • Autenticazione per il setup
    • Accesso programmatico (tramite Workload Identity Federation) quando disponi di un identity provider OIDC come un cluster Kubernetes, un IAM cloud o SPIFFE.
    • Credenziali manuali quando non ne disponi, o quando stai effettuando test.

Usa i server MCP in tunnel

Una volta che il tuo tunnel è attivo (ha un certificato CA attivo e il tuo stack del tunnel è connesso), i server MCP upstream sono raggiungibili da Claude Managed Agents e dalla Messages API.

In entrambi i casi, il tunnel trasporta traffico crittografato verso il tuo server MCP ma non si autentica presso di esso. Se il server MCP upstream richiede una propria autenticazione (OAuth, bearer token), forniscila nello stesso modo in cui lo faresti per qualsiasi altro server MCP; è indipendente dal tunnel.

Managed Agents (Console)

  1. In Managed Agents > Sessions, crea una sessione e scegli Create new agent in modo da poter modificare l'elenco dei server MCP.
  2. Fai clic su + MCP Server e apri il menu a discesa. I tunnel nel workspace della sessione che hanno almeno un certificato attivo appaiono in cima all'elenco, sopra il catalogo pubblico dei connettori.
  3. Seleziona il tunnel e fornisci il Subdomain che il tuo proxy instrada verso uno specifico server MCP, e il Path che il server MCP upstream si aspetta. La riga Resolves to mostra l'URL esatto.

Messages API

Passa l'URL del server MCP upstream nell'array mcp_servers, nello stesso modo di qualsiasi altro server MCP remoto. Il corpo della richiesta e l'header anthropic-beta seguono il formato standard del connettore MCP; solo l'url è specifico del tunnel. L'esempio seguente utilizza l'header beta mcp-client del connettore MCP, che è distinto dalla beta mcp-tunnels utilizzata dalla Tunnels API. Effettua la richiesta nel workspace in cui è stato creato il tunnel utilizzando una chiave API per quel workspace oppure, se la tua chiave ha accesso a più workspace, impostando l'header anthropic-workspace-id su quel workspace.

L'host dell'URL è <subdomain>.<your-tunnel-domain>. Il path dipende dal tuo server MCP upstream, non dal tunnel: il trasporto streamable-http di FastMCP serve su /mcp, e altri server possono usare / o un path personalizzato (controlla la documentazione del server). Il proxy inoltra il path senza modificarlo.

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)

Per l'autenticazione presso il server MCP upstream (authorization_token) e altre opzioni di mcp_servers, consulta Connettore MCP.

Passaggi successivi

Indicazioni di hardening, rotazione delle credenziali e risposta alle violazioni.

Diagnostica problemi di connettività, TLS e instradamento.

Campi di configurazione del proxy, la Tunnels API, requisiti dei certificati e il componente di setup.

Usa i server in tunnel dalla Messages API.

Was this page helpful?