MCP Tunnels 是 Anthropic 面向企业私有网络的 MCP 接入方案。它允许 Claude 访问运行在内网里的 MCP servers,而不需要打开 inbound firewall ports,也不需要把服务暴露到公网。
目前 MCP Tunnels 处于 beta / research preview,需要申请访问。
它解决什么问题?
企业里很多关键工具都在私有网络中:
- 内部文档搜索
- 数据库查询服务
- 监控和告警系统
- 私有 Git / CI 平台
- 内部工单系统
- 自研业务 API
如果直接把这些 MCP server 暴露到公网,安全风险很高。MCP Tunnels 通过 outbound-only 连接,让内网主动连出去,Claude 再通过隧道访问这些 MCP 服务。
基本架构
隧道栈由两个运行在你网络里的组件组成:
cloudflared
Cloudflare 的开源 tunnel connector。它主动连接到 tunnel edge,并承载从 Anthropic 到你 proxy 的加密流量。
Proxy
Anthropic 的路由组件。它负责:
- 终止 inner TLS
- 验证 upstream IP 是否在允许范围内
- 根据 hostname 把请求路由到正确 MCP server
每个暴露的 MCP server 会获得一个 tunnel domain 下的 hostname,例如:
docs.<your-tunnel-domain>部署前提
官方要求你至少具备:
- Kubernetes cluster,或带 Docker / Docker Compose 的 VM
- 在 Claude Console 中创建 tunnel
- 一套认证到 Tunnels API 的方式
- 一个或多个运行在私有网络中的 MCP servers
- 符合要求的 outbound connectivity
认证方式推荐 Workload Identity Federation,也可以手动提供 tunnel token 和证书。
安全模型
MCP Tunnels 使用三层保护:
- Anthropic 与传输提供商之间的 outer mTLS 和 IP 验证
- Anthropic backend 到你 proxy 的 inner TLS
- 每个 MCP server 自身的 OAuth 或认证机制
Cloudflare 提供传输网络,但由于 inner TLS 的证书由你持有,Cloudflare 无法读取 MCP 请求和响应内容。它能看到的是连接元数据,例如 egress IP、连接时间和字节量。
责任边界
Anthropic 负责:
- tunnel access control
- 连接前验证 CA certificate
- 确保 Claude 只发送请求到你组织拥有的 tunnel
你的组织负责:
- 保护 tunnel token 和 TLS 私钥
- 配置和续期 server certificate
- 给每个 MCP server 配 OAuth
- 限制 proxy 和 MCP server 的网络访问
- 处理经过 tunnel 的内容与合规责任
如果 tunnel token 和 TLS 私钥同时泄露,攻击者可能伪装 proxy 并读取 MCP payload,因此它们应当被视为高价值密钥。
如何使用 tunneled MCP servers?
隧道启动并拥有有效 CA certificate 后,可以用于:
- Claude Managed Agents:在 Console 的 session 中添加 MCP Server
- Messages API:在
mcp_servers数组中传入 tunneled MCP server URL
注意:tunnel 只负责加密传输和连接,不替代 MCP server 自身认证。如果上游 MCP server 需要 OAuth 或 bearer token,仍需要单独配置。
适合企业的场景
- 不想开放 inbound ports
- 不想 allowlist Anthropic IP 到 origin
- 需要 Claude 访问内网工具
- 希望统一管理企业 MCP 服务
- 需要较强的 TLS、OAuth 和网络边界
对企业 Agent 平台来说,MCP Tunnels 是把 Claude 接入真实内部系统的重要基础设施能力。
来源:Anthropic 官方文档 - MCP tunnels | 整理:ClaudeEagle