关于 codemcp
codemcp 是一个 MCP 客户端式的编码助手,让 Claude Desktop 可以直接编辑本地代码库、运行测试。它面向使用 Claude Pro 订阅的开发者,强调自动接受修改、Git 版本记录和与编辑器无关的工作方式。项目作者已表示该工具已过时,并计划将其设计思路移植到新一代编码 Agent 中。
主要功能
- 01直接在本地代码库中编辑文件并运行命令
- 02每次 LLM 修改自动生成 Git 提交
- 03通过 codemcp.toml 预先声明允许执行的命令
- 04format 命令在每次文件编辑后自动运行
- 05与 IDE 无关,可配合任意编辑器审查修改
适用场景
- 01在 Claude Desktop 中让 LLM 实现功能、修复 bug 或重构代码
- 02按需回滚 Agent 的某次修改
- 03在远程机器上通过 Tailscale 运行服务并供 Claude 调用
MCP 相关
codemcp 以 MCP 服务的形式运行,通过 SSE 端点(如 http://127.0.0.1:8000/sse)供 Claude Desktop 或浏览器扩展连接,向 Claude 暴露编码相关工具。
详细介绍
注意:Claude Code 可通过 Anthropic 的每月 20 美元订阅使用,因此我认为 codemcp 已完全过时。不过,其中有一些不错的设计理念(尤其是 Git 版本控制方案),我最终希望将它们移植到新一代 Agent 编码命令行工具中。
codemcp
安装 codemcp,让 Claude Desktop 成为你的结对编程助手。借助它,你可以直接让 Claude 为你电脑上的代码库实现功能、修复错误和重构;Claude 会直接编辑文件并运行测试。告别在 Claude 聊天窗口中来回复制代码!

codemcp 提供了与其他 AI 编码软件(Claude Code、Cursor、Cline、Aider)类似的功能,但在设计空间中占据着独特的位置:
-
它面向 Claude Pro 用户,这是 Anthropic 每月 20 美元的订阅服务。我喜欢通过订阅方案为使用付费,因为这意味着 Agent 执行操作的 边际成本为零;再也不用担心为一组无法正常工作的更改白花五美元。
请注意,如果你订阅了 Claude Max(每月 100 美元),也可以通过订阅定价使用 Claude Code。在这种情况下,codemcp 的价值主张就不那么明确了(而且在某些方面肯定不如 Claude Code),但如果你更喜欢它的一些界面设计,仍然可以搭配 Claude Max 使用 codemcp。(此外,它是开源的,如果你不喜欢它,还可以自行修改,不像 Claude Code!)
-
它的核心理念是 默认自动接受。我希望 Agent 在无需我监督的情况下尽可能多地完成工作,这样我就能在最后一次性审查所有内容。codemcp 与大多数编码 Agent 有两项关键区别:我们 禁止不受限制的 Shell,要求你在
codemcp.toml中预先声明 Agent 可以使用的命令;并且我们会 对大模型所做的所有编辑进行 Git 版本控制,这样你就可以细粒度地回滚 Agent 的更改,也不必担心忘记提交更改。 -
它 与 IDE 无关:你让 Claude 进行更改,它完成更改后,你可以使用自己喜欢的 IDE 设置来审查更改并进一步编辑。我日常使用 vim 作为编辑器,因此需要 VSCode 或特定编辑器的编码环境对我来说并不合适。
重要:面向 master 用户——提升 Token 效率的重大更改
为了提升 codemcp 的 Token 效率,我正在 master 分支上将 codemcp 改回多工具模式(而不是在 InitProject 时把所有指令塞进聊天中的单工具模式)。这意味着你必须手动批准工具的使用。由于工具使用的批准在多个聊天中持续有效,我认为这是值得的权衡;但如果你实在不喜欢,可以向用于支持自动批准工具使用的 refined-claude 浏览器扩展提交错误报告。
安装
我推荐以下方式安装和使用 codemcp:
-
安装
uv和 git(如果尚未安装)。 -
在浏览器中安装 claude-mcp。 这样可以直接在网站上连接 SSE MCP 服务, 意味着无需使用 Claude Desktop,还能轻松并行开启 多个聊天窗口。我们预计该扩展很快会被 Integrations 的推出所取代。不过 截至撰写本文时,Claude Pro 订阅用户还无法使用 Integrations。
-
使用
uvx --from git+https://github.com/ezyang/codemcp@prod codemcp serve运行 codemcp。 如果需要监听非标准端口,可以添加--port 1234。小技巧:如果你喜欢冒险,可以把
prod改成main。如果 想固定到某个特定版本,可以将其替换为0.3.0或类似版本号。小技巧:你还可以远程运行 codemcp!如果你使用 Tailscale 并且信任 Tailnet 中的所有设备, 可以通过传入
--host 100.101.102.103安全地实现(请将该 IP 替换为你的节点的 Tailscale IP 地址。该 IP 通常位于 100.64.0.0/10 范围内。)警告: 任何能访问此 MCP 服务的人都可以在你的计算机上执行 任意代码,你极不可能希望绑定到 0.0.0.0。 -
为 claude-mcp 配置 URL:
http://127.0.0.1:8000/sse(如有需要请替换端口。) -
遗憾的是,网页 UI 显示锤子图标的表现并不稳定。不过,你可以通过以下方式验证 MCP 服务是否正常工作:在控制台中查找 "[MCP codemcp] SSE connection opened", 或者询问 Claude 它有哪些可用工具(它应该会说 codemcp 的工具可用。)
如果你更喜欢使用 Claude Desktop,或者有特殊需求,请查看 INSTALL.md, 了解各种非标准情况下的安装说明。
使用
首先,你必须在要处理的 Git 仓库检出目录中创建一个 codemcp.toml 文件。
如果希望 Agent 能够运行格式化工具或测试等操作,
请在 commands 部分添加执行这些操作的命令(注意:这些命令需要自行正确设置
所需的虚拟环境):
format = ["./run_format.sh"]
test = ["./run_test.sh"]
format 命令比较特殊:每次编辑文件后,它总会被运行。
接下来,在 Claude Desktop 中,我们建议创建一个 Project,并将以下内容放入 Project Instructions:
Initialize codemcp with $PROJECT_DIR
其中 $PROJECT_DIR 是你想要处理的项目的路径。
然后与 Claude 聊聊你想对项目做哪些修改。 codemcp 每次修改你的代码时,都会生成一个提交。
要查看使用该工具的一些示例对话记录,请参阅:
codemcp 会为每次聊天生成一个提交,并在处理你的功能时不断修订该提交。
理念
-
当你被限流时,不妨利用这段时间做点别的事情(审查 Claude 的代码、审查别人的代码、制定计划、开几个会)
-
这不是一个自主运行的 Agent。至少每次 聊天结束后,你都需要介入审查修改并提出下一项修改。虽然你 可以在单次聊天中要求完成一长串事项,但你很可能 会触及 Claude Desktop 的输出上限,仍然需要手动让 Agent “继续”。接受这一点,并利用这些中断来确保 Claude 做的是正确的事。
-
当 Claude 跑偏时,损失的是你的时间而不是金钱。 请据此行事:如果时间是瓶颈,就仔细关注 Claude 的增量 输出。
配置
以下是 codemcp.toml 支持的所有配置项:
project_prompt = """
Before beginning work on this feature, write a short haiku. Do this only once.
"""
[commands]
format = ["./run_format.sh"]
test = ["./run_test.sh"]
project_prompt 会在你于聊天中初始化项目时加载。
commands 部分用于为特定工具配置命令。这些命令的名称会告知大模型,由大模型决定何时运行它们。你可以在 project_prompt 中添加工具的使用说明;我们也支持更详细的语法,可以逐个工具给出具体说明:
[commands.test]
command = ["./run_test.sh"]
doc = "Accepts a pytest-style test selector as an argument to run a specific test."
故障排查
要使用 inspector 运行服务,请执行:
PYTHONPATH=. mcp dev codemcp/__main__.py
日志会写入 ~/.codemcp/codemcp.log。日志级别可以在全局配置文件 ~/.codemcprc 中设置:
[logger]
verbosity = "INFO" # Can be DEBUG, INFO, WARNING, ERROR, or CRITICAL
日志不支持按项目单独配置,但这影响不大,因为同时在多个项目中并行使用 Claude Desktop 本身就比较困难。
贡献
请参阅 CONTRIBUTING.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。