Google Colab MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| colab_create_notebookA | Create a new, empty .ipynb notebook inside the sandboxed workspace. |
| colab_get_notebookA | Read a notebook's cells and metadata. |
| colab_update_notebookA | Replace a notebook's entire cell list. |
| colab_add_cellB | Add a single cell to a notebook, at an index or appended to the end. |
| colab_edit_cellA | Replace the source of one existing cell by index. |
| colab_delete_cellC | Delete one cell by index. |
| colab_execute_cellC | Execute a single notebook cell by index against a runtime session. |
| colab_execute_notebookB | Execute every code cell in a notebook, in order, against a runtime session. |
| colab_export_notebookB | Export a notebook as raw .ipynb JSON or as a flattened Python script. |
| colab_execute_codeB | Execute a snippet of Python code in a Colab/Jupyter runtime session and return stdout, stderr, the last expression's repr, and any rich display data. |
| colab_stop_executionB | Interrupt whatever is currently executing in a runtime session (like a keyboard interrupt). |
| colab_upload_fileB | Upload base64-encoded file content into the runtime's sandboxed workspace. Path is relative to the runtime's sandboxed workspace (e.g. /content/mcp_workspace). |
| colab_download_fileA | Download a file from the runtime's sandboxed workspace as base64. Path is relative to the runtime's sandboxed workspace (e.g. /content/mcp_workspace). |
| colab_list_filesA | List files and directories under a path in the runtime's sandboxed workspace. Path is relative to the runtime's sandboxed workspace (e.g. /content/mcp_workspace). |
| colab_read_fileA | Read a text file's contents from the runtime's sandboxed workspace. Path is relative to the runtime's sandboxed workspace (e.g. /content/mcp_workspace). |
| colab_write_fileB | Write text content to a file in the runtime's sandboxed workspace. Path is relative to the runtime's sandboxed workspace (e.g. /content/mcp_workspace). |
| colab_delete_fileA | Delete a file or directory (recursively) in the runtime's sandboxed workspace. Path is relative to the runtime's sandboxed workspace (e.g. /content/mcp_workspace). |
| colab_move_fileB | Move/rename a file within the runtime's sandboxed workspace. Path is relative to the runtime's sandboxed workspace (e.g. /content/mcp_workspace). |
| colab_create_directoryA | Create a directory (and parents) in the runtime's sandboxed workspace. Path is relative to the runtime's sandboxed workspace (e.g. /content/mcp_workspace). |
| colab_install_packageA | Install a Python package (e.g. 'transformers', 'torch==2.3.0') inside the runtime via pip. |
| colab_uninstall_packageA | Uninstall a Python package from the runtime via pip. |
| colab_list_packagesB | List all installed packages and their versions in the runtime. |
| colab_get_package_versionC | Get the installed version of a specific package in the runtime. |
| colab_create_sessionB | Open a new runtime session (a Colab/Jupyter kernel connection). Omit connection_file to launch a local kernel. |
| colab_get_runtimeB | Get overall runtime status: active sessions, Python version, CUDA/torch availability. |
| colab_get_gpuA | Get GPU/VRAM info for a runtime session (device name, memory, count). |
| colab_get_cpuB | Get CPU core count and utilization for a runtime session. |
| colab_get_memoryA | Get RAM total/available/used for a runtime session. |
| colab_get_diskB | Get disk usage for a runtime session. |
| colab_restart_runtimeA | Restart a runtime session's kernel (clears all variables/state). |
| colab_run_trainingA | Start a training run as a background job: submits Python training code (any framework) to a runtime session and returns a job_id immediately. Poll with colab_get_job / colab_get_logs. |
| colab_stop_trainingB | Interrupt a running training job and mark it cancelled. |
| colab_evaluate_modelB | Run evaluation code synchronously against a runtime session and return its output. |
| colab_save_modelB | Run model-saving code in a runtime session, then (optionally) register the resulting file under a job's artifacts via colab_get_artifacts. |
| colab_export_modelB | Run model-export code (e.g. ONNX/TorchScript) in a runtime session and register the exported artifact. |
| colab_get_jobB | Get the status, progress, and result of a job (e.g. a training run) by job_id. |
| colab_cancel_jobB | Request cancellation of a running or queued job. |
| colab_get_logsA | Get a job's accumulated log lines, optionally only the last N. |
| colab_list_jobsA | List all known jobs, optionally filtered by status (queued/starting/running/completed/failed/cancelled/timeout). |
| colab_get_artifactsB | List artifacts (models, datasets, logs, metrics, reports) produced by a job, or all jobs if job_id is omitted. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| run_with_gpu_if_available | Guides an agent through checking for a GPU and running code, using GPU-aware code if present. |
| train_and_monitor | Guides an agent through starting a training job and polling it to completion. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Runtime status | Active runtime sessions and hardware/software info. |
| Jobs | All known jobs (training runs, batch executions) and their status. |
| Notebooks | Notebooks (.ipynb) found under the sandboxed workspace root. |
| Artifacts | All registered artifacts (models, datasets, logs, reports), grouped by job. |
TDQS
Scored across 40 tools
Most tools follow a clear resource-action split (notebook, file, package, runtime, job), so an agent can usually pick the right one. However, cancel_job, stop_training, and stop_execution overlap in purpose, and save_model/export_model are difficult to distinguish without reading deeply.
All tools use the colab_ prefix with verb_noun snake_case, making the API highly predictable. Even large groups like colab_get_gpu/cpu/memory/disk follow a uniform pattern.
Forty tools is a large surface for a single MCP server, falling into the 'too heavy' range. Even though each tool is individually meaningful, the set bundles notebook, file, package, runtime, and job-management responsibilities that could be separate servers.
The toolset covers notebook CRUD/cell editing/execution, file management, package management, runtime introspection, and training-job lifecycle. Minor gaps exist—no dedicated notebook delete/list or cell retrieval-by-index—but file tools and execute options provide workarounds.