Skip to main content
Glama

代码管理协议

安装 codemcp,让 Claude Desktop 成为结对编程助手。有了它,您可以直接请求 Claude 在您的计算机上的代码库上实现功能、修复错误并进行重构;Claude 将直接编辑文件并运行测试。告别在 Claude 聊天窗口中复制代码的麻烦!

使用 codemcp 的 Claude Desktop 截图

codemcp 提供与其他 AI 编码软件(Claude Code、Cursor、Cline、Aider)类似的功能,但它在设计空间中占据着独特的地位:

  1. 它旨在与Claude Pro (Anthropic 每月 20 美元的订阅服务)配合使用。我喜欢按订阅计划付费,因为这意味着代理操作的边际成本为零;再也不用因为在一个不起作用的变更集上浪费了五块钱而感到难过了。

    请注意,如果您拥有 Claude Max(每月 100 美元),Claude Code 也可以按订阅价格使用。在这种情况下,codemcp 的价值主张更加模糊(并且在某些方面肯定不如 Claude Code),但如果您更喜欢 Claude Max 做出的其他一些 UI 决策,您仍然可以将 codemcp 与 Claude Max 一起使用。(此外,它是开源的,所以如果您不喜欢它,可以更改它,这与 Claude Code 不同!)

  2. 它默认基于自动接受功能构建。我希望我的代理能够在没有我监督的情况下尽可能地完成工作,这样我就可以最终一次性审核所有内容。codemcp 与大多数编码代理有两点关键区别:我们禁止使用不受限制的 shell ,而是要求您在codemcp.toml中预先声明代理可以使用的命令;并且我们对所有 LLM 编辑都使用 Git 版本控制,因此您可以细粒度地回滚代理更改,而不必担心忘记提交更改。

  3. 它与IDE 无关:你让 Claude 进行更改,它会进行更改,然后你可以使用你最喜欢的 IDE 设置来查看更改并进行进一步编辑。我使用 vim 作为我的日常编辑器,需要 VSCode 或特定编辑器的编码环境对我来说很不友好。

重要提示:对于主用户 - 代币效率的重大变化

为了提高 codemcp 的 token 效率,我正在 master 上将 codemcp 改回多工具工具(而不是像 InitProject 那样,在聊天中播放指令的单一工具)。这意味着您必须手动批准工具的使用。由于工具使用批准在多个聊天中是一致的,我认为这是一个合理的权衡。但如果您实在不喜欢,请在refined-claude浏览器扩展中提交 bug,以支持自动批准工具的使用。

Related MCP server: mcp-server-collector

安装

我推荐这种安装和使用 codemcp 的具体方法:

  1. 如果尚未安装,请安装uv和 git。

  2. 在您的浏览器上安装claude-mcp 。这样您就可以直接从网站连接到 SSE MCP 服务器,这意味着您无需使用 Claude Desktop,并且可以轻松并行运行多个聊天窗口。我们预计此扩展程序很快就会随着Integrations的推出而淘汰。然而,截至撰写本文时,Claude Pro 订阅用户尚未获得 Integrations 的支持。

  3. 使用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 范围内。)警告:不可能将 IP 绑定到 0.0.0.0。

  4. 配置 claude-mcp 的 URL: http://127.0.0.1:8000/sse sse (如果需要,请替换端口。)

  5. 遗憾的是,Web UI 显示的锤子图标不一致。不过,您可以通过在控制台中查看“[MCP codemcp] SSE 连接已打开”来验证 MCP 服务器是否正常工作,或者询问 Claude 有哪些可用的工具(它应该会显示 codemcp 的工具可用)。

如果您更喜欢使用 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 做的是正确的事情。

  • 当克劳德出轨时,你损失的不是金钱,而是时间。请采取相应的行动:如果时间是瓶颈,请密切关注克劳德的增量产出。

配置

以下是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部分允许您为特定工具配置命令。命令名称会告知 LLM,LLM 将决定何时运行这些命令。您可以在project_prompt中添加如何使用工具的说明;我们还支持更详细的语法,您可以针对每个工具分别提供具体的说明:

[commands.test] command = ["./run_test.sh"] doc = "Accepts a pytest-style test selector as an argument to run a specific test."

故障排除

要使用检查器运行服务器,请使用:

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

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ezyang/codemcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server