colab-autopilot
Enables 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.
README
colab-autopilot
Give Claude Code (or any MCP-compatible AI agent) autonomous access to your Google Colab GPU — no browser tab needed after setup.
Built for long-running RL training workflows where you want the agent to monitor, detect issues, stop, debug, fix, and restart training while you're away.
How It Works
┌─────────────────┐ cloudflared tunnel (E2E encrypted) ┌──────────────────┐
│ Your Machine │ ──────── HTTPS ─────────────────────────► │ Google Colab │
│ │ │ (GPU Runtime) │
│ Claude Code │ ◄── compact metrics summary ────────────── │ Flask API │
│ ↕ MCP Server │ ──── kill job / write fix ────────────────► │ Job Manager │
│ │ ◄── job status ─────────────────────────── │ Training Loop │
└─────────────────┘ └──────────────────┘
No browser tab needed after initial setup.
No Google Drive sync delays.
Sub-second round-trip communication.
Key Features
- No browser tab needed — Colab runs headless after you start the tunnel
- Token-safe — Training output never floods the agent's context. A
/training_summaryendpoint returns ~500 tokens with metrics digest + anomaly detection - Background jobs — Submit training via
/submit_job, monitor with/job_logs, kill with/kill_job - Autonomous debug loop — Agent can: detect NaN/reward collapse → stop run → read code → write fix → restart
- E2E encrypted — Fernet AES-128 encryption. Cloudflare only sees ciphertext
- 12 MCP tools — Status, training summary, raw logs, exec, python, submit/kill/monitor jobs, file read/write, upload/download, checkpoints
Setup
1. Install locally (one time)
pip install git+https://github.com/Emile-Andre/colab-autopilot.git
2. Add to Claude Code config
Edit ~/.claude/settings.json:
{
"mcpServers": {
"colab-autopilot": {
"command": "colab-autopilot",
"args": ["mcp-serve"]
}
}
}
3. Set up Colab (each new session)
Copy the 3 setup cells from notebooks/autopilot_setup.ipynb into the TOP of your Colab notebook, before any model code. Or just paste them manually:
Cell 1: Install deps
!pip install -q flask cryptography
!wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -O /usr/local/bin/cloudflared 2>/dev/null
!chmod +x /usr/local/bin/cloudflared
Cell 2: Start server (see notebooks/colab_autopilot_server.py)
Cell 3: Open tunnel — prints the cc://... connection string
4. Connect (each new session)
colab-autopilot connect cc://TOKEN:KEY@host
5. Close the browser tab
Your Colab runtime keeps running. Claude Code now has full GPU access.
Configuration
Edit these variables in the Cell 2 server code to match your notebook:
TRAINING_LOG_PATH = "/content/drive/MyDrive/world_model/training_logs.jsonl"
CHECKPOINT_DIR = "/content/drive/MyDrive/world_model/weights"
WORK_DIR = "/content"
Token Budget
The system is designed to keep agent context usage minimal:
| Operation | ~Tokens |
|---|---|
colab_training_summary |
300-500 |
colab_job_logs(n_lines=20) |
200-400 |
colab_status |
100-200 |
colab_exec (small output) |
200-500 |
| Full training stdout (raw) | 50,000+ ❌ |
The summary endpoint does the heavy lifting server-side: it reads your JSONL logs, computes rolling averages, samples the loss curve to 10 points, and runs anomaly detection — all before sending anything to the agent.
Compared to ColabWatcher4aiAgents
| Feature | ColabWatcher | colab-autopilot |
|---|---|---|
| Transport | Google Drive sync | Cloudflare tunnel (HTTPS) |
| Latency | 15-60+ seconds | Sub-second |
| Browser needed | No (Drive-based) | No (tunnel-based) |
| Real-time logs | No (file-based) | Yes (ring buffer) |
| Token management | No | Yes (summary endpoint) |
| Background jobs | Sequential queue | Parallel with kill/monitor |
| Anomaly detection | No | Yes (NaN, collapse, stagnation) |
| File editing | Via Drive | Direct API |
| Encryption | No | Fernet E2E |
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.