• Tom-linuxdo

    终于把 coding-tools-mcp v0.5.0 正式发布出来了。

    给还不了解的佬友们快速介绍一下,coding-tools-mcp 是一个给 AI / Coding Agent 用的 MCP coding runtime,简单来说就是把:

    - 文件读写 / 搜索

    - patch / 多文件修改

    - shell / PTY

    - git

    - workspace sandbox / permission control

    这些能力统一通过 MCP 暴露出来。

    Claude Desktop、Claude Code、Codex、Cursor、ChatGPT 等支持 MCP 的客户端,都可以连接这个 MCP 服务来读取、修改代码以及执行命令。

    这次 0.5.0 基本算一个提升可靠性的 release,没有添加太多新功能,主要是在解决 Agent 实际跑项目过程中遇到的一些问题。

    0.5.0 版本几个比较主要的改动:

    1. 新增 apply_changes 工具

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

    Agent 先通过 read_file 获取当前文件的 revision 标记,再进行修改。

    如果这期间文件已经被其他 Agent 或程序改过,会直接返回 REVISION_MISMATCH,而不是把别人刚刚做的修改静默覆盖掉。

    2. 原有的 apply_patch 工具也进行了比较大的改动,进一步提升可用性

    这块应该算这版改得最多的地方。

    现在 apply_patch:

    - 成功后会返回具体改动范围和新的 revision 标记

    - 失败后会告诉 Agent 具体是哪个 patch hunk 应用失败

    - 同时会返回附近的代码内容和可能的匹配位置,方便 Agent 下一次重试

    主要目标就是:patch 第一次失败以后,Agent 能知道下一步应该怎么修,而不是继续瞎猜。

    3. 防止 Agent 死循环重试

    加了一个 repeat-failure circuit breaker。

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

    REPEATED_CALL_BLOCKED

    LLM 有时候工具调用失败以后,会非常执着地把一模一样的错误参数再调用三五遍……

    这种情况现在就会被直接拦下来。

    4. 文件修改支持 idempotency key

    apply_patch / apply_changes 现在都支持 idempotency_key。

    这个主要解决一个比较常见的问题:

    比如 Agent 发起了一次文件修改,服务端其实已经执行成功了,但是返回结果的时候网络断了。

    客户端这时候并不知道刚刚那次调用到底有没有成功,只能重新调用一次。

    现在如果两次调用使用相同的 idempotency_key 和相同参数,服务端不会重复执行修改,而是直接返回第一次的执行结果。

    所以即使遇到网络断开、超时之类的问题,也可以比较安全地重试,不会把同一个修改执行两遍。

    5. 命令执行工具 exec_command 默认 timeout 从 30s 改成 300s

    之前安装第三方包、打包应用程序、跑 test cases 稍微久一点,就有可能超过默认 30 秒的生命周期,然后在后台被强制停止。

    所以现在默认 timeout 改成了 300 秒。

    如果有需要,Agent 还是可以自己传参数修改超时时间,目前最大支持 600 秒。


    目前 v0.5.0 版本一共有 19 个工具,默认 safe / trusted 模式会暴露其中 18 个。

    可以直接通过下面的命令运行:```
    uvx coding-tools-mcp --stdio --workspace /path/to/repo
    ``或者:``
    npx coding-tools-mcp --stdio --workspace /path/to/repo
    ```详细的使用和配置教程也可以查看我之前的帖子:

    如果可以,请各位佬辛苦给我的Github Repo 点点 Star吧(直接Github搜Coding Tools MCP),太惨淡了,连抄袭我的项目仓库Star都比我这个原作者多了^-^
    前情提要:https://linux.do/t/topic/2226648
    众所周知,ChatGPT网页端的额度和Codex的额度是分开计算的,然后ChatGPT Team订阅的Codex额度经常不够用,…

    https://linux.do/t/topic/2226648

    主楼
  • admin2

    怎么让cli给ai自适应调用

    #1
  • apparition

    感觉可以搭配 dot 穿透出来用 ^-^

    #2
  • Tom-linuxdo

    是的,欢迎佬友尝试,然后分享分享体验,我这边没有pro账号,用不了dots

    #3
  • user2196

    佬这个之前用过,确实还不错

    #4

发表回复

登录后回复