0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Colab MCPサーバー入門 — AIエージェントからGPUを活用するクラウド実行環境

0
Last updated at Posted at 2026-06-12

はじめに

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_codecreate_cellなど8つのMCPツールを提供
  • 無料T4 GPU〜Pro/Enterprise A100まで対応
  • 設定は uvx + JSON 2行で完了

背景:エージェントとクラウドGPUの断絶問題

AIエージェント(Claude CodeやGemini CLIなど)はローカル環境でコードを生成・実行できますが、機械学習の学習・推論にはGPUが必要なケースが多くあります。

従来の開発フローでは:

  1. エージェントがローカルでコードを生成
  2. 開発者がコードをコピーしてColabに貼り付け
  3. ColabでGPUを使って実行
  4. 結果をコピーしてエージェントにフィードバック

このコピー&ペーストのサイクルがエージェントの自律性を阻害していました。

Google Colab MCP Serverはこの断絶を解消し、エージェントがColab環境を直接操作できるようにします。


Google Colab MCP Serverとは

Google Colab MCP Servercolab-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-mcpuv パッケージマネージャーを使用します。

# 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と組み合わせて、ぜひ試してみてください。

参考リソース

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?