使用说明

项目简介

codemcp 是一个基于 Model Context Protocol (MCP) 构建的服务器实现,它允许 Claude Desktop 等 MCP 客户端直接与本地代码仓库进行交互,实现代码的读取、编辑、格式化和测试等功能。通过 codemcp,用户可以更高效地利用 Claude Pro 等大型语言模型进行代码开发,无需手动复制粘贴代码,即可实现 AI 辅助编程。

主要功能点

  • 文件系统访问: 允许 Claude 读取项目中的代码文件,为代码编辑和理解提供上下文信息。
  • 代码编辑: 支持 Claude 直接修改项目文件,包括文本替换等操作,并自动进行版本控制。
  • 代码格式化: 集成代码格式化工具,一键美化代码风格,保持代码库整洁。
  • 运行测试: 允许 Claude 执行项目中的测试脚本,验证代码更改的正确性。
  • 项目初始化: 支持项目初始化,为 Claude 提供项目配置和指令。
  • 安全控制: 基于 Git 版本控制,确保所有代码变更可追溯和回滚,提供安全的代码编辑环境。
  • IDE 无关性: 与任何 IDE 兼容,编辑后的代码可以使用用户喜欢的 IDE 进行审查和进一步编辑。

安装步骤

  1. 安装 uv: 根据 uv 安装指南 安装 uv 包管理器。

  2. 配置 'claude_desktop_config.json': 在 Claude Desktop 的配置文件 'claude_desktop_config.json' 中添加 codemcp 服务器配置。

    {
      "mcpServers": {
        "codemcp": {
          "command": "uvx",
          "args": [
            "--from",
            "git+https://github.com/ezyang/codemcp@prod",
            "codemcp"
          ]
        }
      }
    }

服务器配置

MCP 客户端(如 Claude Desktop)需要配置以下 JSON 信息以连接 codemcp 服务器:

{
  "server name": "codemcp",  // 服务器名称,可以自定义
  "command": "uvx",         // 启动服务器的命令,这里使用 uvx 运行 codemcp
  "args": [                // 启动参数
    "--from",              // 从指定的 Git 仓库安装
    "git+https://github.com/ezyang/codemcp@prod", // codemcp 仓库地址和分支
    "codemcp"              // 要运行的模块名
  ]
}

基本使用方法

  1. 创建 'codemcp.toml' 文件: 在你的 Git 代码仓库根目录下创建 'codemcp.toml' 文件,配置格式化和测试命令(如果需要)。例如:

    [commands]
    format = ["./run_format.sh"]
    test = ["./run_test.sh"]
  2. 在 Claude Desktop 中设置项目指令: 创建一个 Claude Desktop 项目,并在项目指令中加入初始化项目的命令,例如:

    Before doing anything, first init project $PROJECT_DIR.

    其中 '$PROJECT_DIR' 替换为你的项目路径。

  3. 与 Claude 聊天: 在 Claude Desktop 中与 Claude 聊天,描述你想要对代码库进行的更改。codemcp 会处理 Claude 的请求,自动编辑文件并提交 Git 变更。

  4. 审查和接受/拒绝变更: 使用 'git diff main' 查看 LLM 的编辑更改,使用 'git reset --keep main' 拒绝更改,或使用 'git fetch . develop:main' (假设 codemcp 在 develop 分支工作) 接受更改。

注意事项

  • 确保你的代码仓库已初始化 Git。
  • 'codemcp.toml' 文件是必要的配置文件,用于指定项目相关的命令。
  • 推荐在非默认分支(如 'develop' 分支)上使用 codemcp,以便更好地管理 AI 的代码更改。
  • codemcp 旨在与 Claude Pro 配合使用,以减少 API 费用。

信息

分类

开发者工具