はじめに
AIエージェントがローカルでコードを書き、それをクラウドのGPUで実行する——そんなワークフローを実現するのが Google Colab MCP Server です。
Google公式のオープンソースプロジェクトとしてリリースされたこのMCPサーバーを使えば、Claude Code・Gemini CLI・Cursorなど MCP対応のどのクライアントからでも Google Colabのノートブックを自律的に操作できます。
この記事で学べること
- Google Colab MCP Serverの概要とアーキテクチャ
- Claude CodeやGemini CLIへのセットアップ方法
- 利用可能な8つのMCPツールの詳細
- GPU実行・依存関係管理などの実践的な活用パターン
対象読者
- AIエージェントにGPUコンピューティングを組み込みたい開発者
- Claude CodeやGemini CLIを日常的に使うエンジニア
- Google ColabをMLパイプラインに組み込みたい方
前提環境
- Python 3.10 以上
- uv(Pythonパッケージマネージャー)
- MCP対応クライアント(Claude Code / Gemini CLI / Cursor など)
- Google アカウント(Colab アクセス用)
TL;DR
- Google ColabのノートブックをMCPサーバー経由でAIエージェントから操作可能
-
execute_code・create_cellなど8つのMCPツールを提供 - 無料T4 GPU〜Pro/Enterprise A100まで対応
- 設定は
uvx+ JSON 2行で完了
背景:エージェントとクラウドGPUの断絶問題
AIエージェント(Claude CodeやGemini CLIなど)はローカル環境でコードを生成・実行できますが、機械学習の学習・推論にはGPUが必要なケースが多くあります。
従来の開発フローでは:
- エージェントがローカルでコードを生成
- 開発者がコードをコピーしてColabに貼り付け
- ColabでGPUを使って実行
- 結果をコピーしてエージェントにフィードバック
このコピー&ペーストのサイクルがエージェントの自律性を阻害していました。
Google Colab MCP Serverはこの断絶を解消し、エージェントがColab環境を直接操作できるようにします。
Google Colab MCP Serverとは
Google Colab MCP Server(colab-mcp)は、Google公式のオープンソースMCPサーバーです。AIエージェントがModel Context Protocol(MCP)経由でGoogle Colabのノートブックを制御できます。
ローカルAIエージェント(Claude Code / Gemini CLI など)
↕ MCP (Streamable HTTP)
Google Colab MCP Server(colab-mcp)
↕ Colab Runtime API
Google Colab(ブラウザで開いたノートブック)
↕ 実行環境
Google クラウドインフラ(T4 / L4 / A100 GPU)
重要な点として、MCP ServerはColabのブラウザセッションに接続します。つまり、ブラウザでColabを開いた状態で操作するため、既存のGoogleアカウントの権限・リソース割り当てをそのまま利用できます。
プロジェクト情報
| 項目 | 詳細 |
|---|---|
| GitHub | googlecolab/colab-mcp |
| インストール | uvx git+https://github.com/googlecolab/colab-mcp |
| ライセンス | Apache 2.0 |
| 発表時期 | 2026年3月(Google Developers Blog) |
対応クライアント
以下のMCP対応クライアントから利用できます:
| クライアント | 対応状況 |
|---|---|
| Claude Code(Anthropic) | ✅ 動作確認済み |
| Gemini CLI(Google) | ✅ 動作確認済み |
| Cursor | ✅ 動作確認済み |
| Windsurf | ✅ 動作確認済み |
| Cline | ✅ 動作確認済み |
ただし、クライアントが notifications/tools/list_changed とローカル実行をサポートしている必要があります。
セットアップ
1. uv のインストール
colab-mcp は uv パッケージマネージャーを使用します。
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
2. MCP クライアントの設定
Claude Code(.claude/mcp.json または ~/.claude/mcp.json)
{
"mcpServers": {
"colab-mcp": {
"command": "uvx",
"args": ["git+https://github.com/googlecolab/colab-mcp"],
"timeout": 30000
}
}
}
Gemini CLI(~/.gemini/mcp.json)
{
"mcpServers": {
"colab-mcp": {
"command": "uvx",
"args": ["git+https://github.com/googlecolab/colab-mcp"],
"timeout": 30000
}
}
}
Cursor(~/.cursor/mcp.json)
設定形式は同じです。timeout は Colab の起動時間(GPU割り当て含む)を考慮して 30000(30秒)以上を推奨します。
3. Google Colab をブラウザで開く
ブラウザで colab.research.google.com にアクセスし、操作したいノートブックを開きます。新規ノートブックでも既存でも問題ありません。
4. エージェントからの接続確認
MCP クライアント(Claude Code など)を起動してツールリストを確認します:
# Claude Codeの場合
> /tools
# colab-mcpのツールが表示されればOK
colab-mcp:execute_code
colab-mcp:create_cell
colab-mcp:get_notebook_state
...
利用可能なMCPツール
colab-mcp は以下の8つのMCPツールを提供します。
execute_code — コードの実行
任意のPythonコードを現在のColabセッションで実行します。変数の状態はセッション間で持続します。
入力: code (string) — 実行するPythonコード
出力: 実行結果、標準出力、エラー出力
エージェントへの指示例:
GPU上でPyTorchのHello Worldを実行して、CUDAが使えるか確認してください
エージェントが内部的に実行するコード:
import torch
print(f"CUDA available: {torch.cuda.is_available()}")
print(f"Device: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU'}")
create_cell — セルの作成
新しいコードセルまたはMarkdownセルをノートブックに追加します。
入力: cell_type ("code" | "markdown"), content (string), position (int, optional)
出力: cell_id
edit_cell — セルの編集
既存のセルの内容を更新します。
入力: cell_id (string), content (string)
出力: 更新成功/失敗
execute_cell — 特定セルの実行
指定したセルIDのセルを実行します。ノートブックの特定部分のみ再実行したい場合に使います。
入力: cell_id (string)
出力: 実行結果
get_notebook_state — ノートブック状態の取得
現在のノートブックの全セル情報(コード・出力・実行順序)を取得します。エージェントがノートブック全体を把握するのに使います。
入力: なし
出力: cells配列(id, type, content, output, execution_count)
delete_cell — セルの削除
指定したセルを削除します。
入力: cell_id (string)
出力: 削除成功/失敗
move_cell — セルの移動
セルを別の位置に移動します。ノートブックの構造を整理するのに使います。
入力: cell_id (string), new_position (int)
出力: 移動成功/失敗
get_cell_output — セルの出力取得
指定したセルの最新実行結果を取得します。execute_cell 後に結果を確認するのに使います。
入力: cell_id (string)
出力: 出力テキスト、エラー情報
実践:GPUでMNISTを学習させる
Claude Codeへの指示一文で、ノートブック作成からGPU学習まで自動実行できます。
エージェントへの指示:
Google ColabでPyTorchを使ってMNISTの分類モデルを学習してください。
GPUが使えるか確認し、2エポック学習して精度を報告してください。
エージェントが自律的に実行するステップ:
Step 1: GPU確認
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Using device: {device}")
# → Using device: cuda (T4)
Step 2: 依存関係のインストール(必要な場合)
# torchvision は通常プリインストール済み
import subprocess
subprocess.run(["pip", "install", "-q", "torchvision"])
Step 3: MNISTのロードと学習
import torch
import torch.nn as nn
import torch.optim as optim
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
# データ準備
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.1307,), (0.3081,))
])
train_dataset = datasets.MNIST('./data', train=True, download=True, transform=transform)
train_loader = DataLoader(train_dataset, batch_size=64, shuffle=True)
# モデル定義
class SimpleCNN(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = nn.Conv2d(1, 32, 3)
self.conv2 = nn.Conv2d(32, 64, 3)
self.fc1 = nn.Linear(64 * 5 * 5, 128)
self.fc2 = nn.Linear(128, 10)
self.pool = nn.MaxPool2d(2)
self.relu = nn.ReLU()
def forward(self, x):
x = self.pool(self.relu(self.conv1(x)))
x = self.pool(self.relu(self.conv2(x)))
x = x.view(-1, 64 * 5 * 5)
x = self.relu(self.fc1(x))
return self.fc2(x)
model = SimpleCNN().to(device)
optimizer = optim.Adam(model.parameters())
criterion = nn.CrossEntropyLoss()
# 2エポック学習
for epoch in range(2):
total_loss = 0
for batch_idx, (data, target) in enumerate(train_loader):
data, target = data.to(device), target.to(device)
optimizer.zero_grad()
output = model(data)
loss = criterion(output, target)
loss.backward()
optimizer.step()
total_loss += loss.item()
print(f"Epoch {epoch+1}: avg loss = {total_loss/len(train_loader):.4f}")
このコードをエージェントが execute_code ツールで実行し、結果をユーザーに返します。開発者がColabを手動操作する必要は一切ありません。
GPUリソースのプランと選択
Colabのプランによってアクセスできるリソースが異なります:
| プラン | GPU | RAM | 注意点 |
|---|---|---|---|
| 無料 | NVIDIA T4(不定期) | 約12GB | セッション上限・接続切れあり |
| Colab Pro(月$11.99) | T4 / L4 優先 | 最大約25〜32GB | より安定した接続 |
| Colab Pro+(月$49.99) | A100 優先 | 最大約52GB | バックグラウンド実行可 |
エージェントが長時間タスク(大規模モデルの学習など)を実行する場合は、Pro以上のプランが推奨されます。
ユースケース
1. データ分析パイプライン
「先週のECサイトの売上データを分析して、
pandas で集計し matplotlib でグラフを作成、
Colabに保存してください」
エージェントが:データ読み込み → 集計コード生成 → GPU不要なので無料Colab → グラフ出力まで自律実行します。
2. LLMファインチューニング
「transformersライブラリを使ってBERT-baseを
感情分析データセットでファインチューニングし、
精度を報告してください」
エージェントが:Colabに接続 → GPU確認 → transformers datasets インストール → 学習 → 精度評価まで自動化します。
3. 数値シミュレーション
「CUPyを使ってN体問題シミュレーションを
GPU上で実行し、CPUとの速度比較をしてください」
4. ノートブックの自動ドキュメント化
「このPythonスクリプトをColabノートブックに変換し、
各セクションにMarkdownで説明を追加してください」
注意点とトラブルシューティング
ブラウザセッションが必要
colab-mcp はブラウザで開いたColabセッションに接続するため、ブラウザを閉じるとセッションが切断されます。長時間の自律実行タスクには Colab Pro+ のバックグラウンド実行が必要です。
タイムアウトの設定
GPU割り当てには時間がかかることがあります。設定の timeout は最低 30000(30秒)に設定しましょう。
{
"mcpServers": {
"colab-mcp": {
"command": "uvx",
"args": ["git+https://github.com/googlecolab/colab-mcp"],
"timeout": 60000
}
}
}
notifications/tools/list_changed の非対応
一部のMCPクライアントがこの通知をサポートしていない場合、ツールリストの動的更新が機能しません。その場合はクライアントを再起動してください。
まとめ
Google Colab MCP Serverは、AIエージェントのローカル実行とクラウドGPUを橋渡しする実用的なツールです。
| ポイント | 内容 |
|---|---|
| 公式サポート | Google公式のOSSプロジェクト |
| 簡単セットアップ | JSON設定 + uvx のみ |
| 豊富なツール | 8つのMCPツールで完全なノートブック制御 |
| GPU活用 | 無料T4からA100まで対応 |
| 汎用性 | Claude Code・Gemini CLIなど主要クライアント対応 |
「AIエージェントにGPUを渡す」という発想は、複雑なMLパイプラインの自動化に大きな可能性をもたらします。Claude CodeやGemini CLIと組み合わせて、ぜひ試してみてください。