Navigation Menu (导航菜单)

跳至内容

搜索代码,仓库,用户,问题,pull requests...

登录 注册

ezyang / **codemcp ** Public

Coding assistant MCP for Claude Desktop

License

Apache-2.0 license 478 stars 40 forks

ezyang/codemcp

使用 codemcp 让 Claude Desktop 成为你的结对编程助手。有了它,你可以直接要求 Claude 在你电脑上的代码库中实现功能、修复 bug 和进行重构;Claude 将直接编辑文件并运行测试。告别在 Claude 的聊天窗口中复制粘贴代码!

Screenshot of Claude Desktop with codemcp

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

  1. 它旨在与 Anthropic 的 $20/月的订阅服务 Claude Pro 一起使用。告别巨额 API 账单。(欢迎按时间计算的速率限制。)
  2. 它围绕安全的主动式 AI 构建,通过提供一组有限的工具,这些工具有助于、诚实和无害的 LLM 不太可能滥用,并强制执行 Git 版本控制等最佳实践,以确保所有代码更改都可以回滚。因此,你可以安全地释放 AI,并且只在最后评估你是否想接受更改。
  3. 它是 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 (理念)

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

Resources (资源)

Readme

License (许可)

Apache-2.0 license

Stars (星标)

478 stars

Forks (复刻)

40 forks