Skip to main content
Glama

colab-fleet

Разгрузите тяжёлую CPU/ML работу на бесплатный Google Colab из Claude Code (или любого MCP-клиента) — с блокировкой бесплатного тарифа, автоматическим завершением, очередью заданий и возобновлением с контрольных точек.

English · 한국어

Запускайте дорогостоящие задачи — обучение ML, перебор гиперпараметров, бэктесты — на бесплатном рантайме Google Colab вместо своей машины и забирайте только артефакты. MCP-клиент (Claude Code, pi, …) отправляет задание одним вызовом инструмента (gpu_submit(...)), и результаты автоматически подтягиваются по завершении.

Вам не нужен GPU и тяжёлые библиотеки локально. Достаточно бесплатного аккаунта Colab.


Чем это отличается от официального CLI colab?

Одна строка: официальный CLI colab — это инструмент, в который печатает человек; colab-fleet — инструмент, который вызывает ИИ. Тот же движок (официальный CLI) с добавленными защитными механизмами и автоматизацией.

Google не поставлял MCP-сервер — только CLI. Этот проект оборачивает его, чтобы агент мог управлять им напрямую.

Официальный CLI colab (сырой)

colab-fleet (эта обёртка)

Кто управляет

человек в терминале

ИИ, вызывающий gpu_submit(...) в середине разговора

Случайные списания

платные ускорители (A100, TPU) подключаются молча и списывают деньги

разрешены только бесплатные тарифы (cpu/t4), платные жёстко отклоняются → нулевые расходы

Тайм-ауты

по умолчанию 30 с — ML-запуск обрывается

на задание, по умолчанию длинный (1 ч) + продолжение с контрольной точки

Очистка сессий

забудьте один раз — и она простаивает вечно

автоостановка по завершении, осиротевшие сессии удаляются

Параллельность

без защиты (бесплатный тариф допускает 1 сессию → коллизии)

сериализовано через очередь

Данные

загрузка/скачивание вручную

входные данные загружаются → запуск → выходные автоматически забираются

Учётные данные

ваша проблема

токены и email никогда не попадают в вывод инструмента

Аналогия: официальный 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 + mcp

Когда install.sh завершится, он выведет оставшиеся два шага:

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 / others (добавьте в конфиг 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>/ (настраивается через переменную окружения).

Инструменты

Инструмент

Описание

gpu_submit(script, accel, deps, args, inputs, outputs, ckpt, timeout, retries, label)

отправить задание (асинхронно), возвращает id задания

gpu_status(job_id=0)

детали задания; 0 возвращает последние задания + активные сессии

gpu_logs(job_id, lines)

хвост логов по этапам

gpu_fetch(job_id)

список путей артефактов

gpu_sessions()

активные сессии Colab

gpu_stop(name="all")

остановить сессии (безопасно для вычислительных единиц)

gpu_doctor()

состояние, авторизация и статус очереди


Защитные механизмы

  • Блокировка бесплатного тарифа: только accel ∈ {cpu, t4}. A100/H100/L4/TPU жёстко отклоняются (colabq.accel_flags), поэтому расход платных вычислительных единиц структурно равен нулю. Это также обезвреживает ловушку CLI, где нераспознанное имя GPU молча откатывается к A100.

  • Автоматическое завершение: каждое задание выполняет colab stop в try/finally. Диспетчер также удаляет осиротевшие сессии при завершении.

  • Последовательная очередь: бесплатный тариф допускает одну сессию, поэтому задания сериализуются с помощью flock; одновременные отправки встают в очередь.

  • Нет утечки учётных данных/персональных данных: вывод инструмента не содержит токенов или email-адресов.

Возобновление с контрольной точки (долгие задания)

Если ваш скрипт периодически сохраняет данные в путь 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).

Устранение неполадок

Симптом

Причина / исправление

gpu_doctor auth ❌

одноразовый вход не выполнен → запустите .venv/bin/colab sessions для браузерного потока

401/403

отсутствуют области доступа → войдите снова (или COLAB_FLEET_AUTH=adc + gcloud auth application-default login)

GPU не назначен (400 при создании)

доступность бесплатного T4 колеблется → используйте запасной вариант accel="cpu"

задание зависло в queued

диспетчер не запущен → запустите его с помощью .venv/bin/python dispatch.py

ошибка загрузки 500 / сбой

colab upload использует Jupyter API, который возвращает 500 при размере более ~80 МБ на входной файл. Уменьшите объём с помощью подмножества или сжатия. Сбои загрузки отображаются как сбои задания (никогда не скрываются)

done, но нет артефактов

удалённый скрипт вызвал исключение → маркер успеха не выведен → считается сбоем. Проверьте трассировку stderr через gpu_logs

Примечания

  • Бесплатный рантайм Google Colab имеет политику добросовестного использования. Этот инструмент не выполняет обходных действий (никакой ротации аккаунтов, никаких ботов для поддержания активности) — только обычная разгрузка заданий и очистка.

  • Бесплатный CPU-рантайм — это примерно 2 vCPU; реальная выгода — чистая RAM и изоляция от вашей рабочей машины, а не количество ядер. Если вам нужна настоящая GPU-акселерация, используйте accel="t4".

Лицензия

MIT. Движок, которым он управляет, google-colab-cli, распространяется под Apache-2.0 (отдельно).

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Local-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.
    59
    7
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    10
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP 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.
    3
    9
    MIT