项目简介
Git Commit Aider MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,旨在帮助开发者追踪人工智能在代码库中的贡献。它通过提供一个 'commit_staged' 工具,允许LLM客户端(如代码编辑器中的AI助手)代表用户提交Git暂存区的更改,并在提交者姓名后附加 "(aider)" 标识,从而方便统计和区分AI的贡献。
主要功能点
- 'commit_staged' 工具:
- 提交当前 Git 仓库暂存区的所有更改。
- 允许指定提交信息 (message)。
- 可以指定工作目录 (cwd),默认为仓库根目录。
- 自动在提交者姓名后添加 "(aider)" 后缀,方便识别 AI 提交。
- 提交者信息优先从环境变量 'GIT_COMMITTER_NAME' 和 'GIT_COMMITTER_EMAIL' 读取,其次读取 Git 配置 'user.name' 和 'user.email'。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
- 下载仓库代码: 从 GitHub 仓库 https://github.com/MrOrz/mcp-git-commit-aider 下载代码到本地。
- 安装依赖: 在仓库根目录下打开终端,运行以下命令安装项目依赖:
npm install - 构建项目: 运行以下命令构建项目:
npm run build
服务器配置
要将此 MCP 服务器添加到 MCP 客户端(例如代码编辑器),你需要在客户端的 MCP 设置文件中添加以下配置。 以下是一个示例 JSON 配置,你需要将其添加到你的 MCP 客户端的服务器配置中。
{ "mcpServers": { "git-commit-aider": { "command": "npx", "args": ["mcp-git-commit-aider"] } } }
- 'server name': 'git-commit-aider' (服务器名称,用于在客户端中标识和引用)
- 'command': 'npx' (启动服务器的命令,这里使用 'npx' 运行本地安装的 'mcp-git-commit-aider' 包)
- 'args': '["mcp-git-commit-aider"]' (传递给 'command' 的参数,指定要运行的包名)
或者,如果你希望直接运行构建后的 JavaScript 文件,可以使用以下配置 (需要替换 '/path/to/git-commit-aider' 为你本地仓库的实际路径):
{ "mcpServers": { "git-commit-aider": { "command": "node", "args": [ "/path/to/git-commit-aider/build/index.js" ] } } }
- 'server name': 'git-commit-aider'
- 'command': 'node' (使用 Node.js 运行时)
- 'args': '["/path/to/git-commit-aider/build/index.js"]' (指向构建后的服务器入口文件路径)
基本使用方法
- 启动 MCP 服务器: MCP 客户端根据配置自动启动 'git-commit-aider' 服务器。
- 在代码编辑器中使用 AI 助手: 在代码编辑器中,当 AI 助手修改了代码并暂存更改后,你可以向 AI 助手发出类似以下的指令:
Commit the changes with message "修复了一个bug" - AI 助手调用 'commit_staged' 工具: AI 助手会通过 MCP 协议调用 'git-commit-aider' 服务器提供的 'commit_staged' 工具,并将你提供的提交信息 '"修复了一个bug"' 作为参数传递给服务器。
- 服务器执行 Git 提交: 'git-commit-aider' 服务器接收到请求后,会自动执行 'git commit' 命令,提交暂存区的更改,并附加 "(aider)" 到提交者姓名。
- 查看提交记录: 你可以在 Git 仓库的提交历史中看到带有 "(aider)" 标识的提交,从而追踪 AI 的代码贡献。
环境变量配置 (可选):
你还可以设置环境变量 'GIT_COMMITTER_NAME' 和 'GIT_COMMITTER_EMAIL' 来指定提交者的姓名和邮箱。这在某些自动化场景下可能很有用。 如果不设置环境变量,服务器会尝试从 Git 配置 'user.name' 和 'user.email' 中获取。
export GIT_COMMITTER_NAME="Your Name" export GIT_COMMITTER_EMAIL="[email protected]"
信息
分类
开发者工具