Tunnel MCP
Hubungkan Claude secara aman ke server MCP yang berjalan di jaringan privat Anda tanpa membuka port masuk atau mengekspos layanan ke internet publik.
Tunnel MCP memungkinkan Anda menghubungkan Claude ke server "Model Context Protocol", atau MCP, yang berjalan di dalam jaringan privat Anda. Lalu lintas mengalir melalui koneksi yang hanya bersifat keluar (outbound-only), sehingga Anda tidak perlu membuka port firewall masuk, mengekspos layanan ke internet publik, atau memasukkan rentang IP Anthropic ke daftar izin (allowlist) pada origin Anda.
Untuk kelayakan Zero Data Retention dan HIPAA BAA, lihat API dan retensi data.
Cara kerjanya
Tunnel stack (tumpukan tunnel) terdiri dari dua komponen yang berjalan di dalam jaringan Anda:
- cloudflared: Konektor tunnel sumber terbuka milik Cloudflare. Komponen ini memulai koneksi yang hanya bersifat keluar ke tunnel edge (tepi tunnel) dan membawa lalu lintas terenkripsi dari Anthropic ke proxy Anda.
- Proxy: Komponen perutean milik Anthropic. Komponen ini mengakhiri inner TLS (TLS bagian dalam), memvalidasi bahwa IP upstream berada dalam rentang yang diizinkan, dan merutekan setiap permintaan ke upstream MCP server (server MCP upstream) yang tepat berdasarkan hostname.
Setiap server MCP yang Anda ekspos mendapatkan hostname di bawah domain tunnel Anda (misalnya, docs.<your-tunnel-domain>). Anda melampirkan hostname ini ke sesi Managed Agent di Claude Console, atau meneruskannya ke Messages API melalui konektor MCP.
Prasyarat
Sebelum melakukan deployment, pastikan Anda memiliki:
- Target deployment: klaster Kubernetes, atau VM dengan Docker dan Docker Compose.
- Sebuah tunnel. Buat satu di Claude Console (lihat Membuat tunnel) atau melalui API; setup hook pada Helm chart juga dapat membuatkannya untuk Anda selama instalasi.
- Cara bagi stack Anda untuk melakukan autentikasi ke Tunnels API. Pilih salah satu:
- Akses programatik (direkomendasikan). Siapkan Workload Identity Federation saat Anda membuat tunnel. Stack Anda mencetak token API berumur pendek dari penyedia identitas Anda, mengambil token tunnel, serta membuat dan mendaftarkan sertifikat CA secara otomatis. Memerlukan izin untuk mengelola aturan federasi, issuer OIDC yang terdaftar, dan aturan federasi dengan cakupan
workspace:manage_tunnels. - Manual. Sediakan sendiri kredensial statis: token tunnel dari Console dan sertifikat server yang ditandatangani oleh CA yang Anda daftarkan di sana. Lihat Mendapatkan detail koneksi dan Menambahkan sertifikat CA.
- Akses programatik (direkomendasikan). Siapkan Workload Identity Federation saat Anda membuat tunnel. Stack Anda mencetak token API berumur pendek dari penyedia identitas Anda, mengambil token tunnel, serta membuat dan mendaftarkan sertifikat CA secara otomatis. Memerlukan izin untuk mengelola aturan federasi, issuer OIDC yang terdaftar, dan aturan federasi dengan cakupan
- Satu atau lebih server MCP yang berjalan di jaringan privat Anda. Lihat Server MCP jarak jauh untuk contoh.
- Konektivitas keluar seperti yang tercantum di bawah Persyaratan jaringan.
Persyaratan jaringan
| Komponen | Tujuan | Port / protokol | Digunakan selama |
|---|---|---|---|
| Komponen setup | api.anthropic.com | 443 TCP | Provisioning dan rotasi token |
| cloudflared | Tunnel edge (198.41.192.0/19, 2606:4700:a0::/44) | 7844 TCP dan UDP | Runtime |
| Proxy | Server MCP upstream Anda | Sesuai konfigurasi | Runtime |
Model keamanan
Lapisan keamanan
Tiga lapisan independen melindungi setiap permintaan:
| Lapisan | Melindungi dari |
|---|---|
| mTLS luar antara Anthropic dan penyedia transport, dengan validasi IP | Klien tidak sah yang menjangkau tunnel |
| TLS dalam dari back end Anthropic ke proxy Anda | Inspeksi payload oleh penyedia transport atau perantara jaringan mana pun |
| OAuth pada setiap server MCP | Penggunaan alat MCP secara tidak sah oleh lalu lintas tunnel yang terautentikasi |
Transport tunnel berjalan di jaringan Cloudflare. Karena proxy mengakhiri TLS dalam menggunakan sertifikat yang hanya Anda miliki, Cloudflare tidak dapat membaca payload permintaan atau respons. Anthropic tidak terhubung ke tunnel sampai sertifikat CA terdaftar, sehingga payload selalu terenkripsi saat melintasi jaringan Cloudflare. Cloudflare memang menerima metadata koneksi; lihat Apa yang dapat diamati oleh penyedia transport.
Model tanggung jawab bersama
| Ditangani Anthropic | Ditangani organisasi Anda |
|---|---|
| Kontrol akses tunnel | Semua konten dan lalu lintas yang melintasi tunnel Anda, serta kepatuhan terhadap kebijakan penggunaan yang dapat diterima dari pihak ketiga yang berlaku (termasuk milik Cloudflare) |
| Memvalidasi sertifikat CA Anda sebelum terhubung ke proxy Anda | Kepatuhan terhadap panduan deployment di halaman-halaman ini |
| Memastikan Claude hanya mengirim permintaan ke tunnel yang dimiliki organisasi Anda | Mengamankan token tunnel dan kunci privat TLS |
| Mengelola sertifikat server dan memperbaruinya sebelum kedaluwarsa | |
| Mengonfigurasi OAuth pada setiap server MCP | |
| Membatasi akses jaringan untuk proxy dan server MCP | |
| Memberi tahu Anthropic jika Anda mencurigai adanya pelanggaran keamanan |
Apa yang dapat diamati oleh penyedia transport
Cloudflare menyediakan transport keluar. Cloudflare tidak dapat membaca payload permintaan atau respons MCP, tetapi menerima metadata koneksi berikut:
- alamat IP egress dari host yang menjalankan cloudflared
- sidik jari (fingerprint) host cloudflared
- waktu koneksi dan volume byte
- subdomain
*.tunnel.anthropic.comyang ditetapkan untuk tunnel Anda
Perjanjian Anthropic dengan Cloudflare membatasi penggunaan telemetri ini oleh Cloudflare. Cloudflare bertindak sebagai subprosesor untuk pratinjau riset ini.
Men-deploy tunnel
Jika Anda baru mengenal tunnel MCP, mulailah dengan quickstart untuk mendapatkan tunnel yang berfungsi secara lokal sebelum mengonfigurasi deployment produksi.
Jalur terpendek menuju tunnel yang berfungsi: Docker Compose dengan server MCP contoh.
Instal pada klaster Kubernetes menggunakan Helm chart Anthropic.
Instal pada VM menggunakan Docker Compose.
Memilih di antaranya:
- Target deployment
- Helm saat men-deploy ke Kubernetes.
- Docker Compose untuk satu host atau pengujian lokal.
- Autentikasi untuk setup
- Akses programatik (melalui Workload Identity Federation) jika Anda memiliki penyedia identitas OIDC seperti klaster Kubernetes, cloud IAM, atau SPIFFE.
- Kredensial manual jika Anda tidak memilikinya, atau saat Anda sedang menguji.
Menggunakan server MCP yang di-tunnel
Setelah tunnel Anda aktif (memiliki sertifikat CA aktif dan tunnel stack Anda terhubung), server MCP upstream dapat dijangkau dari Claude Managed Agents dan Messages API.
Dalam kedua kasus, tunnel membawa lalu lintas terenkripsi ke server MCP Anda tetapi tidak melakukan autentikasi ke server tersebut. Jika server MCP upstream memerlukan autentikasinya sendiri (OAuth, bearer token), sediakan dengan cara yang sama seperti untuk server MCP lainnya; hal ini independen dari tunnel.
Managed Agents (Console)
- Di Managed Agents > Sessions, buat sesi dan pilih Create new agent agar Anda dapat mengedit daftar server MCP.
- Klik + MCP Server dan buka dropdown. Tunnel di workspace sesi yang memiliki setidaknya satu sertifikat aktif muncul di bagian atas daftar, di atas katalog konektor publik.
- Pilih tunnel dan isikan Subdomain yang dirutekan proxy Anda ke server MCP tertentu, serta Path yang diharapkan oleh server MCP upstream. Baris Resolves to menampilkan URL persisnya.
Messages API
Teruskan URL server MCP upstream dalam array mcp_servers, dengan cara yang sama seperti server MCP jarak jauh lainnya. Body permintaan dan header anthropic-beta mengikuti format konektor MCP standar; hanya url yang spesifik untuk tunnel. Contoh berikut menggunakan header beta mcp-client milik konektor MCP, yang terpisah dari beta mcp-tunnels yang digunakan oleh Tunnels API. Buat permintaan di workspace tempat tunnel dibuat dengan menggunakan kunci API untuk workspace tersebut atau, jika kunci Anda memiliki akses ke beberapa workspace, dengan mengatur header anthropic-workspace-id ke workspace tersebut.
Host URL adalah <subdomain>.<your-tunnel-domain>. Path bergantung pada server MCP upstream Anda, bukan tunnel: transport streamable-http milik FastMCP melayani di /mcp, dan server lain mungkin menggunakan / atau path kustom (periksa dokumentasi server). Proxy meneruskan path tanpa diubah.
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)Untuk autentikasi ke server MCP upstream (authorization_token) dan opsi mcp_servers lainnya, lihat konektor MCP.
Langkah selanjutnya
Panduan hardening, rotasi kredensial, dan respons terhadap pelanggaran keamanan.
Diagnosis masalah konektivitas, TLS, dan perutean.
Field konfigurasi proxy, Tunnels API, persyaratan sertifikat, dan komponen setup.
Gunakan server yang di-tunnel dari Messages API.
Was this page helpful?