logo NodeSeekbeta

coding-tools-mcp v0.5.0 发布

项目地址:

https://github.com/xyTom/coding-tools-mcp

简单介绍一下,这是一个给 AI / Coding Agent 用的 MCP coding runtime,把文件读写、搜索、patch、多文件修改、shell / PTY、git、workspace 权限控制这些能力统一通过 MCP 暴露出来。

Claude Desktop、Claude Code、Codex、Cursor、ChatGPT 等支持 MCP 的客户端都可以直接接。

这次 0.5.0 没有加太多新功能,主要是在处理 Agent 实际跑项目时的一些可靠性问题。

主要改动

  1. 新增 apply_changes

除了原来的 apply_patch,现在新增了一套基于 line + revision 的结构化修改方式。

Agent 先 read_file 获取文件 revision,再进行修改。

如果这期间文件被其他 Agent 或程序修改过,会直接返回:

REVISION_MISMATCH

避免把其他修改静默覆盖掉。

  1. apply_patch 做了一轮比较大的改动

现在 patch 成功以后会返回:

实际修改范围
新的文件 revision

如果失败,也会返回具体失败的 hunk、附近代码以及可能的匹配位置。

主要目的是让 Agent patch 失败以后可以根据返回信息修正,而不是继续盲目重试。

  1. 增加重复失败熔断

现在如果 Agent 对同一个确定性错误,用完全一样的参数连续调用,第三次会直接返回:

REPEATED_CALL_BLOCKED

实际跑 LLM 的时候经常能看到这种情况:一个工具调用失败以后,它会拿着一模一样的参数继续重试好几次。

现在这种无意义循环会直接被拦下来。

  1. apply_patch / apply_changes 支持 idempotency_key

主要是解决这种情况:

服务端实际上已经完成修改,但是返回结果时连接断了,客户端不知道上一次到底成功没有,只能重试。

现在同一个 idempotency_key + 相同参数再次调用时,不会重复执行修改,而是直接返回第一次的结果。

这样网络抖动、超时或者断线重连时可以安全重试。

  1. exec_command 默认 timeout 从 30 秒改成 300 秒

之前装依赖、build、跑测试稍微久一点,就可能因为默认 30 秒生命周期被强制结束。

现在默认改成 300 秒,Agent 也可以自己传参数修改,最大 600 秒。

目前 v0.5.0 registry 一共有 19 个 tools,默认 safe / trusted 模式暴露其中 18 个。

直接运行:

uvx coding-tools-mcp --stdio --workspace /path/to/repo

或者:

npx coding-tools-mcp --stdio --workspace /path/to/repo

这版主要不是堆工具数量,而是把 patch、并发修改、失败重试、命令生命周期这些容易让 Agent 翻车的地方重新整理了一遍。

有在折腾 MCP / Coding Agent 的可以试一下,问题和建议欢迎提 issue / PR。

  • 一直在用,非常棒。只不过我现在用的CODING_TOOLS_MCP_TRACE=1 来强制开启日志,其实我想要的就是在打印请求的时候,可以打印出来请求的时间,这样方便通过mcp的请求时间,来知道是不是web的pro思考失败挂掉了,如果常规日志能打印一个请求时间的字段就好了

你好啊,陌生人!

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

📈用户数目📈

目前论坛共有72159位seeker

🎉欢迎新用户🎉