SuperAPI AI 工具集

colab-mcp

colab-mcp 是 Google Colab MCP 的增强分支,用于让 AI 编程代理控制 Google Colab 笔记本。它修复了官方版本中工具在多数 MCP 客户端不可见、连接显示“Disconnected”、以及无法通过程序分配 GPU 等问题。该分支在启动时直接注册全部 9 个工具(1 个连接工具、7 个笔记本工具、1 个 GPU 控制工具),支持通过 change_runtime 工具分配 T4/L4/A100 GPU,并加入 Windows 支持、陈旧服务器检测与清理、IPv4 单套接字绑定等改进。使用需克隆仓库并配置 MCP 客户端,GPU 控制需额外配置 Google OAuth。

访问官网

工具介绍

colab-mcp(增强分支)是一个 MCP 服务器,用于从任意 AI 编程代理控制 Google Colab。它基于 googlecolab/colab-mcp,修复了官方仓库中阻碍日常使用的缺陷,并恢复了 Google 上游移除的功能。

用途 该工具旨在让 AI 编程代理(如 Claude Code、Codex、Kiro IDE 等)直接操作 Google Colab 笔记本,包括打开浏览器连接、添加代码单元格、运行代码、读取单元格状态,以及在配置 OAuth 后以编程方式分配 GPU。

主要能力

  • 启动时可见全部 9 个工具:1 个连接工具(open_colab_browser_connection)+ 7 个笔记本工具 + 1 个 GPU 控制工具(change_runtime)。官方版本中多数 MCP 客户端只能看到 open_colab_browser_connection,因为笔记本工具依赖 notifications/tools/list_changed,而部分客户端忽略该通知。
  • 完整的 7 个笔记本工具:预注册 get_cells、delete_cell、move_cell(此前缺失),并将 execute_cell 重命名为 run_code_cell 以匹配浏览器端处理器。run_code_cell 需传入 cellId(来自 add_code_cell 或 get_cells),旧的 cellIndex 回退已移除。
  • GPU 控制:通过 change_runtime 工具,代理可分配 T4 / L4 / A100,无需在浏览器中手动点击。此功能需要配置 Google OAuth。
  • 陈旧服务器检测与清理:内置进程注册表(Windows 位于 %LOCALAPPDATA%\colab-mcp\registry.json,macOS/Linux 位于 ~/.colab-mcp/registry.json),记录每个运行实例的 pid、port、host、started_at。启动时自动清理死条目,干净关闭时移除自身条目。提供 --list-running / --kill-stale 标志及更清晰的超时诊断,修复上游 #84“Disconnected from the local Colab MCP server”问题。
  • Windows 支持:修复 Windows 端口阻塞错误(WinError 10013),将 OAuth 端口改为 8085。
  • IPv4 单套接字绑定:强制 host="127.0.0.1",避免官方版本中 host="localhost" + port=0 导致的双套接字(IPv6 ::1 与 IPv4 127.0.0.1)绑定不同临时端口、只报告其中一个端口,从而造成 50% 概率连接失败的问题。启动时断言该不变量,若未来改动重新引入双绑定则抛出 RuntimeError。
  • 浏览器标签去重缓解:在 Colab URL 后附加当前端口作为查询参数(?p=<port>),使每个服务器实例产生唯一 URL,避免 Chrome 因忽略 #fragment 而聚焦旧标签。

使用方式 快速开始(无 OAuth,仅笔记本工具):

  1. 安装 uv(注意:不要使用 pip install uv,该版本缺少所需功能)。
  2. 克隆仓库:git clone https://github.com/SebastianGilPinzon/colab-mcp
  3. 配置 MCP 客户端,在 .mcp.json(Claude Code、Cursor 等)中添加 colab-proxy-mcp 定义。注意只在 ONE 个 .mcp.json 文件中定义,避免全局与项目双重定义导致两个服务器实例且一个静默死亡。
  4. 重启编辑器 / 重新加载窗口。
  5. 全部 8 个工具应立即出现(open_colab_browser_connection + 7 个笔记本工具)。
  6. 调用 open_colab_browser_connection,浏览器中打开 Colab 笔记本。
  7. 使用 add_code_cell、run_code_cell、get_cells 等控制笔记本。

完整设置(含 OAuth + GPU 控制):

  1. 创建 OAuth 凭据:需要配置了 OAuth 的 Google Cloud 项目(一次性设置,约 5 分钟)。步骤包括:创建 GCP 项目、配置 OAuth 同意屏幕(选择“外部”> 创建,应用名称 Colab MCP,添加邮箱作为支持与开发者联系人)、添加自己为测试用户、创建 OAuth 客户端 ID(凭据 > 创建凭据 > OAuth 客户端 ID > 桌面应用),下载 JSON 文件并保存(如 ~/.config/colab-oauth.json)。注意 OAuth 客户端 ID 只能通过 Cloud Console 网页 UI 创建,没有 CLI 或 API。
  2. 在 MCP 配置中添加 --client-oauth-config 参数指向 OAuth JSON 文件。
  3. 首次授权:服务器首次启动时打开浏览器进行 Google OAuth 同意,登录并点击允许。令牌缓存在 ~/.colab-mcp-auth-token.json 并自动刷新。

安装后(通过 uv run 或 uvx git+https://github.com/SebastianGilPinzon/colab-mcp),colab-mcp 命令支持相关标志。

适用场景

  • 使用 AI 编程代理(Claude Code、Cursor、Windsurf、Codex 等)进行开发,需要代理直接读写 Colab 笔记本状态。
  • 需要在无浏览器交互的情况下为 Colab 分配 GPU(T4/L4/A100)进行模型训练或推理。
  • Windows 用户使用 Colab MCP。
  • 遇到官方版本工具不可见、连接断开、陈旧服务器端口占用等问题的用户。

限制

  • GPU 控制(change_runtime)需要配置 Google OAuth,涉及 Google Cloud 项目与 OAuth 客户端创建。
  • 需要 MCP 客户端支持标准工具协议;官方版本中部分客户端忽略 notifications/tools/list_changed,本分支通过启动时预注册解决。
  • Chrome 的本地网络访问策略可能阻止 Colab 标签连接本地服务器,需在权限提示中点击允许;若曾点击阻止,需重置站点权限。
  • 浏览器标签去重问题已缓解,但若仍遇到,需关闭所有 colab.research.google.com 标签后重试。
  • 该分支基于 Apache 2.0 许可,与上游相同。Google 不接受对官方仓库的外部贡献,因此这些修复位于本分支。
  • 演示文件 docs/demo.gif 标记为 TODO,暂未提供。