Show HN: Codemcp – 为 Claude Pro 用户提供的 Claude 代码工具,告别 API 账单
Navigation Menu (导航菜单)
-
Product (产品)
-
Explore (探索)
-
Solutions (解决方案)
-
Resources (资源)
-
Open Source (开源)
-
Enterprise (企业)
- Enterprise platform AI 驱动的开发者平台
- Available add-ons (可用附加组件)
搜索代码,仓库,用户,问题,pull requests...
- Notifications You must be signed in to change notification settings
- Fork 40
- Star 478
Coding assistant MCP for Claude Desktop
License
Apache-2.0 license 478 stars 40 forks
ezyang/codemcp
使用 codemcp 让 Claude Desktop 成为你的结对编程助手。有了它,你可以直接要求 Claude 在你电脑上的代码库中实现功能、修复 bug 和进行重构;Claude 将直接编辑文件并运行测试。告别在 Claude 的聊天窗口中复制粘贴代码!
codemcp 提供了与其他 AI 编码软件(Claude Code, Cursor, Cline, Aider)类似的功能,但它在设计空间中占据了一个独特的点:
- 它旨在与 Anthropic 的 $20/月的订阅服务 Claude Pro 一起使用。告别巨额 API 账单。(欢迎按时间计算的速率限制。)
- 它围绕安全的主动式 AI 构建,通过提供一组有限的工具,这些工具有助于、诚实和无害的 LLM 不太可能滥用,并强制执行 Git 版本控制等最佳实践,以确保所有代码更改都可以回滚。因此,你可以安全地释放 AI,并且只在最后评估你是否想接受更改。
- 它是 IDE 不可知 的:你要求 Claude 进行更改,它会进行更改,然后你可以使用你喜欢的 IDE 设置来查看更改并进行进一步编辑。
Getting started (开始使用)
首先,安装 uv 和 安装 git,如果它们尚未安装(在 Windows 上,如果你安装了 Git,我建议重启)。
然后,在 claude_desktop_config.json
中:
{
"mcpServers": {
"codemcp": {
"command": "/Users/<username>/.local/bin/uvx",
"args": [
"--from",
"git+https://github.com/ezyang/codemcp@prod",
"codemcp"
]
}
}
}
在 Windows 上,路径需要双反斜杠:
C:\\Users\\<username>\\.local\\bin\\uvx.exe
如果 MCP 成功加载,将会显示一个锤子图标,点击后可以看到 “codemcp”。
小提示:如果服务器加载失败,前往 Settings > Developer > codemcp > Logs 查看 MCP 日志,它们对调试非常有帮助。
小提示:如果在 Windows 上,日志显示 "Git executable not found. Ensure that Git is installed and available",而你 刚刚 安装了 Git,请重启你的电脑(PATH 更新尚未生效。)如果仍然无效,请打开 System Properties > Environment Variables > System variables > Path 并确保存在 Git 的条目。
小提示:如果你喜欢冒险,可以将 prod
更改为 main
。如果你想固定到特定的版本,请将其替换为 0.3.0
或类似的版本。
小提示:支持仅指定 uvx
作为命令,但 uvx 必须位于你的全局 PATH 中(不仅仅是通过 shell 配置文件添加);在 OS X 上,如果你使用了自安装程序,通常不是这种情况(除非你安装到了 /usr/local/bin
等系统位置)。
Usage (用法)
首先,你必须在你要处理的 Git 仓库检出中创建一个 codemcp.toml
文件。如果你希望代理能够执行诸如运行格式化程序或运行测试之类的操作,请将执行它们的命令添加到 commands 部分(注意:这些命令需要适当设置它们需要的任何虚拟环境):
format = ["./run_format.sh"]
test = ["./run_test.sh"]
接下来,在 Claude Desktop 中,我们建议创建一个 Project,并将以下内容放入 Project Instructions 中:
Initialize codemcp with $PROJECT_DIR
其中 $PROJECT_DIR
是你要处理的项目的路径。
然后与 Claude 聊天,告诉它你想对项目进行哪些更改。每次 codemcp 对你的代码进行更改时,它都会生成一个 commit。
要查看使用此工具的一些示例记录,请查看:
codemcp 将为每个聊天生成一个 commit,并在处理你的功能时对其进行修改。
Philosophy (理念)
- 当你受到速率限制时,花时间做其他事情(审查 Claude 的代码,审查其他人的代码,制定计划,参加一些会议)。
- 这_不是_一个自主代理。至少,你必须在每次聊天后进行干预以查看更改并请求下一个更改。虽然你_可以_要求在一个聊天中完成一长串事情,但你可能会达到 Claude Desktop 的输出限制,并且无论如何都必须手动 "continue" 代理。接受它,并使用中断来确保 Claude 正在做正确的事情。
- 当 Claude 失控时,它会花费你时间而不是金钱。因此采取相应的行动:如果时间是瓶颈,请仔细观察 Claude 的增量输出。
Configuration (配置)
以下是 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,它将决定何时运行它们。你可以在 project_prompt
中添加有关如何使用工具的说明;我们还支持更详细的语法,你可以在该语法中按工具给出具体说明:
[commands.test]
command = ["./run_test.sh"]
doc = "Accepts a pytest-style test selector as an argument to run a specific test."
Troubleshooting (问题排查)
要使用 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 (贡献)
请参阅 CONTRIBUTING.md。
About (关于)
Coding assistant MCP for Claude Desktop