使用说明
项目简介
该项目 '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' 签名,标识为自动生成。
安装步骤
-
克隆仓库
git clone https://github.com/jatinsandilya/mcp-server-auto-commit.git cd mcp-server-auto-commit -
安装依赖 确保已安装 Node.js 和 pnpm,然后运行:
pnpm install -
配置 OpenAI API 密钥 你需要拥有 OpenAI API 密钥。可以通过以下方式配置:
- 环境变量: 设置环境变量 'OPENAI_API_KEY=你的API密钥'
- 命令行参数: 在启动服务器时,通过 '--key 你的API密钥' 传入。
- .env 文件: 在项目根目录下创建 '.env' 文件,并添加 'OPENAI_API_KEY=你的API密钥'。
-
构建项目 运行以下命令编译 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"' 元素)
基本使用方法
- 确保 MCP 服务器已在客户端中正确配置并启动。
- 在支持 MCP 协议的客户端中(如 Cursor 或 Claude),使用客户端提供的机制调用 'git-changes-commit-message' 工具。
- 例如,在 Cursor 中,您可能可以使用命令 '@git-auto-commit git-changes-commit-message' 来触发该工具。具体的调用方式取决于客户端的实现。
- 工具执行后,将分析当前 Git 仓库的变更,并返回一个包含建议的 'git add . && git commit -m "..."' 命令的文本内容。
- 您可以将返回的命令复制到终端中执行,即可完成代码提交。
可用工具
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
信息
分类
开发者工具