colab-fleet
colab-fleet
重いCPU/ML作業を無料のGoogle Colabにオフロードして、Claude Code(または任意のMCPクライアント)から利用できるようにします。無料枠ロック、自動ティアダウン、ジョブキュー、チェックポイント再開を備えています。
English · 한국어
高価な処理(MLトレーニング、ハイパーパラメータスイープ、バックテスト)を、自分のマシンではなく無料のGoogle Colabランタイムで実行し、成果物だけを取り戻します。MCPクライアント(Claude Code、pi、…)が単一のツール呼び出し(gpu_submit(...))でジョブを送信し、完了時に結果が自動的に取得されます。
ローカルにGPUや重いライブラリは不要です。無料のColabアカウントで十分です。
公式のcolab CLIとはどう違うのか?
一言で言うと、Googleのcolab CLIは人間がタイプするツールであり、colab-fleetはAIが呼び出すツールです。同じエンジン(公式CLI)に、ガードレールと自動化を重ねたものです。
GoogleはMCPサーバーを提供していません。コマンドラインCLIのみです。このプロジェクトはそれをラップして、エージェントが直接操作できるようにします。
公式 | colab-fleet(このラッパー) | |
誰が操作するか | ターミナルで人間が | 会話中に |
課金事故 | 有料アクセラレータ(A100、TPU)が静かに接続され、課金される | 無料枠(cpu/t4)のみ許可、有料はハード拒否 → 支出ゼロ |
タイムアウト | デフォルト30秒 — ML実行が途中で切れる | ジョブごとに設定、デフォルトで長め(1時間)+ チェックポイント継続 |
セッションクリーンアップ | 一度忘れると永遠にアイドル状態 | 完了時に自動停止、孤立セッションも回収 |
並行性 | 無防備(無料枠は1セッションのみ → 衝突) | キューで直列化 |
データ | 手動でアップロード/ダウンロード | 入力アップロード → 実行 → 出力を自動取得 |
認証情報 | あなたの問題 | トークンとメールアドレスがツール出力に漏れることはない |
例えるなら、公式CLIはマニュアルトランスミッション、colab-fleetは同じエンジン(無料のColabランタイム)にオートマチック+シートベルト+ナビゲーションを備えたものです。
Related MCP server: mcp-colab-gpu
インストール(3ステップ)
git clone https://github.com/yazzang-homelab/colab-fleet.git
cd colab-fleet
./install.sh # creates a venv, installs the colab CLI + mcpinstall.shが完了すると、残りの2つのステップが表示されます。
1) 自分のGoogleアカウントで一度認証する(ブラウザフローが開きます)
.venv/bin/colab sessionsトークンは~/.config/colab-cli/の下にのみ保存され、このツールを経由することはありません。
2) MCPクライアントに登録する
Claude Code:
claude mcp add -s user colab-fleet -- "$PWD/.venv/bin/python" "$PWD/server.py"pi / その他(
mcpServers設定に追加):"colab-fleet": { "command": "/abs/path/colab-fleet/.venv/bin/python", "args": ["/abs/path/colab-fleet/server.py"] }
確認:エージェントからgpu_doctor()を呼び出し、認証✅が表示されれば完了です。
3) ⭐(任意) インストール後、install.sh(または、見逃した場合は最初のツール呼び出し(gpu_doctor/gpu_submit))がスターを一度だけ要求します。エージェントはそのメッセージを中継するだけで、あなたがスターを押します。ツールがあなたの代わりにgh repo starを実行することはありません(つまり、あなたのGitHubアカウントには触れません)。
gh repo star yazzang-homelab/colab-fleet # or hit ⭐ on the repo pageこれによって機能が制限されることはありません。メッセージを完全に無効にするには、COLAB_FLEET_NO_STAR=1を設定してください。
要件:Python 3.10+、git。ローカルのGPUや重いライブラリは不要です。すべてColab上で実行されます。
使用方法
# 0) health check
gpu_doctor()
# 1) round-trip smoke test (no deps → ephemeral run)
gpu_submit(".../examples/selftest.py", accel="cpu", outputs="/content/selftest.json")
gpu_status(<id>); gpu_logs(<id>); gpu_fetch(<id>)
# 2) parallel hyperparameter sweep (deps + outputs → managed run)
gpu_submit(".../examples/sklearn_gridsearch.py", accel="cpu",
deps="scikit-learn joblib", args="--folds 5",
outputs="/content/result.json", timeout=1200)
# 3) train on your own CSV (inputs + deps + outputs → managed run)
gpu_submit(".../examples/train_on_csv.py", accel="cpu",
deps="scikit-learn pandas joblib",
inputs="/path/to/data.csv", args="--csv /content/data.csv",
outputs="/content/model.pkl,/content/metrics.json", timeout=1800)
# real DL that needs a GPU (T4):
gpu_submit(".../my_torch_train.py", accel="t4", deps="torch ...", outputs="...")成果物は~/.colab-fleet/jobs/job-<id>/に保存されます(環境変数で設定可能)。
ツール
ツール | 説明 |
| ジョブを送信(非同期)、ジョブIDを返す |
| ジョブ詳細。 |
| ステージごとのログを末尾表示 |
| 成果物パスを一覧表示 |
| アクティブなColabセッション |
| セッションを停止(コンピュートユニット安全) |
| ヘルス、認証、キューステータス |
ガードレール
無料枠ロック:
accel ∈ {cpu, t4}のみ許可。A100/H100/L4/TPUはハード拒否されます(colabq.accel_flags)。そのため、有料のコンピュートユニット消費は構造的にゼロです。また、認識されないGPU名が静かにA100にフォールバックするCLIの落とし穴も無効化します。自動ティアダウン:すべてのジョブは
try/finallyでcolab stopを実行します。ディスパッチャーはシャットダウン時に孤立したセッションも回収します。直列キュー:無料枠では1セッションしか許可されないため、ジョブは
flockで直列化され、同時送信はキューに並びます。認証情報・個人情報の漏洩なし:ツール出力にはトークンやメールアドレスは含まれません。
チェックポイント再開(長時間ジョブ)
スクリプトが定期的にckptパスに保存し、起動時にそれを読み込む場合、ディスパッチャーはセッションが12時間/90分の上限に達したときに最後のチェックポイントを保持し、再試行時に再アップロードします。これにより、ジョブは複数のセッションにまたがって完了します。retriesで再試行回数を設定してください。
環境変数(任意)
COLAB_FLEET_AUTH(oauth2/adc)・COLAB_FLEET_TIMEOUT・COLAB_FLEET_ARTIFACTS(成果物の場所)・COLAB_FLEET_CONFIG・COLAB_FLEET_DB・COLAB_FLEET_BIN(colabバイナリのパスを強制)・COLAB_FLEET_NO_STAR(=1で一度きりのスター通知を無効化)・COLAB_FLEET_STAR_MARKER(メッセージが表示されたかどうかを記録するファイル。デフォルトは~/.config/colab-fleet/star-nudged)。
トラブルシューティング
症状 | 原因 / 修正 |
| 一度きりのログインが未完了 → ブラウザフローのために |
401/403 | スコープが不足 → 再ログイン(または |
GPUが割り当てられない(新規で400) | 無料T4の利用可能状況は変動する → |
ジョブが | ディスパッチャーが実行されていない → |
アップロード500 / 失敗 |
|
| リモートスクリプトが例外を発生 → 成功センチネルが出力されない → 失敗として扱われます。 |
注記
Google Colabの無料ランタイムにはフェアユースポリシーがあります。このツールは回避行為(マルチアカウントのローテーション、キープアライブボットなど)を行いません。通常のジョブオフロードとクリーンアップのみです。
無料のCPUランタイムは約2 vCPUです。本当の利点はクリーンなRAMと開発マシンからの分離であり、コア数ではありません。実際のGPUアクセラレーションが必要な場合は、
accel="t4"を使用してください。
ライセンス
MIT。駆動するエンジンであるgoogle-colab-cliはApache-2.0です(別ライセンス)。
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Hosted MCP server for task-first delegation to remote workstations and workers.
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Related MCP Servers
- AlicenseBqualityDmaintenanceLocal-first MCP server for controlling Google Colab as a development, shell, file, and training runtime, with tools for notebook editing, GPU acceleration, and file transfer.597Apache 2.0
- AlicenseAqualityCmaintenanceEnables MCP-compatible AI assistants to run Python code on Google Colab GPU/TPU runtimes, supporting accelerators like T4, A100, H100, with background execution and Google Drive integration.103MIT
- AlicenseAqualityDmaintenanceMCP server that allocates Google Colab GPU runtimes (T4/L4) and executes Python code on them. Lets any MCP-compatible AI assistant run GPU-accelerated code without local GPU hardware.39MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to autonomously manage Google Colab GPU sessions, submit and monitor training jobs, and debug/fix issues via an encrypted tunnel without requiring a browser tab.MIT