Colab GPU代码执行服务

该服务通过Google Colab分配GPU资源并执行Python代码,支持多种AI助手运行GPU加速的代码,无需本地GPU硬件。

  • by pdwi2020
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 pdwi2020/mcp-server-colab-exec

使用说明

mcp服务器colab exec

MCP服务器,分配Google Colab GPU运行时(T4/L4)并在其上执行Python代码。允许任何兼容MCP的AI助手——Claude Code、Claude Desktop、Gemini CLI、Cline等——在没有本地GPU硬件的情况下运行GPU加速代码(CUDA、PyTorch、TensorFlow)。

先决条件

  • Python 3.10+
  • 有权访问的Google帐户 谷歌Colab
  • 首次运行时,会打开一个浏览器窗口以获取OAuth2的同意。令牌缓存在 ~/.config/colab-exec/token.json 用于后续运行。

安装

pip install mcp-server-colab-exec

或者直接与 uvx:

uvx mcp-server-colab-exec

配置

克劳德代码

添加到您的项目 .mcp.json 或 ~/.claude/.mcp.json:

{
  "mcpServers": {
    "colab-exec": {
      "command": "mcp-server-colab-exec"
    }
  }
}

或者通过CLI:

claude mcp add colab-exec mcp-server-colab-exec

克劳德桌面版

添加 claude_desktop_config.json:

{
  "mcpServers": {
    "colab-exec": {
      "command": "mcp-server-colab-exec"
    }
  }
}

双子星命令行工具

gemini mcp add colab-exec -- mcp-server-colab-exec

工具

colab_execute

在Colab GPU运行时上执行内联Python代码。

参数 类型 默认值 说明
code string -- 要执行的Python代码(必需)
accelerator 字符串 "T4" GPU类型: "T4" (免费)或 "L4" (保费)
timeout int 300 最大执行时间(秒)

返回包含每个单元格输出、错误和stderr的JSON。

colab_execute_file

执行本地 .py Colab GPU运行时上的文件。

参数 类型 默认值 说明
file_path string -- 本地路径 .py 文件(必填)
accelerator 字符串 "T4" GPU类型: "T4" (免费)或 "L4" (保费)
timeout int 300 最大执行时间(秒)

安全策略: file_path 必须是 .py 当前工作区内的文件(cwd).

colab_execute_notebook

执行代码并收集所有生成的工件(图像、CSV、模型等)。

参数 类型 默认值 说明
code string -- 要执行的Python代码(必需)
output_dir string -- 下载工件的本地目录(必需)
accelerator 字符串 "T4" GPU类型: "T4" (免费)或 "L4" (保费)
timeout int 300 最大执行时间(秒)

工件以zip格式下载并提取到 output_dir. 在提取之前验证Zip成员,以防止路径遍历和特殊文件写入。

例子

检查GPU可用性:

colab_execute(code="import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))")

运行nvidia smi:

colab_execute(code="import subprocess; print(subprocess.run(['nvidia-smi'], capture_output=True, text=True).stdout)")

训练模型并下载权重:

colab_execute_notebook(
    code="import torch; model = torch.nn.Linear(10, 1); torch.save(model.state_dict(), '/tmp/model.pt')",
    output_dir="./outputs"
)

认证

首次使用时,服务器会打开一个浏览器窗口,征求Google OAuth2的同意。访问令牌和刷新令牌缓存在 ~/.config/colab-exec/token.json。后续运行将使用缓存的令牌并自动刷新它。

OAuth2客户端凭据与官方Google Colab VS Code扩展使用的凭据相同(google.colab@0.3.0).他们故意公开。

故障排除

“超出GPU配额” --Colab有使用限制。请稍候并重试,或使用其他Google帐户。

“创建内核会话超时” --运行时启动时间过长。重试——Colab在使用高峰期有时会出现延迟。

“身份验证失败” --删除 ~/.config/colab-exec/token.json 并重新进行身份验证。

OAuth浏览器窗口未打开 --确保您在有浏览器的环境中运行。对于无头服务器,首先使用浏览器在计算机上进行身份验证,然后复制令牌文件。

许可证

麻省理工学院