mcp-server-colab-exec について
mcp-server-colab-execは、MCPクライアントからGoogle ColabのGPUランタイムを割り当て、Pythonコードを実行するサービスです。ローカルGPUなしでCUDA、PyTorch、TensorFlowを使いたいAIアシスタント向けです。
主な機能
- 01Colab GPUでインラインPythonを実行
- 02ワークスペース内の.pyファイルを実行
- 03生成ファイルをダウンロード
- 04T4またはL4アクセラレーターを選択
活用シーン
- 01CUDAやPyTorchのコードをリモート実行
- 02ローカルスクリプトを実行して出力とエラーを確認
- 03モデルを学習して重みをダウンロード
MCP 対応
MCPクライアントにコード実行ツールを提供し、Google OAuth2を通じてColab GPUランタイムにアクセスします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-server-colab-exec
Google Colab の GPU ランタイム(T4/L4)を割り当て、その上で Python コードを実行する MCP サーバーです。Claude Code、Claude Desktop、Gemini CLI、Cline など、MCP 対応の AI アシスタントであれば、ローカルに GPU ハードウェアがなくても、GPU アクセラレーションを利用したコード(CUDA、PyTorch、TensorFlow)を実行できます。
前提条件
- Python 3.10+
- Google Colab を利用できる Google アカウント
- 初回実行時に、OAuth2 の同意を求めるブラウザーウィンドウが開きます。以降の実行では、トークンは
~/.config/colab-exec/token.jsonにキャッシュされます。
インストール
pip install mcp-server-colab-exec
または、uvx で直接実行します。
uvx mcp-server-colab-exec
設定
Claude Code
プロジェクトの .mcp.json または ~/.claude/.mcp.json に追加します。
{
"mcpServers": {
"colab-exec": {
"command": "mcp-server-colab-exec"
}
}
}
または、CLI から設定します。
claude mcp add colab-exec mcp-server-colab-exec
Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"colab-exec": {
"command": "mcp-server-colab-exec"
}
}
}
Gemini CLI
gemini mcp add colab-exec -- mcp-server-colab-exec
ツール
colab_execute
Colab の GPU ランタイム上で、インラインの Python コードを実行します。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
code | 文字列 | — | 実行する Python コード(必須) |
accelerator | 文字列 | "T4" | GPU の種類:"T4"(無料)または "L4"(プレミアム) |
timeout | 整数 | 300 | 最大実行時間(秒) |
セルごとの出力、エラー、stderr を含む JSON を返します。
colab_execute_file
ローカルの .py ファイルを Colab の GPU ランタイム上で実行します。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
file_path | 文字列 | — | ローカルの .py ファイルへのパス(必須) |
accelerator | 文字列 | "T4" | GPU の種類:"T4"(無料)または "L4"(プレミアム) |
timeout | 整数 | 300 | 最大実行時間(秒) |
セキュリティポリシー:file_path は、現在のワークスペース(cwd)内にある .py ファイルを指定する必要があります。
colab_execute_notebook
コードを実行し、生成されたすべての成果物(画像、CSV、モデルなど)を収集します。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
code | 文字列 | — | 実行する Python コード(必須) |
output_dir | 文字列 | — | ダウンロードした成果物を保存するローカルディレクトリ(必須) |
accelerator | 文字列 | "T4" | GPU の種類:"T4"(無料)または "L4"(プレミアム) |
timeout | 整数 | 300 | 最大実行時間(秒) |
成果物は zip としてダウンロードされ、output_dir に展開されます。
zip 内のファイルは、パストラバーサルや特殊ファイルへの書き込みを防ぐため、展開前に検証されます。
使用例
GPU が利用可能か確認する:
colab_execute(code="import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))")
nvidia-smi を実行する:
colab_execute(code="import subprocess; print(subprocess.run(['nvidia-smi'], capture_output=True, text=True).stdout)")
モデルをトレーニングして重みをダウンロードする:
colab_execute_notebook(
code="import torch; model = torch.nn.Linear(10, 1); torch.save(model.state_dict(), '/tmp/model.pt')",
output_dir="./outputs"
)
認証
初回使用時に、Google OAuth2 の同意を求めるブラウザーウィンドウが開きます。アクセストークンとリフレッシュトークンは ~/.config/colab-exec/token.json にキャッシュされます。以降の実行では、キャッシュされたトークンが使用され、自動的に更新されます。
OAuth2 クライアントの認証情報は、Google Colab 公式の VS Code 拡張機能([email protected])と同じものです。これらは意図的に公開されています。
トラブルシューティング
「GPU quota exceeded」 — Colab には使用制限があります。しばらく待ってから再試行するか、別の Google アカウントを使用してください。
「Timed out creating kernel session」 — ランタイムの起動に時間がかかりすぎています。再試行してください。Colab は利用のピーク時に遅延することがあります。
「Authentication failed」 — ~/.config/colab-exec/token.json を削除して、再認証してください。
OAuth ブラウザーウィンドウが開かない — ブラウザーを利用できる環境で実行していることを確認してください。ヘッドレスサーバーの場合は、まずブラウザーを利用できるマシンで認証し、トークンファイルをコピーしてください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。