Claude Platform Docs
MessagesMCP 通道

MCP 通道

安全地將 Claude 連接到在您私有網路中執行的 MCP 伺服器,無需開放入站連接埠或將服務暴露於公共網際網路。

MCP 通道(MCP tunnels)讓您將 Claude 連接到在您私有網路內執行的「Model Context Protocol」,即 MCP 伺服器。流量透過僅限出站的連線傳輸,因此您無需開放入站防火牆連接埠、將服務暴露於公共網際網路,或在您的來源端將 Anthropic 的 IP 範圍加入允許清單。

關於零資料保留(Zero Data Retention)與 HIPAA BAA 資格,請參閱 API 與資料保留

運作方式

通道堆疊(tunnel stack)由在您網路內執行的兩個元件組成:

您公開的每個 MCP 伺服器都會在您的通道網域下取得一個主機名稱(例如 docs.<your-tunnel-domain>)。您可以在 Claude Console 中將這些主機名稱附加到 Managed Agent 工作階段,或透過 MCP 連接器將它們傳遞給 Messages API。

先決條件

在部署之前,請確保您具備:

  • 部署目標:Kubernetes 叢集,或安裝了 Docker 與 Docker Compose 的 VM。
  • 一個通道。在 Claude Console 中建立(請參閱建立通道)或透過 API 建立;Helm chart 的設定掛鉤(setup hook)也可以在安裝期間為您建立一個。
  • 讓您的堆疊向 Tunnels API 進行驗證的方式。請擇一:
  • 一個或多個在您私有網路中執行的 MCP 伺服器。範例請參閱遠端 MCP 伺服器
  • 網路需求中所列的出站連線能力。

網路需求

元件目的地連接埠/協定使用時機
設定元件api.anthropic.com443 TCP佈建與權杖輪替
cloudflared通道邊緣(198.41.192.0/192606:4700:a0::/447844 TCP 與 UDP執行期間
代理您的上游 MCP 伺服器依設定執行期間

安全模型

安全層

三個獨立的層保護每個請求:

防護對象
Anthropic 與傳輸供應商之間的外層 mTLS,搭配 IP 驗證未經授權的用戶端連線到通道
從 Anthropic 後端到您代理的內層 TLS傳輸供應商或任何網路中介者檢視承載內容
每個 MCP 伺服器上的 OAuth已驗證的通道流量未經授權使用 MCP 工具

通道傳輸在 Cloudflare 的網路上執行。由於代理使用只有您持有的憑證來終止內層 TLS,Cloudflare 無法讀取請求或回應的承載內容。Anthropic 在 CA 憑證註冊之前不會連線到通道,因此承載內容在穿越 Cloudflare 網路時始終是加密的。Cloudflare 確實會收到連線中繼資料;請參閱傳輸供應商可觀察到的內容

共同責任模型

Anthropic 負責您的組織負責
通道存取控制所有經由您通道傳輸的內容與流量,以及遵守適用的第三方可接受使用政策(包括 Cloudflare 的政策)
在連線到您的代理之前驗證您的 CA 憑證遵循這些頁面上的部署指引
確保 Claude 僅向您組織擁有的通道傳送請求保護通道權杖與 TLS 私密金鑰
管理伺服器憑證並在到期前更新
在每個 MCP 伺服器上設定 OAuth
限制代理與 MCP 伺服器的網路存取
若您懷疑發生入侵,通知 Anthropic

傳輸供應商可觀察到的內容

Cloudflare 提供出站傳輸。它無法讀取 MCP 請求或回應的承載內容,但確實會收到以下連線中繼資料:

  • 執行 cloudflared 的主機的出口 IP 位址
  • cloudflared 主機指紋
  • 連線時間與位元組流量
  • 指派給您通道的 *.tunnel.anthropic.com 子網域

Anthropic 與 Cloudflare 的協議限制了 Cloudflare 對此遙測資料的使用。Cloudflare 在此研究預覽中擔任次級處理者(subprocessor)。

部署通道

如果您是 MCP 通道的新手,請從快速入門開始,先在本機取得一個可運作的通道,再設定正式環境部署。

取得可運作通道的最短路徑:搭配範例 MCP 伺服器的 Docker Compose。

使用 Anthropic Helm chart 安裝到 Kubernetes 叢集。

使用 Docker Compose 安裝到 VM。

如何選擇:

  • 部署目標
    • 部署到 Kubernetes 時使用 Helm
    • 單一主機或本機測試時使用 Docker Compose
  • 設定時的驗證方式
    • 當您擁有 OIDC 身分提供者(例如 Kubernetes 叢集、雲端 IAM 或 SPIFFE)時,使用程式化存取(透過 Workload Identity Federation)。
    • 當您沒有,或正在測試時,使用手動憑證

使用通道化的 MCP 伺服器

一旦您的通道處於啟用狀態(它具有有效的 CA 憑證且您的通道堆疊已連線),即可從 Claude Managed Agents 與 Messages API 存取上游 MCP 伺服器。

在這兩種情況下,通道會將加密流量傳送到您的 MCP 伺服器,但不會向其進行驗證。如果上游 MCP 伺服器需要自己的驗證(OAuth、bearer 權杖),請以與任何其他 MCP 伺服器相同的方式提供;這與通道無關。

Managed Agents(Console)

  1. Managed Agents > Sessions 中,建立一個工作階段並選擇 Create new agent,以便您可以編輯 MCP 伺服器清單。
  2. 點擊 + MCP Server 並開啟下拉選單。工作階段所屬工作區中至少具有一個有效憑證的通道會顯示在清單頂部,位於公共連接器目錄之上。
  3. 選擇通道,並提供您的代理路由到特定 MCP 伺服器的 Subdomain,以及上游 MCP 伺服器預期的 PathResolves to 行會顯示確切的 URL。

Messages API

mcp_servers 陣列中傳遞上游 MCP 伺服器的 URL,方式與任何其他遠端 MCP 伺服器相同。請求主體與 anthropic-beta 標頭遵循標準的 MCP 連接器格式;只有 url 是通道專屬的。以下範例使用 MCP 連接器的 mcp-client beta 標頭,它與 Tunnels API 所使用的 mcp-tunnels beta 是分開的。請在建立通道的工作區中發出請求,方法是使用該工作區的 API 金鑰,或者如果您的金鑰可存取多個工作區,則將 anthropic-workspace-id 標頭設定為該工作區。

URL 的主機為 <subdomain>.<your-tunnel-domain>。路徑取決於您的上游 MCP 伺服器,而非通道:FastMCP 的 streamable-http 傳輸在 /mcp 提供服務,其他伺服器可能使用 / 或自訂路徑(請查閱該伺服器的文件)。代理會原封不動地轉送路徑。

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)

關於向上游 MCP 伺服器進行驗證(authorization_token)以及其他 mcp_servers 選項,請參閱 MCP 連接器

後續步驟

強化指引、憑證輪替與入侵應對。

診斷連線、TLS 與路由問題。

代理設定欄位、Tunnels API、憑證需求與設定元件。

從 Messages API 使用通道化的伺服器。

Was this page helpful?