RunPod について
Runpod 公式の MCP サーバーで、Runpod のクラウドリソースを MCP クライアントから管理できます。ホスト型の OAuth 接続と API キーを使うローカル実行に対応し、Pod、Serverless エンドポイント、テンプレート、ネットワークボリュームを操作できます。
主な機能
- 01Pod と Serverless エンドポイントの管理
- 02テンプレートとネットワークボリュームの管理
- 03OAuth によるホスト型接続
- 04API キーを使ったローカル stdio サーバー
- 05インストーラーによる MCP クライアント設定
活用シーン
- 01MCP クライアントから Runpod Pod の一覧表示や作成
- 02Serverless エンドポイントとネットワークボリュームの管理
- 03ホスト型またはローカル接続のクライアント設定
MCP 対応
ホスト型 HTTP サーバーまたはローカル stdio プロセスを通じて、Runpod のリソース管理ツールを MCP クライアントに公開します。ホスト型では OAuth、ローカル実行では呼び出し元の API キーを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Runpod MCP サーバー
公式の Runpod Model Context Protocol(MCP)サーバーです。Claude Code、Claude Desktop、Cursor、Windsurf、VS Code、opencode、Pi などの MCP クライアントを使って、Runpod Pods、Serverless エンドポイント、テンプレート、ネットワークボリュームなどを管理できます。
https://mcp.runpod.io/ でホストしています — クライアントにこの URL を指定し、Runpod にサインインしてください。インストールは不要で、API キーがディスクに保存されることもありません。または、npm から @runpod/mcp-server としてローカルで実行できます。
クイックスタート
ガイド付きインストーラーがインストール済みのクライアントを検出し、設定するクライアントを尋ねて、設定を書き込みます。
npx @runpod/mcp-server@latest add
接続モードは 2 つあります。
- ホスト型(推奨) — クライアントからホスト型サーバーに接続し、「Runpod でサインイン」(OAuth)で認証します。API キーはディスクに保存されません。
- ローカル —
npxでサーバーを実行し、RUNPOD_API_KEYをクライアントの設定に保存します。
後から元に戻すには、次のコマンドを実行します。
npx @runpod/mcp-server@latest remove
プロンプトを省略するには(スクリプト、CI、またはコーディングエージェントのシェルから実行する場合)、クライアントを指定します。サポートされている ID は claude-code、cursor、windsurf、claude-desktop、vscode、opencode、pi です。
npx @runpod/mcp-server@latest add --client opencode,pi # hosted, sign in with Runpod
npx @runpod/mcp-server@latest add --client cursor --local # local, key read from RUNPOD_API_KEY
npx @runpod/mcp-server@latest remove --client opencode
npx @runpod/mcp-server@latest add --list # what's detected, and where each config lives
--client を指定せず、ターミナルもない場合、インストーラーはコード 2 で終了し、何も設定しません。フラグを指定した場合、すべてのクライアントの設定に成功すると 0、一つでも失敗すると 1 で終了します。
または Runpod プラグイン一式をインストールする
エージェント環境を一式そろえるには、公式プラグインマーケットプレイスで、このサーバーにルータースキルとさらに 5 つのスキル(runpod-mcp、runpodctl、flash、runpod-usage、companion-clis)をまとめてインストールできます。
npx skills add runpod/runpod-plugins-official
これは Claude Code、Codex、Cursor、Copilot、Windsurf、Cline、Gemini、opencode など、17 以上のエージェントで動作し、スキルをインストールします。コントロールプレーンツールを利用するには、上記の npx @runpod/mcp-server@latest add と組み合わせてください。
Claude Code では、ネイティブプラグインを使う方法でホスト型 MCP サーバーも設定されます(OAuth を含む)。そのため、別途セットアップする必要はありません。
/plugin marketplace add runpod/runpod-plugins-official
/plugin install runpod@runpod
要件
- Node.js 20 以上。
- Runpod アカウントと API キー。
ホスト型サーバーに接続する
クライアントを手動で設定するには、HTTP 経由でホスト型サーバーに接続します(ローカルプロセスは不要で、API キーも保存されません)。
Claude Code:
claude mcp add --transport http runpod -s user https://mcp.runpod.io/
その他のクライアント(Cursor、VS Code、Claude Desktop コネクターなど)— URL ベースの MCP エントリーを使用します。
{
"mcpServers": {
"runpod": {
"url": "https://mcp.runpod.io/"
}
}
}
OAuth 対応クライアントでは、初回接続時に「Runpod でサインイン」のフローが自動的に開始されます。ブラウザーが開くので、Runpod コンソールにログインして承認すると、サーバーがセッションに紐づく Runpod API キーを取得します。ディスクには何も保存されません。
OAuth ではどのアカウントが選ばれますか? 承認時にブラウザーでコンソールセッションに選択されているアカウントまたはチームプロフィールに対して、キーが発行されます。複数のチームに所属している場合は、まずコンソールで適切なプロフィールに切り替えてください(または後で確認してください。ツールが返すリソースはそのプロフィールのものです)。後から変更するには、コンソールでプロフィールを切り替えて、MCP クライアントから再認証してください。
OAuth ではなく、自分の API キーを使いたい場合は、
claude mcp addコマンドに--header "Authorization: Bearer YOUR_API_KEY"を追加してください(または JSON にheadersブロックを追加してください)。サーバーはそのキーを Runpod API に直接転送します。
HTTP 403 でサインインに失敗する場合
ヘッダー X-Vercel-Mitigated: deny を伴う 403 Forbidden レスポンスは、ホストされたサーバーのファイアウォールが通常、MCP クライアントから未認証リクエストが集中した後に、お使いの IP アドレスを一時的にブロックしたことを意味します。これは、サインイン中に未認証リクエストを多数送信する Codex で最もよく発生します。このブロックは /register や API キーを含むリクエストも含め、すべてのパスに適用され、1 時間以内に自動的に解除されます。解除されるまで待ってから、次回の接続で再びブロックされないよう、以下のいずれかの方法を使用してください。
上記の説明のように、OAuth でサインインする代わりに、ヘッダーとして API キーを送信できます。認証済みリクエストは制限の対象になりません。Codex では、~/.codex/config.toml のサーバーエントリにキーを追加します。
[mcp_servers.runpod]
url = "https://mcp.runpod.io/"
bearer_token_env_var = "RUNPOD_API_KEY"
次に、Codex を起動するシェルで RUNPOD_API_KEY をエクスポートします。
サーバーをローカルで実行することもできます。ローカルサーバーは Runpod API を直接呼び出すため、ホストされたファイアウォールの影響を受けるのは search-docs ツールのみです。このツールは引き続きホストされたサーバーを通じて検索します。
使用状況の分析
ホストされたサーバーは、ツール呼び出しごとに匿名イベントを 1 件(ツール名、ステータス、所要時間、トランスポート)、ガイドリソースの読み取りごとに 1 件(ガイド URI。見つからない場合は unknown)、および 404 ループのブロック開始時に 1 件(ツール名、ブロック長)記録します。API キーやリソースデータを記録することはありません。また、ガイドおよび概念ツール(list-guides、read-guide、lookup-concept、search-concepts)以外ではツール引数を破棄します。これらのツールでは、ガイド ID、概念名または検索語句と、ガイド読み取りの種類を保持します。お客様の識別情報は、元に戻せないソルト付きハッシュです。オプトアウトするには、ヘッダー X-Runpod-Analytics: off を送信してください。たとえば、claude mcp add コマンドに --header "X-Runpod-Analytics: off" を追加します。ローカルで実行する場合、データが送信されることはありません。
npx でローカル実行する
ご自身の API キーを使って、ローカルの stdio プロセスとしてサーバーを実行します。
RUNPOD_API_KEY=YOUR_API_KEY npx -y @runpod/mcp-server@latest
ローカルクライアントの設定
ローカルクライアントは stdio サーバーを起動し、環境変数に RUNPOD_API_KEY を設定します。
Claude Code:
claude mcp add runpod -s user \
-e RUNPOD_API_KEY=YOUR_API_KEY \
-- npx -y @runpod/mcp-server@latest
プロジェクト専用のサーバーには -s project を使用します。claude mcp list で確認できます。セッション中は /mcp で再接続できます。
Claude Desktop、Cursor、VS Code、Windsurf、その他のクライアント — クライアントの MCP 設定で同じコマンドを使用します。
{
"mcpServers": {
"runpod": {
"command": "npx",
"args": ["-y", "@runpod/mcp-server@latest"],
"env": {
"RUNPOD_API_KEY": "YOUR_API_KEY"
}
}
}
}
Claude Desktop の設定ファイルは ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)にあります。保存後、アプリを再起動してください。クライアントの一覧については、MCP クライアントディレクトリを参照してください。
使用例
MCP クライアントに自然言語で依頼します。
List all my Runpod Pods.
Create a Runpod Pod named test-pod with image
runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04,
GPU type NVIDIA GeForce RTX 4090, 1 GPU.
Create a Serverless endpoint named my-endpoint with image
runpod/test-output:0.0.1, GPU pool AMPERE_80, 0 min workers, 3 max workers.
エンドポイントはイメージベースです。テンプレートではなく、イメージと GPU プール(list-gpu-types の pool 値)を渡してください。
ホストのオーバーライド、プライベートイメージのプル(レジストリの認証情報と ECR 委任の違い)、大きな出力の処理については、docs/configuration.md を参照してください。
3.x からのアップグレード
8 つのツールは仕様の operationId に従うようになりました(例:
create-container-registry-auth → create-registry、get-billing →
list-billing)。また、start-pod/stop-pod/restart-pod は
action 引数を持つ pod-action に統合されました。旧ツールから新ツールへの
完全な対応表は specgen/old-mcp-tools.yaml にあります。サーバーは
v2 専用です。RUNPOD_REST_VERSION と v1 フォールバックは廃止されました。
セキュリティ
このサーバーは、指定された API キーの全権限で動作します。
- API キーは決して共有しないでください。
- 破壊的なツールを使う際は慎重に操作してください。各ツールには、ラップしている操作に基づく MCP アノテーション(
readOnlyHint、destructiveHint、idempotentHint、openWorldHint)が付与されているため、ホストは読み取り操作を自動承認し、delete-podやpurge-endpoint-queueの実行を人間による承認が必要なものとして扱えます。 - 各リクエストは呼び出し元が指定した独自のトークンで認証され、そのトークンは Runpod API に転送され、サーバー側には決して保存されません。サーバーが独自の認証情報を保持することはなく、ユーザー間で共有することもありません。
ローカル開発
git clone https://github.com/runpod/runpod-mcp.git
cd runpod-mcp
pnpm install
pnpm build
ローカルビルドを直接実行します。
RUNPOD_API_KEY=YOUR_API_KEY node dist/stdio.mjs
変更後は次を実行します。
pnpm type-check
pnpm lint
pnpm test # offline unit suite — no network or API key required
pnpm build
ツールは手書きではなく、同梱された v2 OpenAPI 仕様から生成されます。手順については specgen/DESIGN.md、再生成のワークフローと差分チェックについては specgen/README.md を参照してください。
ツールが呼び出す REST クライアント @runpod/typescript-api-sdk は packages/typescript-api-sdk/ にあり、npm で個別に公開されています。同梱された仕様はこのパッケージ内にあり、SDK の型と MCP ツールはどちらもそこから生成されます。
このプロジェクトでは、バージョン管理と npm への公開に changesets を使用しています。ユーザー向けの変更を含むすべての PR には changeset が必要です。コントリビューター向けの詳細なガイダンス、アーキテクチャ、テストスイートについては、CLAUDE.md と docs/context.md を参照してください。
ライセンス
Apache-2.0。packages/typescript-api-sdk/ の SDK は MIT ライセンスです。LICENSE を参照してください。
JavaScript API の移行
このメジャーリリースでは、@runpod/mcp-server/tools パッケージのエクスポートとその registerTools API が削除されました。従来の登録 API は、新しい生成済みのインターフェースと互換性がありません。アプリケーションは runpod-mcp CLI を使って MCP 経由でサーバーに接続するか、HTTP ハンドラーを埋め込む場合は @runpod/mcp-server/http の handleMcpRequest を使用してください。また、HTTP エントリーポイントから従来の registerTools と ToolContext が再エクスポートされなくなりました。
ディレクトリプロファイルを提供する HTTP ホストは、@runpod/mcp-server/profile から DIRECTORY_PATH と profileForPath をインポートできます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。