Deskaid

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Uses Git version control to track changes made by Claude, ensuring all code modifications can be rolled back

  • Supports running tests with pytest-style test selectors through custom commands

代码管理协议

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

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

  1. 它旨在与 Claude Pro(Anthropic 每月 20 美元的订阅服务)配合使用。告别高昂的 API 费用。(迎接基于时间的速率限制。)
  2. 它以安全的代理AI为核心,提供一套有限的工具,这些工具不太可能被有用、诚实且无害的LLM滥用,并强制执行最佳实践,例如使用Git版本控制来确保所有代码更改都可以回滚。因此,您可以安全地释放AI ,只需在最后评估是否接受更改即可。
  3. 它与IDE 无关:您要求 Claude 进行更改,它会进行更改,然后您可以使用您最喜欢的 IDE 设置来查看更改并进行进一步的编辑。

入门

首先,安装 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

修改 JSON 后,重启 Claude 桌面应用。如果 MCP 加载成功,将出现一个锤子图标,点击后将显示“codemcp”。

使用 pip 进行全局安装

如果您不想使用 uv,也可以全局使用 pip 安装最新的 codemcp 版本,前提是您的全局 Python 安装足够新(Python 3.12),并且没有与 codemcp 冲突的 Python 依赖项。一些用户报告说,这种方法在 Windows 上更容易上手。

  1. pip install git+https://github.com/ezyang/codemcp@prod
  2. claude_desktop_config.json文件中添加以下配置
{ "mcpServers": { "codemcp": { "command": "python", "args": ["-m", "codemcp"] } } }
  1. 重启Claude桌面

您需要手动升级 codemcp 才能使用pip install --upgrade git+https://github.com/ezyang/codemcp@prod进行更新

其他提示

专业提示:如果服务器加载失败,请前往“设置”>“开发者”>“codemcp”>“日志”查看 MCP 日志,它们对调试非常有帮助。Windows 上的日志应该加载到C:\Users\<user_name>\AppData\Roaming\Claude\logs (将<user_name>替换为您的用户名)。

专业提示:如果在 Windows 上,日志显示“未找到 Git 可执行文件。请确保 Git 已安装并可用”,并且您刚刚安装了 Git,请重新启动计算机(PATH 更新尚未传播。)如果这仍然不起作用,请打开系统属性> 环境变量> 系统变量> 路径并确保其中有 Git 的条目。

专业提示:如果您喜欢冒险,可以将prod更改为main 。如果您想要固定到特定版本,请将其替换为0.3.0或类似版本。

专业提示:它支持仅指定uvx作为命令,但 uvx 必须位于全局 PATH 中(而不仅仅是通过 shell 配置文件添加);在 OS X 上,如果您使用自行安装程序,通常情况并非如此(除非您安装到系统位置,如/usr/local/bin )。

用法

首先,你必须在要处理的 Git 仓库中创建一个codemcp.toml文件。如果你希望代理能够执行诸如运行格式化程序或运行测试之类的操作,请在命令部分添加执行这些操作的命令(注意:这些命令需要适当地设置所需的虚拟环境):

format = ["./run_format.sh"] test = ["./run_test.sh"]

接下来,在 Claude Desktop 中,我们建议创建一个项目并将其放入项目说明中:

Initialize codemcp with $PROJECT_DIR

其中$PROJECT_DIR是您要处理的项目的路径。

然后和 Claude 聊聊你想对项目做哪些修改。codemcp 每次对你的代码进行修改,都会生成一次提交。

与 claude.ai 网页界面一起使用

您还可以通过运行 SSE 服务器,将 codemcp 与 claude.ai 上的 Claude Web 界面一起使用:

codemcp serve

这将在端口 8000 上启动一个本地 SSE 服务器,可以从 claude.ai 连接到该服务器。该服务器默认为 claude.ai 启用了 CORS。您可以自定义主机、端口和允许的 CORS 源:

codemcp serve --host 0.0.0.0 --port 8765 --cors-origin https://claude.ai --cors-origin https://example.com

要查看使用此工具的一些示例成绩单,请查看:

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

类型检查

本项目使用pyright进行类型检查,并启用了严格模式。类型检查配置位于pyproject.toml中。我们使用一些策略来维护类型安全:

  1. 外部库的类型存根:
    • 自定义类型存根位于stubs/目录中
    • pyproject.toml中的stubPackages配置将库映射到其存根包
  2. 针对具有挑战性的案例的特定文件忽略:
    • 对于某些具有复杂动态类型模式的文件(特别是测试代码),我们通过pyproject.toml中的tool.pyright.ignoreExtraErrors使用特定于文件的忽略
    • 这比内联忽略更好,并且让我们在大多数代码库中保持类型安全

进行更改时,请通过运行以下命令确保类型检查通过:

./run_typecheck.sh

You must be authenticated.

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

Tools

MCP 服务器提供在本地文件系统上读取、写入和编辑文件的工具。

  1. Getting started
    1. Global install with pip
    2. Other tips
  2. Usage
    1. Using with claude.ai web interface
  3. Philosophy
    1. Configuration
      1. Troubleshooting
        1. Contributing
          1. Type Checking
            ID: vujkyr83by