项目简介
Git MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在为 AI 助手提供标准化的 Git 操作能力。通过集成到 MCP 生态系统,该服务器允许 LLM 客户端调用各种 Git 工具,从而实现代码仓库的管理、版本控制等功能。
主要功能点
- 核心 Git 操作: 支持 'init', 'clone', 'status', 'add', 'commit', 'push', 'pull' 等常用 Git 命令。
- 分支管理: 提供 'list', 'create', 'delete', 'checkout' 等分支操作工具。
- 标签操作: 支持 'list', 'create', 'delete' 等标签管理功能。
- 远程仓库管理: 允许列出、添加和移除远程仓库 ('list', 'add', 'remove')。
- 暂存操作: 支持 'list', 'save', 'pop' 等暂存管理命令。
- 批量操作: 可以按顺序执行多个 Git 操作 ('bulk_action')。
- GitHub 集成: 内置 GitHub 支持,通过个人访问令牌进行身份验证。
- 智能路径处理: 能够处理绝对路径和可选的默认路径配置。
- 完善的错误处理: 提供全面的错误处理机制和自定义错误类型。
- 仓库缓存: 高效管理仓库状态,提升性能。
- 性能监控: 内置性能跟踪功能。
安装步骤
-
克隆仓库:
git clone https://github.com/Sheshiyer/git-mcp-v2.git cd git-mcp-v2 -
安装依赖:
npm install -
构建项目:
npm run build
服务器配置
要将 Git MCP Server 集成到 MCP 客户端,您需要在客户端的 MCP 设置文件中添加以下配置。这个配置告诉 MCP 客户端如何启动和连接到 Git MCP Server。
{ "mcpServers": { "git-v2": { "command": "node", "args": ["path/to/git-mcp-v2/build/index.js"], "env": { "GIT_DEFAULT_PATH": "/path/to/default/git/directory", "GITHUB_PERSONAL_ACCESS_TOKEN": "your-github-pat" } } } }
配置参数说明:
- 'server name': 'git-v2' (服务器名称,客户端用此名称引用)
- 'command': 'node' (启动服务器的命令,这里使用 Node.js 运行时)
- 'args': '["path/to/git-mcp-v2/build/index.js"]' (启动命令的参数,指向构建后的服务器入口文件 'index.js'。请将 'path/to/git-mcp-v2' 替换为 Git MCP Server 在您本地文件系统中的实际路径)
- 'env': 环境变量配置
- 'GIT_DEFAULT_PATH': '"/path/to/default/git/directory"' (可选,Git 操作的默认路径。请根据需要替换为您希望设置的默认 Git 仓库目录的绝对路径。如果设置此项,则在调用工具时可以不提供 'path' 参数。).
- 'GITHUB_PERSONAL_ACCESS_TOKEN': '"your-github-pat"' (可选,GitHub 个人访问令牌,用于 GitHub 相关操作,如克隆私有仓库。如果不需要 GitHub 集成可以不设置,需要使用 GitHub 功能时请替换为您自己的 GitHub 个人访问令牌).
注意: 以上配置是添加到 MCP 客户端 的设置文件中,而不是 Git MCP Server 本身的配置文件。MCP 客户端会根据这些配置启动并连接到 Git MCP Server。
基本使用方法
-
启动服务器: 当 MCP 客户端启动并加载上述配置后,Git MCP Server 将会自动启动并运行在后台,通过标准输入/输出 (stdio) 与客户端通信。
-
客户端调用工具: 在 LLM 应用中,您可以使用 MCP 客户端 SDK,通过 'git-v2' 这个服务器名称来调用 Git MCP Server 提供的各种工具。例如,要初始化一个新的 Git 仓库,您可以调用 'init' 工具,并根据需要传递 'path' 参数来指定仓库的初始化路径。
例如,在客户端代码中,您可能会这样调用 'init' 工具(伪代码示例):
client.callTool({ serverName: 'git-v2', toolName: 'init', arguments: { path: '/path/to/your/new/repo' // 指定仓库路径 } });更多工具的调用方法和参数,请参考仓库中 'src/tool-handler.ts' 文件内 'setupToolDefinitions' 方法中的工具定义,以及 "Available Tools" 章节的详细说明。
-
查看操作结果: 工具执行的结果将以 JSON-RPC 响应的形式返回给 MCP 客户端,您可以解析响应内容以获取 Git 操作的输出信息。
通过 Git MCP Server,您的 LLM 应用可以方便地集成强大的 Git 版本控制功能,例如代码仓库的创建、克隆、状态查看、提交、推送、分支管理等等,从而构建更加智能和实用的 AI 助手。
信息
分类
开发者工具