注意

“MCP tunnels”(MCP 隧道)目前处于“research preview”(研究预览)阶段。申请访问权限即可试用。

本页介绍 MCP 隧道部署中 Console 一侧的内容:创建隧道、注册您的 CA 证书、获取隧道令牌,以及将上游 MCP 服务器附加到智能体。使用 Helm 部署 MCP 隧道和使用 Docker Compose 部署 MCP 隧道介绍了如何在您的网络内部运行隧道栈。

前提条件

  • 一个或多个 MCP 服务器,运行在您的私有网络中。隧道将流量路由到这些服务器;它并不托管它们。请参阅远程 MCP 服务器了解您可以部署的示例。

  • 具有“管理隧道”权限的 Console 角色,以便您可以创建和归档隧道、轮换令牌以及管理证书。组织管理员和所有者默认拥有该权限;自定义角色和按账户授予的权限也可以包含它。没有该权限的角色对 MCP tunnels 页面和隧道详情仅有只读访问权限。

  • 一种让您的栈向 Tunnels API 进行身份验证的方式。请选择其一:

    • 编程访问(推荐)。在创建隧道期间设置 Workload Identity Federation(工作负载身份联合),使您的栈能够从您的身份提供商签发短期 API 令牌、获取隧道令牌,并自动生成和注册 CA 证书。需要管理联合规则的权限、一个已注册的 OIDC 颁发者,以及一条具有 workspace:manage_tunnels 作用域的联合规则。
    • 手动。跳过编程访问。创建隧道后,获取隧道令牌,自行生成并注册 CA 证书,然后将令牌和您的服务器证书作为机密提供给您的隧道栈。

创建隧道

  1. 打开 MCP tunnels 页面

    在 Claude Console 中,前往 MCP tunnels 页面(platform.claude.com/settings/workspaces/default/mcp-tunnels)。隧道的作用域为工作区;新隧道属于 Console 中当前选定的工作区。请在侧边栏的工作区选择器中选择您需要的工作区。

  2. 为隧道命名

    点击 New tunnel,并在 Create tunnel 对话框中输入名称。名称为必填项,用于在列表、详情页和智能体 MCP 服务器选择器中标识该隧道。系统会自动分配一个形如 abcd1234.tunnel.anthropic.com 的域名。

  3. 可选:设置编程访问

    如果您的角色可以管理联合规则,则会出现一个 Set up programmatic access 开关(默认关闭)。如果不能,Console 会在该位置显示一条通知,您的隧道栈将改用手动流程。无论哪种方式,创建流程的其余部分都相同。

    编程访问依赖于 Workload Identity Federation;如果您不熟悉联合颁发者、规则和服务账户,请先阅读该页面。要打开该开关,您需要:

    1. 一个已注册的 OIDC 颁发者,对应您的栈出示令牌所用的身份提供商(例如 Kubernetes 集群、AWS IAM、Google Cloud 或 GitHub Actions)。如果您的组织还没有,请在 Claude Console 的 Workload identity 页面(platform.claude.com/settings/workload-identity-federation)的 Issuers 选项卡中注册一个。
    2. 一条具有 workspace:manage_tunnels 作用域的联合规则。 打开开关后会显示 Federation rule 选择器。选择一条具有该作用域的现有规则,或点击 Create federation rule 直接创建一条。
    3. 已将该规则的服务账户添加到此工作区。 Tunnels API 根据服务账户的工作区成员资格进行授权。如果您在组织默认工作区以外的工作区中创建隧道,请将服务账户添加到该工作区,并在部署时传入工作区 ID(Helm 使用 api.wif.workspaceId,Compose 使用 ANTHROPIC_WORKSPACE_ID)。

    完全支持跳过此步骤;两份部署指南都有一个 Without programmatic access 选项卡。

  4. 创建隧道

    点击 Create tunnel。Console 会配置该隧道并打开详情页面。

  5. 记录部署标识符

    两种部署路径都需要:

    • 隧道 ID(tnl_...),显示在隧道详情页面上。
    • 隧道域名(abcd1234.tunnel.anthropic.com),显示在隧道详情页面上。用作代理的 tunnel_domain,并用于服务器证书的 SAN 中。

    您还需要什么取决于凭据配置模式:

    使用编程访问 不使用编程访问
    您所选规则的联合规则 ID(fdrl_...)。该规则属于组织级别,不存储在隧道上;可在 Claude Console 的 Workload identity 页面(platform.claude.com/settings/workload-identity-federation?tab=rules)的 Rules 选项卡中找到。 隧道令牌,通过详情页面上 Token 旁边的眼睛图标显示。请将其视为机密。请参阅获取连接详情。
    组织 ID(一个 UUID),显示在 Claude Console 的 Organization 页面(platform.claude.com/settings/organization)上。 一个由您生成并在隧道上注册的 CA 证书。

    使用编程访问时,您的栈通过 Tunnels API 获取隧道令牌,在本地生成 CA 和服务器证书(私钥永远不会离开您的环境),并且仅向 Anthropic 注册 CA 的公共证书。您仍然负责保护私钥的安全,并在服务器证书过期之前对其进行续期。

您的组织最多可以拥有 10 个活跃隧道。创建隧道本身不会建立任何连接;只有当您的栈使用隧道令牌接入并且已注册 CA 证书后,才会建立连接。

获取连接详情

打开隧道。详情页面显示一个包含域名和令牌的 Connection 部分,以及一个 Certificates 部分。

字段 描述
Domain 复制分配的 abcd1234.tunnel.anthropic.com 值。您代理的路由是此域名的子域名。
Token 点击眼睛图标(Show token)获取隧道令牌,然后使用复制图标将其复制到您隧道栈的机密存储中。点击 Rotate token 可使当前令牌失效并签发新令牌。

注意

每次显示和轮换都会记录在您组织的 Compliance API 活动日志中。轮换不会切断已建立的 cloudflared 连接,因此您可以先轮换,再使用新值重新部署,并让旧连接自然排空。

添加 CA 证书

Anthropic 根据您在隧道上注册的 CA 证书来验证到您代理的内层 TLS。没有活动证书的隧道无法接受连接,并且在注册证书之前不会出现在智能体 MCP 服务器选择器中。

  1. 找到 Certificates 部分

    在隧道的详情页面上,滚动到 Certificates 部分并点击 Add certificate。

  2. 提供证书

    点击 Choose file 选择 .pem、.crt 或 .cer 文件,将文件拖到文本区域,或直接粘贴 PEM 块。模态窗口会拒绝私钥内容以及非 -----BEGIN CERTIFICATE----- 块的内容。文件大小不得超过 8 kB。

  3. 添加证书

    点击 Add certificate。指纹和到期时间会出现在证书列表中,并且该部分标题上的槽位计数会递增。

一个隧道最多可持有两个活动证书,以便您可以在不停机的情况下进行轮换:在旧证书旁注册新证书,使用新密钥对重新部署您的代理,确认流量正常流动,然后点击旧证书所在行的 Revoke。已吊销的证书仍会在列表中显示,并带有 Revoked 标记。

部署隧道栈

隧道已存在于 Console 中,但在隧道栈于您的网络内部运行并使用隧道令牌拨入之前,不会有任何流量流动。请按照以下部署指南之一进行操作:

在智能体中使用隧道

一旦您的栈正在运行,即可在创建 Claude Managed Agents 会话时,将通过隧道连接的 MCP 服务器添加到智能体。如需改为从 Messages API 调用相同的服务器,请参阅使用通过隧道连接的 MCP 服务器。

  1. 打开 Create session 对话框

    在 Claude Console 中,前往 Sessions 页面(platform.claude.com/sessions)。在侧边栏的工作区选择器中,选择包含该隧道的工作区。点击 Create session。

  2. 创建新智能体

    从 Agent 下拉菜单中选择 Create new agent,因为该对话框只能将 MCP 服务器添加到新智能体中。在 Name 字段中输入智能体的名称。

  3. 添加 MCP 服务器

    在 MCP servers 下,点击 MCP server。在出现的卡片上,打开 Select a server 下拉菜单,并从列表顶部选择您的隧道。只有所选工作区中拥有活跃 CA 证书的隧道才会列出。

  4. 输入子域名和路径

    在 Subdomain 字段中,输入您代理的 routes 映射发送到该 MCP 服务器的子域名,例如 wiki。在 Path 字段中,输入该 MCP 服务器所需的路径,例如 mcp。检查 Resolves to 行是否在隧道域名下显示了您的子域名和路径,例如 https://wiki.abcd1234.tunnel.anthropic.com/mcp。

  5. 如果 MCP 服务器需要凭据,请添加凭据

    隧道负责将流量承载到上游 MCP 服务器,但不会向其进行身份验证。如果服务器需要 OAuth 或 bearer 令牌,请点击卡片上的 Connect 并将凭据保存到 vault 中。如果卡片上显示的是 Needs vault,请前往 Credential vaults 并添加一个 vault,其中包含用于 Resolves to URL 的凭据。如果服务器不需要身份验证,请忽略卡片上的 Connect 或 Needs vault。要了解 vault 的工作原理,请参阅使用 vault 进行身份验证。

  6. 选择环境

    在 MCP servers 上方的 Environment 字段中,选择一个环境。如果该字段下方没有出现警告,请继续下一步。如果警告提示该环境阻止 MCP 服务器,请点击 Edit environment,这会在新的浏览器标签页中打开该环境。在 Networking 下,将 Resolves to 行中的主机(例如 wiki.abcd1234.tunnel.anthropic.com)添加到 Allowed hosts。按照限制网络部分的建议,保持 Allow MCP servers 复选框未选中。点击 Save,然后返回包含该对话框的浏览器标签页。

  7. 创建会话

    在 Credential vaults 下,移除会话不需要的所有 vault。如果仍有 vault 保留,请选中确认您有权使用它的复选框。在对话框中,点击 Create session。Console 会保存该智能体并打开会话。

  8. 测试连接

    让智能体使用该 MCP 服务器的某个工具。您应该会看到一次工具调用及其结果。如果智能体无法访问该服务器,请参阅MCP 隧道故障排查。

归档隧道

归档会立即使隧道停止接受连接,并且是永久性的。

在 Claude Console 中,前往 MCP tunnels 页面(platform.claude.com/settings/workspaces/default/mcp-tunnels)。在侧边栏的工作区选择器中,选择包含该隧道的工作区。打开该隧道的行菜单并选择 Archive。当您按 Archived 或 All 筛选列表时,已归档的隧道仍然可见。

后续步骤

  • 使用 Helm 部署:使用 Anthropic Helm chart 在 Kubernetes 集群上安装。

  • 安全:加固指南、凭据轮换和入侵响应。