• メッセージ
  • マネージドエージェント
  • 管理
Search...
⌘K
はじめに
Claude入門クイックスタート
Claudeで構築する
機能の概要Messages APIの使用停止理由とフォールバック拒否とフォールバックフォールバッククレジット
モデルの機能
拡張思考適応型思考エフォートタスクバジェット(ベータ版)高速モード(リサーチプレビュー)構造化出力引用メッセージのストリーミングバッチ処理検索結果拒否のストリーミング多言語サポート埋め込み
ツール
概要ツール使用の仕組みチュートリアル:ツール使用エージェントの構築ツールの定義ツール呼び出しの処理並列ツール使用ツールランナー(SDK)厳密なツール使用プロンプトキャッシングを使ったツール使用サーバーツールトラブルシューティングウェブ検索ツールウェブ取得ツールコード実行ツールアドバイザーツールメモリツールBashツールコンピュータ使用ツールテキストエディタツール
ツールインフラストラクチャ
ツールリファレンスツールコンテキストの管理ツールの組み合わせツール検索プログラムによるツール呼び出しきめ細かいツールストリーミング
コンテキスト管理
コンテキストウィンドウコンパクションコンテキスト編集プロンプトキャッシング会話途中のシステムメッセージオーケストレーションモードの構築キャッシュ診断(ベータ版)トークンカウント
ファイルの操作
Files APIPDFサポート画像とビジョン
スキル
概要クイックスタートベストプラクティスエンタープライズ向けスキルAPIでのスキル
MCP
リモートMCPサーバーMCPコネクタ
概要アーキテクチャとコンポーネントクイックスタートコンソールでの管理HelmでデプロイDocker Composeでデプロイセキュリティトラブルシューティングリファレンス
クラウドプラットフォーム上のClaude
Amazon BedrockAmazon Bedrock(レガシー)AWS上のClaude PlatformMicrosoft FoundryVertex AI
Log in
Helmでデプロイ
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トンネル

HelmでMCPトンネルをデプロイする

Anthropic Helmチャートを使用してKubernetesクラスターにトンネルスタックをインストールします。

MCPトンネルはリサーチプレビュー段階です。お試しいただくにはアクセスをリクエストしてください。

Anthropic Helmチャートは、トンネルスタックを単一のDeploymentとしてインストールし、Consoleで作成したトンネルにアタッチします。

始める前に

以下が必要です。

  • Consoleで作成したトンネル。 まずトンネルの作成を完了し、トンネルID(tnl_...)を記録してください。手動プロビジョニングの場合は、その手順で取得したトンネルトークンとトンネルドメインも必要です。
  • チャートがTunnels APIに対して認証するための手段。
    • プログラムによるアクセス(推奨)。 セットアップコンポーネントがWorkload Identity Federationを通じて認証し、トンネルトークンを取得し、CAを生成してAnthropicに登録し、すべてをSecretに保存します。org:manage_tunnelsにスコープされたフェデレーションルールが必要です。
    • 手動。 プログラムによるアクセスをスキップします。Consoleからトンネルトークンを取得し、CAとサーバー証明書を自分で生成し、ConsoleでCAを登録し、認証情報をSecretとしてクラスターに提供します。
  • helmとkubectlでデプロイできるKubernetesクラスター。プログラムによるアクセスなしタブではopenssl(1.1.1以降)も使用します。
  • クラスターからapi.anthropic.com(443 TCP)およびトンネルエッジ(7844 TCPおよびUDP)へのアウトバウンドネットワーク接続。詳細なネットワーク要件を参照してください。
  • gateway.config.routesで設定するアドレスでクラスターから到達可能な、稼働中の1つ以上のMCPサーバー。まだ用意していない場合は、サンプルサーバーを使用してください。

オプション:サンプルMCPサーバーを使用する

テスト用のMCPサーバーがない場合は、この最小限のサーバーを使用してください。

kubectl create namespace mcp-tunnel --dry-run=client -o yaml | kubectl apply -f -
kubectl -n mcp-tunnel apply -f - <<'EOF'
apiVersion: v1
kind: ConfigMap
metadata:
  name: hello-mcp-src
data:
  hello_server.py: |
    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")
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-mcp
spec:
  replicas: 1
  selector:
    matchLabels: { app: hello-mcp }
  template:
    metadata:
      labels: { app: hello-mcp }
    spec:
      containers:
        - name: hello-mcp
          image: python:3.13-slim
          command: ["sh", "-c", "pip install --quiet mcp && python /app/hello_server.py"]
          volumeMounts:
            - { name: src, mountPath: /app }
          ports:
            - { containerPort: 9000 }
      volumes:
        - name: src
          configMap: { name: hello-mcp-src }
---
apiVersion: v1
kind: Service
metadata:
  name: hello-mcp
spec:
  selector: { app: hello-mcp }
  ports:
    - { port: 9000, targetPort: 9000 }
EOF

以降のインストール手順では、対応するルートを追加する箇所を示しています。

インストール

デプロイを検証する

Anthropic側からエンドツーエンドで検証します。Managed AgentセッションまたはMessages APIリクエストでhttps://<route>.<your-tunnel-domain>/<path>を使用します。ここで<route>はgateway.config.routesのキー、<path>はアップストリームMCPサーバーが提供するパスです。サンプルMCPサーバーの場合はhttps://echo.<your-tunnel-domain>/mcpです。リクエストの形式については、トンネル経由のMCPサーバーを使用するを参照してください。

失敗した場合は、Podのログ(kubectl -n mcp-tunnel logs deploy/mcp-tunnel -c mcp-proxyおよび-c cloudflared)を確認し、トラブルシューティングを参照してください。

オプション設定

NetworkPolicyでegressを制限する

プロキシPodへのingressはデフォルトで拒否されます(networkPolicy.ingress.enabled: true)。さらにPodのegressを制限するには、networkPolicy.egress.enabled: trueを設定し、アップストリームMCPサーバーをカバーするPodラベルセレクターまたはCIDR範囲をnetworkPolicy.egress.mcpServersに設定します。cloudflaredからトンネルエッジへのegressは、networkPolicy.egress.cloudflaredEgressCIDRsを通じて別途許可されます。

プロキシを調整する

gateway.config.*配下のフィールドはプロキシ設定ファイルにそのまま渡されます。一般的な調整項目にはupstream.allowed_ips、log_level、upstream.tlsがあります。フィールドの完全なリストについては、プロキシ設定リファレンスを参照してください。チャートは常にlisten_addr、tls.cert_file、tls.key_fileを設定します。これらをgateway.configで設定しても効果はありません。

独自のOIDCトークンを提供する

デフォルトでは、チャートはセットアップコンポーネント用にKubernetes ServiceAccountトークンをプロジェクトします。別のIDプロバイダー(SPIFFE、Vault、クラウドSDKサイドカーなど)からのトークンを使用するには、setup.extraVolumesとsetup.extraVolumeMountsでマウントします。次にapi.wif.tokenFileをマウントパスに指定します。チャートはANTHROPIC_IDENTITY_TOKEN_FILEをそのパスに設定し、セットアップコンポーネントはそこからトークンを読み取ります。

アップグレード

予期せず新しいチャートを取得しないように、helm upgradeには常に--versionを渡してください。

設定を変更する

ルート、レプリカ数、NetworkPolicyなどの日常的な変更の場合:

helm upgrade mcp-tunnel \
  oci://us-docker.pkg.dev/anthropic-public-registry/charts/mcp-tunnel \
  --version 1.0.0 \
  -n mcp-tunnel \
  -f values.yaml

--reuse-valuesに頼るのではなく、完全なvalues.yamlを維持してください。Helmのディープマージの動作により、削除したルートが暗黙のうちに削除されないことがあります。

トンネルトークンをローテーションする

プログラムによるアクセスの場合、values.yamlのtunnel.tokenVersionをインクリメントし、--set setup.force=trueを付けてアップグレードします。セットアップコンポーネントは、強制された場合にのみアップグレード時に再実行されます。

helm upgrade mcp-tunnel \
  oci://us-docker.pkg.dev/anthropic-public-registry/charts/mcp-tunnel \
  --version 1.0.0 \
  -n mcp-tunnel \
  -f values.yaml \
  --set setup.force=true

セットアップコンポーネントはWorkload Identity Federationで認証するため、失効させるAPIトークンはありません。

プログラムによるアクセスがない場合は、Consoleのトンネル詳細ページでRotate tokenをクリックし、mcp-tunnel-token Secretを更新します。

kubectl -n mcp-tunnel create secret generic mcp-tunnel-token \
  --from-literal=tunnel-token='eyJ...' --dry-run=client -o yaml | kubectl apply -f -
kubectl -n mcp-tunnel rollout restart deploy/mcp-tunnel

Rotate tokenをクリックすると、現在のトークンは即座に無効になります。Secretが更新されロールアウトが完了するまで、古いトークンで再起動するPod(eviction、ノードドレイン、OOMなど)は再接続できません。ローテーション後は速やかにSecretを更新してください。より厳格な可用性要件がある場合は、チャートがローテーションをアトミックに処理するプログラムによるアクセスを使用してください。

証明書の更新

チャートは自動化を提供しますが、有効期限の監視と更新の完了確認はユーザーの責任です。

プログラムによるアクセスの場合、証明書の更新は自動です。チャートはsetup renew-certを毎日(serverCert.cronScheduleで指定、デフォルトは0 0 * * * UTC)実行するCronJob(Helmのfullnameに-cert-renewサフィックスを付けた名前)をデプロイします。このジョブは、証明書が有効期限のserverCert.renewBefore(デフォルト30日)以内でない限り何も行いません。更新はローカルで行われます。ジョブはSecretにすでに保存されているCAで新しい証明書に署名し、API呼び出しは行わず、チャートが付与するKubernetes RBACのみを必要とします。プロキシはSecretマウントから証明書をホットリロードするため、Deploymentの再起動は不要です。

プログラムによるアクセスがない場合、CronJobはありません。インストール後に保持したmcp-tunnel/ディレクトリ内から、既存のCAで新しいサーバー証明書に署名します(CAは再生成しないでください)。

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

kubectl -n mcp-tunnel create secret generic mcp-tunnel-cert \
  --from-file=tls.crt=data/tls.crt --from-file=tls.key=data/tls.key \
  --dry-run=client -o yaml | kubectl apply -f -

プロキシはSecretマウントから証明書をホットリロードします。

次のステップ

トンネル経由のMCPサーバーを使用する

アップストリームMCPサーバーをManaged AgentまたはMessages APIにアタッチします。

セキュリティ

強化ガイダンス、認証情報のローテーション、侵害対応。

トラブルシューティング

接続、TLS、ルーティングの問題を診断します。

Was this page helpful?

  • 始める前に
  • オプション:サンプルMCPサーバーを使用する
  • インストール
  • デプロイを検証する
  • オプション設定
  • NetworkPolicyでegressを制限する
  • プロキシを調整する
  • 独自のOIDCトークンを提供する
  • アップグレード
  • 設定を変更する
  • トンネルトークンをローテーションする
  • 証明書の更新
  • 次のステップ