mcpField
C
Colab-MCP (unofficial)

Colab-MCP (unofficial)

本地服务
github.com/amgallego8开发工具42 周前更新

关于 Colab-MCP (unofficial)

Colab-MCP 是 Google Colab 的非官方 MCP 服务,让 AI Agent 通过官方 Colab CLI 管理运行时、执行代码和处理笔记本及文件。它也支持后台任务,并提供受路径限制的文件操作与可选 Google Drive 工具。

主要功能

  1. 01创建、停止和检查运行时
  2. 02执行代码并保留内核状态
  3. 03逐单元格处理本地笔记本
  4. 04启动及监控后台任务
  5. 05上传和下载文件夹
  6. 06可选的 Google Drive 项目与笔记本工具

适用场景

  1. 01在 Colab GPU 运行训练脚本
  2. 02逐步运行笔记本并查看输出
  3. 03将本地数据传入 VM 并取回结果
  4. 04把需保留的项目数据存入 Google Drive

MCP 相关

该 MCP 服务通过官方 Google Colab CLI 提供运行时、代码执行、笔记本、任务和文件工具;启用后还可提供 Google Drive 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"amgallego8-colab": {
"command": "uvx",
"args": [
"colab-cli-mcp"
],
"env": {
"COLAB_MCP_WORKDIR": "<COLAB_MCP_WORKDIR>",
"COLAB_MCP_DRIVE": "<COLAB_MCP_DRIVE>"
}
}
}
}
启动命令uvx colab-cli-mcp
需要配置的环境变量
COLAB_MCP_WORKDIRThe only local folder the server reads and writes. Defaults to the current directory.
COLAB_MCP_DRIVESet to 1 to enable the optional Google Drive tools (they need a one-time sign-in, see the README).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypicolab-cli-mcp0.1.0

工具

42

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

Colab-MCP

一个 MCP 服务,让 AI Agent(Claude 或任何 MCP 客户端)端到端使用 Google Colab:创建和停止 GPU/TPU 运行时、运行代码、逐个单元格地处理笔记本、启动长期后台任务,以及在 VM 中传入和传出文件与文件夹。

它是 Google 官方 Colab CLI(google-colab-cli)之上的轻量、安全层。它不会重新实现 Colab,也不依赖浏览器标签页。

PyPI License

🇪🇸 文件末尾提供西班牙语摘要。

快速开始

你需要安装 uv 和官方 Colab CLI,并登录一次(macOS 或 Linux):

uv tool install google-colab-cli
colab sessions        # sign in ONCE (open the link, paste the code)
claude mcp add colab-cli -e COLAB_MCP_WORKDIR="$HOME/colab-work" -- uvx colab-cli-mcp

这会在 Claude Code 中注册该服务,uvx 会在首次运行时从 PyPI 下载它。关于 Claude Desktop、其他客户端、密钥和可选 Drive 工具,请参阅安装。

状态

  • 已通过模拟 CLI 测试(118 项检查;另有 129 项针对模拟 Drive API 的 Drive 检查、28 项 Drive 挂载检查和 17 项本地清理检查;位于 tests/):真实 MCP 客户端通过 stdio 与服务通信,通常在 VM 上运行的代码则在沙盒文件夹中实际执行。
  • 已进行一次线上验证。 在真实 Colab 会话中(macOS,Claude 作为客户端):创建运行时、运行代码、运行带日志轮询的长期后台任务、从聊天中挂载 Drive(见下文)并停止会话,期间运行了一项真实批处理工作负载(10 个项目,0 个错误)。这只是一次运行,并非基准测试。
  • 已发布到 PyPI,包名为 colab-cli-mcp,版本为 0.1.0。已在干净环境中安装发布的包(通过 pip 和 uvx),并通过 stdio 列出其 42 个工具。该检查在 Linux 上运行;尚未检查在 macOS 上通过 Claude 使用 uvx 的方式。
  • 尚未进行线上验证: Google Drive API 工具(drive_*)、逐个单元格执行笔记本、文件夹上传和下载,以及已知的未知项中列出的行为。其他 MCP 客户端(Cursor、Codex、Windsurf)和 Linux 均未经测试。
  • 仅支持 Linux 和 macOS(Colab CLI 不支持 Windows)。

工具(42 个 + 8 个可选 Drive 工具)

区域工具
运行时colab_new、colab_ensure_session、colab_sessions、colab_status、colab_runtime_info、colab_restart_kernel、colab_url、colab_usage、colab_stop、colab_install
运行代码colab_exec(代码或文件;内核状态会在调用之间保留)、colab_run(一次性:新 VM → 脚本 → 释放)
笔记本(本地 .ipynb)colab_notebook_create、_list、_read、_add_cell、_edit_cell、_delete_cell、_move_cell、_clear_outputs、_run_cell、_run_all、_to_script、_delete
长期任务colab_job_start、_status、_logs、_cancel、_list
文件colab_upload、colab_download、colab_upload_dir、colab_download_dir、colab_ls、colab_rm、colab_log
VM 上的 Drivecolab_drive_status、colab_drive_mount_start、colab_drive_mount_finish、colab_drive_project_dir(参见大型项目和 Drive)
本地占用colab_local_footprint、colab_local_cleanup(参见文件存放位置)

典型流程:

  • 交互式: colab_ensure_session(gpu="T4") → colab_notebook_create → 添加单元格 → 逐个调用 colab_notebook_run_cell(变量会保留)→ 读取输出 → colab_stop。
  • 批处理: colab_upload_dir → colab_job_start("python -u train.py") → 轮询 colab_job_logs → colab_download_dir → colab_stop。

Google Drive 项目和笔记本是单独的可选功能(见下文)。以下功能有意完全不包含:通过工具登录、colab auth、repl、console、ssh、edit。这些功能是交互式的,无法通过工具调用使用。

安全模型

  • 本地路径仅限于 COLAB_MCP_WORKDIR。在执行任何操作前,都会拒绝 ../、绝对路径以及指向该目录之外的符号链接。
  • 密钥不会传给模型。 COLAB_MCP_ENV_FILE 指向本地的 NAME=value 文件。模型只传递名称(secrets=["OPENROUTER_API_KEY"]);密钥值通过 --env 传给内核,并会从所有结果中清除。已知限制:命令运行期间,其他本地用户可以在进程列表中看到该值,因为 CLI 会将其作为参数接收。
  • 不使用 Shell。 CLI 使用参数列表运行。会话名称、GPU 类型、软件包说明符和作业 ID 都经过验证。所有嵌入 VM 代码且由用户控制的内容都会经过 repr() 处理。
  • 文件夹传输受到保护。 上传时会跳过 .git、缓存、符号链接和疑似密钥文件(.env、*.pem、*.key 等);下载时会拒绝路径逃出目标目录(zip-slip)或超出大小限制的归档文件。
  • 不会在你的计算机上直接删除文件。 colab_notebook_delete 会将文件移至 .colab-mcp-trash/。colab_rm 仅操作 VM,并会拒绝类似根目录的路径。
  • 输出会截断至 COLAB_MCP_MAX_OUTPUT 个字符,并剥除终端颜色代码(回溯信息)。
  • 你运行的代码会在 Google 的机器上以你的账号身份执行,并消耗你的计算单元。请停止不再需要的会话。

VM 上的大型项目和 Drive

对于需要跨会话保留的大型数据集、检查点或结果,请在 VM 上挂载 Google Drive。这与下方可选的“Drive notebooks”功能不同,并使用 Colab CLI 自带的登录流程。

  1. 直接从聊天中挂载,无需终端。 colab_drive_mount_start 会在伪终端中运行官方的 colab drivemount(CLI 本身不会打开浏览器;它只会打印链接并等待按下 Enter),并在浏览器中打开 Google 的授权页面。聊天中不会再次显示该链接(其中包含你的账号电子邮件);只有在无法打开浏览器或设置了 show_link=true 时才会返回链接。由你点击“允许”(Agent 不会看到凭据或验证码),然后告知 Agent;colab_drive_mount_finish 随后会发送 CLI 正在等待的 Enter,colab_drive_status 则会确认挂载状态。只会打开 https://*.google.com 链接,待处理的挂载会在 15 分钟后终止,并且每个会话最多只能有一个挂载。如果你愿意,也可以在终端中使用 colab drivemount -s SESSION。 挂载后,该 VM 上运行的代码即可访问你整个 Drive(Colab 无法限制访问范围);仅在需要时挂载,并在之后停止会话。
  2. Agent 会调用 colab_drive_project_dir("my-project"),创建 /content/drive/MyDrive/Colab-MCP/my-project 并返回该路径。请将数据集、检查点和输出放在那里。
  3. 完成后停止会话。该 Drive 文件夹中的文件会保留;VM 上的其他所有内容都会丢失。

防护措施:文件工具(colab_upload*、colab_download*、colab_ls、colab_rm)会拒绝访问 /content/drive/MyDrive/Colab-MCP/ 之外的任何 Drive 路径(文件夹名称可通过 COLAB_MCP_DRIVE_PROJECTS 配置),包括 ..、相对路径和大小写变体。colab_drive_status 绝不会列出你的文件。

明确说明剩余风险:Drive 挂载后,VM 上运行的任何代码(colab_exec、colab_run、作业、笔记本单元格)都可以读取和修改你 Drive 中的所有内容;路径防护仅适用于本服务的文件工具,且无法检测 VM 上创建的符号链接。仅在需要时挂载,检查你运行的代码,并在之后停止会话。

文件存放位置(以及电脑上会留下多少内容)

位置内容原因
Colab VM 磁盘(在 T4 上观察到约 200 GB 可用空间 ⚠️ 不保证)数据集、训练任务及所有大型内容速度快、免费,会在会话结束时清除
Drive,文件夹 Colab-MCP/<project>/必须持久保存的笔记本和结果会话结束后仍会保留;这是此工具唯一能访问的 Drive 内容
你的电脑几乎没有:编辑笔记本时使用的临时工作副本会自动清理(见下文)

本地占用空间规则(footprint.py):

  • 传输用的压缩包会在使用后立即删除,并在 1 小时后清理;保存的图表会在 2 天后清理(COLAB_MCP_IMAGE_DAYS);本地“删除”的笔记本会在 7 天后清理(COLAB_MCP_TRASH_DAYS,0 = 保留);Drive 笔记本的工作副本会在 24 小时后清理(COLAB_MCP_DRIVE_COPY_HOURS,0 = 保留),并在保存时立即删除。服务器启动时以及执行 colab_local_cleanup 时会运行清理。
  • 只会删除 .colab-mcp/ 和 .colab-mcp-trash/ 内的文件,不会跟随符号链接。不会触碰你自己的笔记本和数据。
  • 下载前会进行限制:磁盘必须至少保留 COLAB_MCP_MIN_FREE_GB(默认值为 5)可用空间,工作文件夹不能超过 COLAB_MCP_WORKDIR_MAX_GB(默认值为 20,0 = 不设上限)。colab_local_footprint 会显示这些数值。大型数据请保留在 VM 或 Drive 中,只下载结果。

Google Drive:项目和笔记本(可选启用)

默认关闭。设置 COLAB_MCP_DRIVE=1 后(设置 Drive 时,安装程序会设置此变量),以下工具才会出现,而且仅限这些工具:

工具功能
drive_sign_in在你的电脑上打开浏览器窗口,由你点击“允许”。聊天中不会传递任何代码或令牌
drive_project_create / drive_project_list在 Colab-MCP 内为每个 Colab 项目创建一个文件夹。可以创建文件夹,但不能删除或重命名
drive_notebook_create创建笔记本(空白起始笔记本,或移除输出内容的本地 .ipynb),可选择放入项目文件夹
drive_notebook_list列出此服务器创建的笔记本
drive_notebook_open / drive_notebook_save将笔记本下载到本地临时副本,使用 colab_notebook_* 工具进行编辑,再将内容写回同一文件。保存后会删除本地副本
drive_notebook_delete将其中一个笔记本移至 Drive 的废纸篓(不会永久删除)

Drive 中的目录结构:Colab-MCP/<project>/<notebook>.ipynb。Google 权限(drive.file)只能访问此应用创建的文件和文件夹,因此应用无法看到你已有的“Colab Notebooks”文件夹及其他所有内容。

skills/colab-drive-notebooks/SKILL.md 中的技能会严格限制 Agent 只能执行这些操作:将该文件夹复制到 ~/.claude/skills/(Claude Code),或将其作为技能添加到你的客户端中。

各方的责任

任何人都不会共享凭据。**每位用户都要自行登录,令牌仅保存在其自己的磁盘上。**你只需从两个 OAuth 客户端(如下所示)中选择一个;此项目绝不会接触你的令牌。模型看不到登录链接、代码或令牌。

快速入门(所有用户)

从 PyPI 安装:

uvx --from colab-cli-mcp colab-cli-mcp-drive login     # asks once how you want to sign in, remembers it, signs you in
claude mcp add colab-cli -e COLAB_MCP_WORKDIR="$HOME/colab-work" -e COLAB_MCP_DRIVE=1 -- uvx colab-cli-mcp

从此仓库的克隆版本安装时,bash install.sh 会询问“现在设置 Drive 吗?”,运行下面的一次性选择流程,并注册启用了 Drive 工具的服务。手动操作:

git clone https://github.com/amgallego8/Colab-MCP ~/Colab-MCP && cd ~/Colab-MCP
uv sync
uv run colab-cli-mcp-drive login     # same login, run from the clone

login 会引导你创建自己的 Google Cloud“桌面应用”客户端(约需 10 分钟,只需设置一次,且免费;步骤见下文)。提供下载的 JSON 文件路径后,它会为你保存该文件(0600)。你的项目由你向 Google 负责。此后,登录只需:浏览器打开一个链接,你点击“允许”,就完成了。无需粘贴任何代码。

目前尚未提供共享的一键式客户端。 如果此仓库达到 1,000 个星标,维护者计划发布一个(现成的客户端,这样登录时就完全无需设置 Google Cloud)。这只是计划,并非承诺。其代码已经存在:如果某个构建版本包含 colab_cli_mcp/shared_client.json,login 就会提供一个包含共享和自有选项的菜单。

未经明确选择(通过终端回答或使用 --shared),绝不会使用共享客户端。你的选择会保存在 ~/.config/colab-mcp/drive/preference.json 中。此后,当某个 Drive 工具需要访问权限且没有有效令牌时(首次使用,或处于测试模式的应用在 7 天后过期),服务本身会打开浏览器中的授权页面并等待你点击;之后你需要重新发起请求。两种情况下,登录流程、drive.file 范围、令牌文件和所有防护措施都完全相同。

然后,在你的 MCP 客户端中,保持 drive_notebook_delete 的每次调用都需审批设置为启用——该提示才是真正由人工进行的确认;服务无法强制执行此设置。uvx --from colab-cli-mcp colab-cli-mcp-drive status(或在克隆版本中运行 uv run colab-cli-mcp-drive status)可以显示已配置的内容。

如需退出:运行 colab-cli-mcp-drive logout(删除令牌并在 Google 撤销授权);如果无法确认撤销,请前往 https://myaccount.google.com/permissions 移除该应用。

创建自己的客户端(login 会要求你完成的操作)
  1. 在 Google Cloud 控制台中创建项目并启用 Google Drive API(指南)。
  2. 配置授权同意屏幕 / Google Auth Platform(指南):在 Audience 下选择 External,并在 Test users 下添加你自己;在 Data Access → Add or Remove Scopes 下仅添加 .../auth/drive.file。
  3. 前往 Google Auth platform → Clients → Create Client → Desktop app(Google 的步骤)。下载 JSON 文件,并将其路径提供给 login。
维护者指南:发布共享客户端

按上述步骤创建客户端(最好使用专用的 Google 账号和项目),然后将 JSON 文件放到 colab_cli_mcp/shared_client.json,并有意将其提交(git add -f;该文件默认被 git 忽略)。桌面应用客户端密钥在设计上并非机密,但项目、项目的授权同意屏幕(支持邮箱、隐私政策链接)以及 Google 的任何验证要求都将由你负责。请参阅 TERMS.md。

威胁模型(提供和不提供的保护)
层级提供的保护
仅限 drive.file 范围令牌只能访问此 OAuth 客户端创建的文件。即使以下所有措施都失效,它也无法读取或删除你 Drive 中的其他内容。Google 将此范围归类为非敏感。
你自己的 OAuth 客户端其他用户或供应商的客户端无法访问你的文件,而且你可以在自己的项目中撤销整个客户端。
令牌处理文件权限为 0600;如果文件可被组用户或其他用户读取,则拒绝使用;如果令牌拥有 drive.file 以外的任何范围,则拒绝使用。任何工具都不会返回令牌。与 Colab CLI 的令牌分开存储(后者的权限范围更广)。
工具范围创建文件夹;创建、列出、打开、保存和移入回收站此服务创建的笔记本。不永久删除、不删除文件夹、不分享、不管理权限、不读取其他文件、不接受自由格式查询或 ID。有一项测试会断言从未使用 DELETE 请求,也从未使用权限、导出或复制端点。
文件保护(打开、保存、删除)文件必须带有此服务的标记,必须是 Colab 笔记本,归你所有,直接位于应用文件夹或其某个项目文件夹中,且未移入回收站。删除时还必须重新输入文件的准确名称。保存只会更改内容,不会更改名称、位置或分享设置。
限额与审计记录每小时:创建 20 个笔记本、创建 10 个项目文件夹、保存 60 次、删除 5 次、登录尝试 6 次(COLAB_MCP_DRIVE_MAX_CREATES_PER_HOUR、_MAX_PROJECTS_PER_HOUR、_MAX_SAVES_PER_HOUR、_MAX_DELETES_PER_HOUR、_MAX_LOGINS_PER_HOUR);仅追加的审计日志(audit.log,0600),绝不记录内容。
内容卫生从文件上传的笔记本会移除其输出;保存时会保留输出(使用 keep_outputs=False 可关闭)。如果上传或保存内容包含机密文件中的值,则会拒绝操作。从 Drive 读取的名称会剔除控制字符和双向文本字符,并标记为数据。

明确说明剩余风险。 没有人能声称“完全安全”;仍存在以下风险:

  • 被提示词注入或出错的 Agent 仍可能创建无用笔记本(受速率限制),或在你批准调用后将此服务创建的笔记本移入回收站。你仍可从 Drive 回收站中恢复这些笔记本。
  • 名称确认检查可以防止意外操作,但无法阻止决意重复输入名称的模型;客户端中的人工审批提示才是真正的控制措施。
  • 任何能够读取你用户帐户文件的人,都能在你退出登录前使用你的令牌。磁盘加密和锁定帐户是你自己的责任。
  • 你创建的笔记本可能包含稍后在 Colab 中以你的帐户运行的代码;请检查你打开的内容。
  • 在测试模式下,Google 会在 7 天后使外部应用的刷新令牌过期,因此你可能需要每周重新登录。
  • 如果运行在已挂载 Drive 的虚拟机上的代码也创建了名为 Colab-MCP 的 Drive 文件夹,Drive 中最终可能出现两个同名文件夹,而此工具会将它们视为不同文件夹(⚠️ 尚未验证)。每个项目最好只使用一种方式。
  • 尚未在实际 Google Drive 上运行(参见已知未知事项)。

环境变量:COLAB_MCP_DRIVE(启用)、COLAB_MCP_DRIVE_COPY_HOURS、COLAB_MCP_DRIVE_DIR(默认值为 ~/.config/colab-mcp/drive)、COLAB_MCP_DRIVE_CLIENT、COLAB_MCP_DRIVE_TOKEN、COLAB_MCP_DRIVE_AUDIT、COLAB_MCP_DRIVE_FOLDER(默认值为 Colab-MCP)。

安装

从 PyPI 安装(推荐)

需要安装 uv(curl -LsSf https://astral.sh/uv/install.sh | sh)。请先安装并登录官方 Colab CLI:

uv tool install google-colab-cli
colab sessions        # sign in ONCE (open the link, paste the code)

Claude Code:

claude mcp add colab-cli -e COLAB_MCP_WORKDIR="$HOME/colab-work" -- uvx colab-cli-mcp

Claude Desktop(claude_desktop_config.json;如果应用无法找到 uvx,请使用 uvx 的完整路径,参见 which uvx):

{
  "mcpServers": {
    "colab-cli": {
      "command": "uvx",
      "args": ["colab-cli-mcp"],
      "env": { "COLAB_MCP_WORKDIR": "/Users/YOU/colab-work" }
    }
  }
}

**其他 MCP 客户端:**任何能够启动 stdio 服务的客户端都可以运行 uvx colab-cli-mcp(未经测试,参见 状态)。

可选的机密文件(放在任何代码仓库之外,且仅你本人可读取)和 Drive 工具:

mkdir -p ~/.config/colab-mcp
printf 'OPENROUTER_API_KEY=your-key-here\n' > ~/.config/colab-mcp/secrets.env
chmod 600 ~/.config/colab-mcp/secrets.env

将 -e COLAB_MCP_ENV_FILE="$HOME/.config/colab-mcp/secrets.env" 添加到上面的命令中(或者在 JSON 的 env 下添加相同的键)。若要使用可选的 Drive 工具,请添加 -e COLAB_MCP_DRIVE=1,并按照 Google Drive 中的说明登录一次。

每位使用者都必须使用自己的 Google 账号重复这些步骤:登录令牌属于个人,不能共享。

从源代码安装(用于修改代码)

在克隆的代码仓库中运行 bash install.sh(macOS/Linux)。脚本会在安装任何内容之前征求许可,然后登录 Colab 并将服务注册到 Claude Code(或输出 Claude Desktop 配置)。手动步骤如下。

# 1. uv and the official CLI
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install google-colab-cli

# 2. Sign in ONCE (open the link, paste the code)
colab sessions

# 3. This server
git clone https://github.com/amgallego8/Colab-MCP ~/Colab-MCP

可选的机密文件(放在任何代码仓库之外,且仅你本人可读取):

mkdir -p ~/.config/colab-mcp
printf 'OPENROUTER_API_KEY=your-key-here\n' > ~/.config/colab-mcp/secrets.env
chmod 600 ~/.config/colab-mcp/secrets.env

注册到 Claude Code:

claude mcp add colab-cli \
  -e COLAB_MCP_WORKDIR="$HOME/colab-work" \
  -e COLAB_MCP_ENV_FILE="$HOME/.config/colab-mcp/secrets.env" \
  -- uv run --directory ~/Colab-MCP colab-cli-mcp

注册到 Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "colab-cli": {
      "command": "uv",
      "args": ["run", "--directory", "/Users/YOU/Colab-MCP", "colab-cli-mcp"],
      "env": {
        "COLAB_MCP_WORKDIR": "/Users/YOU/colab-work",
        "COLAB_MCP_ENV_FILE": "/Users/YOU/.config/colab-mcp/secrets.env"
      }
    }
  }
}

每位使用者都必须使用自己的 Google 账号重复这些步骤:登录令牌属于个人,不能共享。

环境变量
变量默认值用途
COLAB_MCP_WORKDIR当前目录服务唯一会访问的本地文件夹
COLAB_MCP_ENV_FILE—包含机密信息的 NAME=value 文件
COLAB_MCP_AUTHCLI 默认值oauth2 或 adc(CLI 的 --auth)
COLAB_MCP_MAX_OUTPUT20000每次调用返回的最大字符数
COLAB_MCP_MAX_UPLOAD_MB100单个文件/zip 上传上限(CLI 会在一个请求中发送文件)
COLAB_MCP_MAX_DOWNLOAD_MB1024解压后目录下载上限
COLAB_BINcolabCLI 可执行文件的路径
COLAB_MCP_MIN_FREE_GB5下载后必须保留的可用磁盘空间
COLAB_MCP_WORKDIR_MAX_GB20工作文件夹的空间上限(0 = 不设上限)
COLAB_MCP_IMAGE_DAYS / COLAB_MCP_TRASH_DAYS / COLAB_MCP_DRIVE_COPY_HOURS2 / 7 / 24已保存图表、本地移至废纸篓的笔记本和 Drive 工作副本的清理时限(0 = 保留废纸篓内容/副本)
COLAB_MCP_DRIVE_PROJECTSColab-MCP当 VM 挂载 Drive 时,文件工具在 Drive 中唯一可使用的文件夹(位于 MyDrive 下)

笔记本的工作方式

笔记本是工作目录中的普通 .ipynb 文件,使用 nbformat 在本地编辑,因此编辑时不需要运行时。colab_notebook_run_cell 通过 colab exec 将一个单元格发送到运行时;内核会在多次调用之间保留变量,并将单元格的输出(文本、错误、显示的图表)写回笔记本。单元格通过编号(稳定)或索引指定。图表保存在 .colab-mcp/images/ 下。

使用 .ipynb 文件调用 colab_exec 会运行整个笔记本,CLI 会将 <name>_output.ipynb 保存到该文件旁边。

尚待确认的事项(需通过实际 Colab 验证)

这些内容来自对 CLI 源码和文档的阅读。状态中所述的实际运行未涵盖这些事项:

  • 跨 exec 调用保留内核变量(源码会重复使用同一个内核 ID,因此应该可以)。
  • 单元格成功/失败检测依赖 Colab 内核中是否提供 get_ipython().run_cell。
  • --output-image 是否会保存所有图像格式(目前处理 PNG/JPEG 显示数据)。
  • 实际上传大小限制(CLI 会在单个请求中发送文件;100 MB 上限是保守估计)。
  • 通过 CLI 运行时,内核能否读取 Colab Secrets(userdata)——文档未说明。请改用 secrets=[...]。
  • Google Drive(可选,见下文):Google Drive 文档中未找到 Colab MIME 类型 application/vnd.google.colaboratory。服务会在每次创建后检查 Drive 中存储的内容,若不一致则撤销创建操作,但尚未在真实 Drive 上运行过。
  • 未经验证的 Google Cloud 应用所有者能否在应用保持未经验证的情况下使用它,且不受“Testing”模式下刷新令牌 7 天过期的限制(Google 文档称,处于 Testing 状态的外部应用,其刷新令牌会在 7 天后过期;尚未确认未经验证且处于“In production”状态的应用适用哪些规则)。

开发

pip install "mcp<2" nbformat google-auth google-auth-oauthlib requests
python tests/test_server.py   # the Colab tools, with a simulated CLI
python tests/test_drive.py    # the Drive tools, with a simulated Drive API
python tests/test_footprint.py # local cleanup and disk guards
python tests/test_mount.py     # Drive mount from the chat, with a simulated CLI

固定使用 SDK 版本 mcp<2 是有意为之:2.x 将 FastMCP 重命名为 MCPServer。

使用条款与隐私

请参阅 TERMS.md:维护者不运营服务,也不收集数据;本地存储的内容;用户责任;使用各登录选项时由谁向 Google 承担责任;以及免责声明。

许可证

Apache License 2.0——请参阅 LICENSE。版权所有 2026 Colab-MCP 贡献者(amgallego8)。本项目封装的 Google 官方 Colab CLI 是独立作品,同样采用 Apache-2.0 许可证,且不包含在此处。


西班牙语摘要

MCP 服务,让 Agent 从头到尾使用 Google Colab:创建和停止 GPU/TPU 运行时、执行代码、逐单元格处理笔记本、在后台启动长时间运行的任务,以及在 VM 与本地之间传输文件和文件夹。此服务封装了 Google 的 官方 Colab CLI。

  • **状态:**已通过模拟 CLI 测试(292 项检查:118 + 129 + 28 + 17)。已在真实 Colab 会话中进行过一次实际验证(macOS 和 Claude):创建运行时、执行代码、运行带日志的长时间任务,以及通过聊天挂载 Drive。尚未进行实际验证:drive_* 工具、逐单元格处理笔记本、文件夹、其他客户端(见“尚待确认的事项”)。
  • **安全性:**本地路径被限制在 COLAB_MCP_WORKDIR 内;密钥保存在本地文件中,绝不会返回给模型;不提供 Shell;删除笔记本会移至可恢复的回收站。
  • **安装:**通过 PyPI 安装 uvx colab-cli-mcp(或从源码使用 install.sh);每个人都要使用自己的 Google 账号重复“安装”中的步骤。会话令牌为个人所有。
  • **Google Drive(可选):**在你的 Drive 中使用 Colab-MCP/<project>/ 存放项目文件夹和 Colab 笔记本(创建、打开、保存、移至回收站),除此之外不做其他操作。你只需一次性创建自己的 Google 客户端(目前尚未发布共享客户端);此后需要时,服务会自行打开浏览器,你只需点击“允许”(代码和令牌绝不会经过聊天)。权限为 drive.file:只能查看此工具创建的内容。你的电脑几乎不会留下文件:临时文件会自动清理,大型文件存放在 VM 磁盘或 Drive 中。有一个 skill(skills/colab-drive-notebooks)会将 Agent 限制在这些操作范围内。请参阅“Google Drive”和威胁模型,以及其中说明的剩余风险。尚未针对真实 Drive API 进行测试。
  • **费用:**你执行的操作会消耗 Colab 计算单元。请停止不再使用的会话。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。