アーキテクチャとコンポーネント
MCPトンネルデプロイメントの各部分の正式名称、2つの認証情報プロビジョニングモード、および接続モデルについて説明します。
このページでは、MCPトンネルのドキュメント全体で使用される用語を定義します。いくつかのコンポーネントは、設定ファイル、コンテナイメージ、および本文中で異なる名前で登場します。以下の表では、それぞれに1つの正式名称を示し、目にする可能性のある別名を一覧にしています。
コンポーネント
| 用語 | 定義 | 別名 |
|---|---|---|
| トンネルスタック(Tunnel stack) | トンネルに接続するためにネットワーク内で実行する2つのコンテナ、すなわちプロキシとcloudflaredです。1つのスタックが1つのトンネルを担当し、可用性のために複数のホストにわたって複製できます。プログラマティックアクセスを使用する場合、セットアップコンポーネントがスタックと並行して実行され、認証情報をプロビジョニングします。 | the stack、the MCP tunnel stack、the tunnel deployment、your deployment |
| プロキシ(Proxy) | Anthropicのルーティングコンポーネントです。内部TLSを終端し、アップストリームIPが許可された範囲内にあることを検証し、ホスト名に基づいて各リクエストをアップストリームMCPサーバーにルーティングします。 | mcp-proxy(イメージ名、Composeサービス名、およびHelmコンテナ名)、mcp-gateway(コンテナ内部の設定パス /etc/mcp-gateway/config.yaml およびHelmの gateway.config.* 値プレフィックス) |
| cloudflared | Cloudflareのオープンソースのトンネルコネクタです。ネットワークからトンネルエッジへのアウトバウンド専用接続を開始し、エッジとプロキシの間で暗号化されたトラフィックを運びます。Managed Agentとは関係ありません。 | the outbound connector、the tunnel connector |
| セットアップコンポーネント(Setup component) | mcp-proxy イメージ内に同梱されている setup バイナリです。プログラマティックアクセスを使用する場合、Workload Identity Federationを介して認証し、トンネルトークンを取得し、CAとサーバー証明書を生成し、CAをAnthropicに登録します。renew-cert も提供します。 | setup Job(Helmのpre-installフック)、setup サービス(Composeプロファイル)、setup hook、setup binary、setup CLI |
| トンネルエッジ(Tunnel edge) | cloudflaredが発信接続するCloudflareのエッジサーバーです(IP範囲 198.41.192.0/19 および 2606:4700:a0::/44、ポート7844のTCPおよびUDP)。その上で動作するトンネルはAnthropicによってプロビジョニングおよび制御され、Cloudflareが基盤となるネットワークを運用します。 | the edge、the Anthropic-operated tunnel edge |
| 内部TLS(Inner TLS) | トンネルの平文WebSocketストリームの内側で、Anthropicのバックエンドとお客様のプロキシの間で行われる2つ目のTLSハンドシェイクです。プロキシは、トンネルに登録したCAによって署名されたサーバー証明書を提示します。秘密鍵を保持しているのはお客様だけであるため、トランスポートプロバイダーはリクエストやレスポンスのペイロードを読み取ることができません。 | the inner TLS handshake |
| アップストリームMCPサーバー(Upstream MCP server) | プロキシがルーティング先とする、プライベートネットワーク内で実行されているMCPサーバーです。各アップストリームは、トンネルドメイン配下の1つのサブドメインとして公開されます。 | upstream、routed MCP server、tunneled MCP server |
認証情報のプロビジョニング
トンネルスタックは実行時に2つの認証情報を必要とします。cloudflaredのアウトバウンド接続を認証する**トンネルトークン(tunnel token)と、トンネルに登録されたCAによって署名され、内部TLSハンドシェイク中にプロキシが提示するサーバー証明書(server certificate)**です。これらを供給する方法は2つあり、このガイド全体で一対のタブとして提示されています。
| モード | 認証情報がスタックに届く方法 | Helmチャートでの名称 | タブのラベル |
|---|---|---|---|
| プログラマティックアクセス(Programmatic access) | セットアップコンポーネントがWorkload Identity Federationを通じてTunnels APIに認証し、トンネルトークンを取得し、CAとサーバー証明書をローカルで生成し、CAを登録します。長期間有効なシークレットを手作業でコピーすることはありません。workspace:manage_tunnels スコープを持つフェデレーションルールが必要です。 | Managedモード(setup.enabled: true、デフォルト) | With programmatic access |
| 手動(Manual) | Claude Consoleからトンネルトークンをコピーし、CAとサーバー証明書を自分で生成し(たとえば openssl を使用)、ConsoleでCAを登録し、トークンと証明書をシークレットとしてスタックに供給します。セットアップコンポーネントは実行されません。 | Externalモード(setup.enabled: false) | Without programmatic access |
これらのモードは、デプロイガイドでは**プログラマティックフロー(the programmatic flow)および手動フロー(the manual flow)**とも呼ばれます。
接続モデル
トンネルでは2つの方向が作用しており、それらは互いに逆向きです。
- 接続の方向: cloudflaredはネットワークからトンネルエッジへアウトバウンドで発信接続します。ファイアウォールから見えるのはポート7844へのイーグレスのみで、インバウンドポートは開かれません。
- リクエストの方向: その接続が確立されると、MCPリクエストはその接続を通じてAnthropicからお客様のネットワークに向かって流れ、cloudflaredを経由してプロキシへ、さらにアップストリームMCPサーバーへと進みます。
「アウトバウンド専用(outbound-only)」という表現は接続について述べたものであり、その上で運ばれるリクエストについて述べたものではありません。
内部TLSはAnthropicのバックエンドとお客様のプロキシの間にまたがります。cloudflaredとトンネルエッジは通信経路上でその間に位置しますが、暗号文しか見ることができません。プロキシは、ネットワーク内でMCPリクエストのペイロードが読み取り可能になる最初の場所です。
関連項目
- セキュリティモデルと責任共有表については、MCPトンネルを参照してください。
- プロキシの設定フィールド、証明書の要件、およびセットアップコンポーネントについては、MCPトンネルリファレンスを参照してください。
Was this page helpful?