• 訊息
  • 託管代理
  • 管理
Search...
⌘K
第一步
Claude 簡介快速入門
使用 Claude 進行建構
功能概覽使用 Messages API停止原因與備援拒絕與備援備援額度
模型能力
擴展思考自適應思考努力程度任務預算(測試版)快速模式(研究預覽)結構化輸出引用串流訊息批次處理搜尋結果串流拒絕多語言支援嵌入
工具
概覽工具使用的運作方式教學:建構使用工具的代理定義工具處理工具呼叫平行工具使用工具執行器(SDK)嚴格工具使用搭配提示快取的工具使用伺服器工具疑難排解網頁搜尋工具網頁擷取工具程式碼執行工具顧問工具記憶體工具Bash 工具電腦使用工具文字編輯器工具
工具基礎架構
工具參考管理工具上下文工具組合工具搜尋程式化工具呼叫細粒度工具串流
上下文管理
上下文視窗壓縮上下文編輯提示快取對話中系統訊息建構協調模式快取診斷(測試版)Token 計數
處理檔案
Files APIPDF 支援圖片與視覺
技能
概覽快速入門最佳實務企業技能API 中的技能
MCP
遠端 MCP 伺服器MCP 連接器
概覽架構與元件快速入門在 Console 中管理使用 Helm 部署使用 Docker Compose 部署安全性疑難排解參考
雲端平台上的 Claude
Amazon BedrockAmazon Bedrock(舊版)AWS 上的 Claude PlatformMicrosoft FoundryVertex AI
Log in
使用 Docker Compose 部署
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
訊息/MCP 通道

使用 Docker Compose 部署 MCP 通道

使用 Docker Compose 在虛擬機器上安裝 MCP 通道堆疊。

MCP 通道目前處於研究預覽階段。申請存取權限以進行試用。

本指南將通道堆疊以強化容器的形式部署在單一主機上。相同的配置可以複製到多個主機以提高可用性。

開始之前

您需要:

  • 在 Console 中建立的通道。 請依照建立通道的步驟操作,並記錄通道 ID(tnl_...)。
  • 主機向 Tunnels API 進行驗證的方式。
    • 程式化存取(建議)。 在建立通道時開啟 Set up programmatic access,以便設定元件可以透過 Workload Identity Federation 進行驗證。記錄聯合規則 ID(fdrl_...)和您的組織 ID。
    • 手動。 略過程式化存取。您將從 Console 取得通道權杖、自行產生 CA 和伺服器憑證,並在 Console 中註冊 CA。
  • 已安裝 Docker 和 Docker Compose 的主機。 手動流程還需要 openssl(1.1.1 或更新版本)。
  • 從主機到 api.anthropic.com(443 TCP)和通道邊緣(7844 TCP 和 UDP)的對外網路連線。請參閱完整的網路需求。
  • 一個或多個 MCP 伺服器正在執行,並且可以從主機透過您將在 routes 下配置的位址存取。如果您還沒有伺服器,請使用範例伺服器。

選用:使用範例 MCP 伺服器

如果您沒有可用於測試的 MCP 伺服器,請使用這個最小化的伺服器:

mkdir -p mcp-tunnel
cat > mcp-tunnel/hello_server.py <<'EOF'
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("hello-server", host="0.0.0.0", port=9000)


@mcp.tool()
def hello(name: str = "world") -> str:
    """Say hello to someone."""
    return f"Hello, {name}!"


if __name__ == "__main__":
    mcp.run(transport="streamable-http")
EOF

以下安裝步驟會 cd 進入 mcp-tunnel/,並說明在何處新增對應的服務和路由。

安裝

本指南提供一種使用 Docker Compose 的參考方法。您有責任調整此方法以符合您組織的安全需求。

compose 檔案從主機環境讀取 TUNNEL_TOKEN 且沒有預設值,因此必須在每個新的 shell 中以及重新開機後重複執行匯出。

對於多虛擬機器部署,請將 mcp-tunnel/ 目錄複製到每個主機、設定 TUNNEL_TOKEN,然後執行 docker compose up -d。在程式化流程中,TUNNEL_TOKEN 是 $(sudo cat data/tunnel-token);在手動流程中,它是您從 Console 複製的值。相同的通道權杖和憑證適用於所有副本。

驗證部署

透過從 Anthropic 端呼叫上游 MCP 伺服器來進行端對端驗證:請參閱使用通道化的 MCP 伺服器。使用範例 MCP 伺服器時,路由的 URL 為 https://echo.<your-tunnel-domain>/mcp。如果驗證失敗,請參閱疑難排解。

升級

請在 mcp-tunnel/ 部署目錄內執行本節中的命令。

輪替通道權杖

使用程式化存取時,在 setup 服務命令中遞增 --token-version、設定 Workload Identity Federation 識別碼、產生新的 OIDC JWT,然後重新執行設定元件:

# 編輯 docker-compose.yaml:遞增 setup 服務的 --token-version 引數中的整數
# (例如,將 --token-version=1 改為 --token-version=2)。
# 當該值未變更時,setup 二進位檔會拒絕執行輪替。
# 

export TUNNEL_ID=tnl_...
export ANTHROPIC_FEDERATION_RULE_ID=fdrl_...
export ANTHROPIC_ORGANIZATION_ID=00000000-0000-0000-0000-000000000000
# export ANTHROPIC_WORKSPACE_ID=wrkspc_...   # 若您的規則限定於工作區範圍
# 依照您環境適用的 WIF 提供者指南重新產生 ANTHROPIC_IDENTITY_TOKEN
# (自安裝以來該權杖應已過期)。
export ANTHROPIC_IDENTITY_TOKEN=...

docker compose run --rm setup

export TUNNEL_TOKEN=$(sudo cat data/tunnel-token)
docker compose up -d cloudflared

--token-version 引數是在 docker-compose.yaml 中編輯而非在命令列上傳遞,以便新值在未來執行設定元件時持續生效。設定元件使用 Workload Identity Federation 進行驗證;沒有需要撤銷的 API 權杖。

不使用程式化存取時,請在 Console 的通道詳細資訊頁面上點擊 Rotate token,然後在每個主機上更新 TUNNEL_TOKEN 環境變數並重新啟動 cloudflared(docker compose up -d cloudflared)。

點擊 Rotate token 會立即使目前的權杖失效。從該時刻起,直到在每個主機上更新 TUNNEL_TOKEN 並重新啟動 cloudflared 之前,任何 cloudflared 重新啟動(當機、主機重新開機)的主機都無法重新連線。輪替後請立即更新每個主機。

憑證更新

您有責任監控到期時間,並在伺服器憑證到期前進行更新。

使用程式化存取時:

docker compose run --rm setup renew-cert --output=dir:/data

CLI 引數會取代 setup 服務的 command(即 init 引數),但保留其 entrypoint,因此這會執行 /setup renew-cert --output=dir:/data。

傳遞 --renew-before=720h 可使該命令在剩餘有效期超過 30 天時成為無操作(no-op)。這使得在固定排程上執行此命令是安全的。

不使用程式化存取時,請使用您現有的 CA 簽署新的伺服器憑證(在 Console 中註冊的 CA 不會變更),並替換 data/tls.crt。如果您是從新的 shell 執行此操作,請先設定 TUNNEL_DOMAIN。

export TUNNEL_DOMAIN=YOUR_TUNNEL_DOMAIN_HERE
openssl req -new -key data/tls.key -out /tmp/server.csr \
  -subj "/CN=${TUNNEL_DOMAIN}"
openssl x509 -req -in /tmp/server.csr \
  -CA data/ca.crt -CAkey data/ca.key -CAcreateserial \
  -out data/tls.crt -days 90 \
  -extfile data/tls.ext

在任一流程中,代理都會輪詢 tls.cert_file 並自動重新載入,因此不需要重新啟動。

後續步驟

使用通道化的 MCP 伺服器

將上游 MCP 伺服器附加到 Managed Agent 或 Messages API。

安全性

強化指南、憑證輪替和資安事件應變。

疑難排解

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

Was this page helpful?

  • 開始之前
  • 選用:使用範例 MCP 伺服器
  • 安裝
  • 驗證部署
  • 升級
  • 輪替通道權杖
  • 憑證更新
  • 後續步驟