使用说明

项目简介

该项目 'mcp-server-auto-commit' 是一个 MCP (Model Context Protocol) 服务器 的实现,旨在自动化生成 Git 提交信息。它利用 OpenAI 的 GPT 模型分析代码变更,并根据变更内容生成符合 Conventional Commits 规范的提交消息,从而提高代码提交效率和规范性。

主要功能点

  • Git 变更分析: 能够分析 Git 仓库中暂存区和工作区的代码变更。
  • AI 智能生成提交信息: 使用 OpenAI 的 GPT 模型 (gpt-4o-mini) 根据代码变更内容生成提交信息。
  • 详细变更摘要: 提供修改、新增和删除文件的列表,并展示每个文件的详细代码变更内容(最多10行)。
  • Conventional Commits 规范: 生成的提交信息遵循 Conventional Commits 规范。
  • MCP 协议支持: 基于 '@modelcontextprotocol/sdk' 开发,易于集成到支持 MCP 协议的客户端,如 Cursor 和 Claude。
  • 自动签名: 在提交信息末尾添加 'auto-commit' 签名,标识为自动生成。

安装步骤

  1. 克隆仓库

    git clone https://github.com/jatinsandilya/mcp-server-auto-commit.git
    cd mcp-server-auto-commit
  2. 安装依赖 确保已安装 Node.js 和 pnpm,然后运行:

    pnpm install
  3. 配置 OpenAI API 密钥 你需要拥有 OpenAI API 密钥。可以通过以下方式配置:

    • 环境变量: 设置环境变量 'OPENAI_API_KEY=你的API密钥'
    • 命令行参数: 在启动服务器时,通过 '--key 你的API密钥' 传入。
    • .env 文件: 在项目根目录下创建 '.env' 文件,并添加 'OPENAI_API_KEY=你的API密钥'。
  4. 构建项目 运行以下命令编译 TypeScript 代码:

    pnpm run build

    构建成功后,将在 'build' 目录下生成 'index.js' 文件。

服务器配置

MCP 服务器需要配置在支持 MCP 协议的客户端中,例如 Cursor 或 Claude Desktop。以下是配置示例:

Cursor 配置 在 Cursor 的设置 (Settings) -> MCP -> Add new MCP server 中,进行如下配置:

  • Name: 'git-auto-commit' (服务器名称,可以自定义)
  • Type: 'command'
  • Command: 'node ABSOLUTE_PATH_TO_MCP_SERVER/build/index.js --key YOUR_OPENAI_API_KEY' (请将 'ABSOLUTE_PATH_TO_MCP_SERVER' 替换为 'mcp-server-auto-commit' 仓库在您系统中的绝对路径。 'YOUR_OPENAI_API_KEY' 替换为您的 OpenAI API 密钥,或者如果已设置环境变量 'OPENAI_API_KEY',则可以省略 '--key YOUR_OPENAI_API_KEY' 参数)

Claude Desktop 配置 在 Claude Desktop 的配置文件中添加如下 JSON 配置:

{
  "mcpServers": {
    "git-auto-commit": { // 服务器名称,可以自定义
      "command": "node", // 启动服务器的命令
      "args": [
        "ABSOLUTE_PATH_TO_MCP_SERVER/build/index.js", // 服务器脚本的绝对路径
        "--key",
        "YOUR_OPENAI_API_KEY" // 您的 OpenAI API 密钥,作为命令行参数传入
        // (如果已设置环境变量 OPENAI_API_KEY,可以移除 "--key" 和 "YOUR_OPENAI_API_KEY" )
      ]
    }
  }
}

(请将 'ABSOLUTE_PATH_TO_MCP_SERVER' 替换为 'mcp-server-auto-commit' 仓库在您系统中的绝对路径。 'YOUR_OPENAI_API_KEY' 替换为您的 OpenAI API 密钥,或者如果已设置环境变量 'OPENAI_API_KEY',请从 'args' 数组中移除 '"--key"' 和 '"YOUR_OPENAI_API_KEY"' 元素)

基本使用方法

  1. 确保 MCP 服务器已在客户端中正确配置并启动。
  2. 在支持 MCP 协议的客户端中(如 Cursor 或 Claude),使用客户端提供的机制调用 'git-changes-commit-message' 工具。
    • 例如,在 Cursor 中,您可能可以使用命令 '@git-auto-commit git-changes-commit-message' 来触发该工具。具体的调用方式取决于客户端的实现。
  3. 工具执行后,将分析当前 Git 仓库的变更,并返回一个包含建议的 'git add . && git commit -m "..."' 命令的文本内容。
  4. 您可以将返回的命令复制到终端中执行,即可完成代码提交。

可用工具

git-changes-commit-message

  • 功能: 分析当前 Git 仓库的变更,并使用 OpenAI GPT 模型生成提交信息。
  • 参数:
    • 'autoCommitPath' (可选): 指定要分析的目录或文件路径。如果不提供,则默认使用当前工作目录。

使用示例 (在支持 MCP 客户端中调用,具体命令格式取决于客户端实现)

@git-auto-commit git-changes-commit-message
@git-auto-commit git-changes-commit-message autoCommitPath:./src

信息

分类

开发者工具