logo NodeSeekbeta

coding-tools-mcp 更新 0.1.7:支持Docker 沙盒、一键 GitHub Actions 启动,修复bug支持更多场景

这轮更新主要围绕一个目标:让 coding-tools-mcp 更容易被放进临时容器环境里运行,并且可以通过 GitHub Actions 一键启动一个远程 coding sandbox,给 Agent 直接连上使用。

一键启动远程沙盒

现在项目里已经补上了 reusable workflow:其他仓库可以直接引用这个 workflow,在自己的 GitHub Actions runner 里启动一个临时 coding-tools-mcp 环境。

大致使用方式是:

jobs:
sandbox:
uses: xyTom/coding-tools-mcp/.github/workflows/start-sandbox.yml@main
with:
permission_mode: trusted
tool_profile: full
checkout_repository: true
timeout_minutes: 120

启动后,workflow 会:

checkout 当前仓库;
拉取 sandbox Docker image;
启动 coding-tools-mcp 服务;
生成 bearer token;
打开 cloudflared tunnel;
在 GitHub Actions 日志里打印连接方式;
保持 job 持续运行,直到用户取消 workflow 或超时(默认120分钟,最长可以360分钟)。

这样 Agent 可以拿到 URL 和 token 后直接连接到这个远程 sandbox,执行代码阅读、修改、测试、commit、push 等操作。

这轮也继续收紧 runtime 行为:

runtime 目录放在 workspace 外,避免污染代码仓库;
Docker / CI 环境下通过环境变量配置 workspace、port、auth、permission mode;
server_info / check_exec_environment 会报告 runtime、home、tmp、cache 等执行环境信息;
kill_session 行为调整为先 TERM,必要时升级 SIGKILL,并在进程仍未退出时保留 session 供后续重试或 watchdog 清理。

这些改动主要是为了让 Agent 执行命令时更可控,也更容易排查 sandbox 里的环境问题。

Tunnel 脚本整理

cloudflared、ngrok、devtunnel 相关脚本也做了统一处理:

auth credential 逻辑收敛;
bearer / oauth / noauth 模式更清晰;
tunnel 启动后会打印 MCP URL 和认证方式;
对不支持 header 的远程 MCP client,也给出了 noauth / external proxy 的使用提示。

这轮更新的核心意义

以前 coding-tools-mcp 更像是本地开发工具;这轮之后,它开始变成一个可以被 CI、Docker、远程 Agent 直接拉起来用的 coding sandbox。

现在比较理想的使用路径是:

仓库里点一下 GitHub Actions;
runner 自动启动容器;
tunnel 打出公网 URL;
Agent 连上 MCP;
Agent 在隔离环境里读代码、跑命令、改文件;
需要时 push 分支或开 PR;
workflow 结束后环境自动销毁。

这让它更适合作为临时 Agent workspace、远程 coding sandbox、CI 内部调试环境,以及后续更自动化的代码修改流程。

欢迎体验:https://github.com/xyTom/coding-tools-mcp

  • 滥用action会封号

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有60792位seeker

🎉欢迎新用户🎉