Codemcp编程助手添加福利群:解决AI开发者的「MCP实战痛点」通过安装 codemcp,将 Claude Desktop 变成一个结对编程助手。有了它,你可以直接让 Claude 在你的电脑上实现功能、修复错误和进行代码重构;Claude 将直接编辑文件并运行测试。告别在 Claude 的聊天窗口中复制粘贴代码的日子吧!

codemcp 提供了与其他 AI 编程软件(如 Claude Code、Cursor、Cline、Aider)类似的功能,但它在设计空间中有其独特之处:
它旨在与 Claude Pro 一起使用,这是 Anthropic 提供的每月 20 美元的订阅服务。我喜欢通过订阅计划支付使用费用,因为这意味着 零边际成本,不用担心因为修改失败而浪费五美元。
需要注意的是,如果你有 Claude Max(每月 100 美元),Claude Code 也可以使用基于订阅的定价。在这种情况下,codemcp 的价值主张就不那么明确了(在某些方面它确实不如 Claude Code),但如果你更喜欢 codemcp 的其他 UI 设计,你仍然可以将它与 Claude Max 一起使用。(此外,它是开源的,所以如果你不喜欢它,可以自己修改,而 Claude Code 则不行!)
它围绕 默认自动接受 构建。我希望我的代理在不需要我监督的情况下尽可能多地完成任务,这样我可以在最后一次性审查所有内容。codemcp 与大多数编程代理有两个关键不同之处:我们 禁止不受限制的 shell,而是要求你在 codemcp.toml 中预先声明代理可以使用的命令,并且我们 对所有 LLM 的编辑进行 Git 版本控制,这样你可以细粒度地回滚代理的更改,不用担心忘记提交更改。
它是 IDE 无关的:你让 Claude 进行更改,它进行更改后,你可以使用你喜欢的 IDE 设置来审查更改并进行进一步编辑。我使用 vim 作为日常编辑器,那些要求使用 VSCode 或特定编辑器的编程环境对我来说是不可接受的。
为了提高 codemcp 的 token 效率,在 master 分支上,我正在将 codemcp 改回为多工具工具(而不是在 InitProject 时将指令一次性插入聊天窗口的单工具工具)。这意味着你必须手动批准工具的使用。由于工具使用批准在多个聊天中是持久的,我认为这是一个合理的权衡,但如果你真的不喜欢,可以在 refined-claude 浏览器扩展中提交一个支持自动批准工具使用的 bug。
我推荐以下安装和使用 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。
使用 URL http://127.0.0.1:8000/sse 配置 claude-mcp(如果需要,请替换端口)。
不幸的是,Web UI 不一致地显示锤子图标。但是,你可以通过查看控制台中的 "[MCP codemcp] SSE connection opened" 或询问 Claude 它有哪些工具可用(它应该说 codemcp 的工具可用)来验证 MCP 服务器是否正常工作。
如果你更喜欢使用 Claude Desktop 或有特殊需求,请查看 INSTALL.md 获取各种非标准情况的安装说明。
首先,你必须在要处理的 Git 仓库中创建一个 codemcp.toml 文件。如果你希望代理能够执行诸如运行格式化程序或运行测试之类的操作,请在命令部分添加执行这些操作的命令(注意:这些命令需要适当地设置它们所需的任何虚拟环境):
format = ["./run_format.sh"]
test = ["./run_test.sh"]

format 命令是特殊的;它会在每次文件编辑后自动运行。
接下来,在 Claude Desktop 中,我们建议创建一个项目,并将以下内容放入项目说明中:
Initialize codemcp with $PROJECT_DIR
其中 $PROJECT_DIR 是你想要处理的项目的路径。
然后与 Claude 讨论你想对项目进行的更改。每次 codemcp 对你的代码进行更改时,它都会生成一个提交。
要查看使用此工具的示例对话,请查看:
codemcp 将为每次聊天生成一个提交,并在处理你的功能时进行修改。
当你被限速时,花时间做其他事情(审查 Claude 的代码、审查其他人的代码、制定计划、开会)
这不是一个自主代理。至少,你必须在每次聊天后介入以审查更改并请求下一个更改。虽然你可以在一个聊天中请求一长串任务,但你很可能会遇到 Claude Desktop 的输出限制,并且不得不手动“继续”代理。接受它,并利用这些中断来确保 Claude 在做正确的事情。
当 Claude 偏离轨道时,它消耗的是你的时间而不是金钱。相应地行动:如果时间是瓶颈,仔细查看 Claude 的增量输出。
以下是 codemcp.toml 支持的所有配置选项:
project_prompt = """
在开始处理此功能之前,写一首短俳句。只需做一次。
"""
[commands]
format = ["./run_format.sh"]
test = ["./run_test.sh"]

project_prompt 将在你初始化项目时加载到聊天中。
commands 部分允许你为特定工具配置命令。名称会告诉 LLM,它将决定何时运行它们。你可以在 project_prompt 中添加如何使用工具的说明;我们还支持更详细的语法,你可以在每个工具的基础上给出具体说明:
[commands.test] command = ["./run_test.sh"] doc = "接受一个 pytest 风格的测试选择器作为参数来运行特定测试。"
要使用检查器运行服务器,请使用:
PYTHONPATH=. mcp dev codemcp/__main__.py
日志写入 ~/.codemcp/codemcp.log。日志级别可以在全局配置文件 ~/.codemcprc 中设置:
[logger]
verbosity = "INFO" # 可以是 DEBUG、INFO、WARNING、ERROR 或 CRITICAL

日志记录不能按项目配置,但这应该无关紧要,因为无论如何很难在多个项目上并行使用 Claude Desktop。
请参阅 CONTRIBUTING.md。