Git MCP Server 使用说明

项目简介

Git MCP Server 是一个实现了 Model Context Protocol (MCP) 的应用后端,它将 Git 的常用操作封装成一系列工具 (Tools),通过 MCP 协议与 LLM 客户端进行通信,使得 LLM 能够安全、可控地操作 Git 仓库,实现代码版本管理、信息获取等功能。

主要功能点

  • Git 仓库操作: 支持初始化、克隆、查看状态、添加文件、提交、推送、拉取等核心 Git 操作。
  • 分支管理: 支持分支的列表、创建、删除、切换等操作。
  • 标签管理: 支持标签的列表、创建、删除等操作。
  • 远程仓库管理: 支持远程仓库的列表、添加、移除等操作。
  • 暂存管理: 支持暂存的列表、保存、应用等操作。
  • 批量操作: 支持原子性地执行多个 Git 操作,优化性能并保证仓库状态一致性。
  • 性能优化: 通过缓存机制提升常用 Git 操作的响应速度。
  • 详细错误处理: 提供结构化的错误信息和恢复建议,方便问题排查和处理。
  • 安全性: 进行路径验证、命令注入防护、访问控制等安全措施。

安装步骤

  1. 确保已安装 Node.js 和 npm。
  2. 执行以下命令安装 'git-mcp-server':
    npm install git-mcp-server

服务器配置

在 MCP 客户端的设置中,添加以下 JSON 配置来注册 Git MCP Server。请根据实际情况修改 'command' 和 'args' 中的路径。

{
  "mcpServers": {
    "git": {
      "command": "node",
      "args": ["/path/to/git-mcp-server/build/index.js"],
      "env": {
        "GIT_DEFAULT_PATH": "/path/to/default/repo/directory",
        "GIT_MAX_MEMORY": "1024", // 可选,最大内存使用量 (MB)
        "GIT_CACHE_TTL": "300",   // 可选,缓存生存时间 (秒)
        "GIT_LOG_LEVEL": "info"  // 可选,日志级别 (debug, info, warn, error)
      }
    }
  }
}

配置参数说明:

  • 'server name': 'git' - 服务器名称,客户端用此名称来引用该服务器。
  • 'command': 'node' - 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件。
  • 'args': '["/path/to/git-mcp-server/build/index.js"]' - 命令参数,指向 'git-mcp-server' 构建后的入口文件 'index.js' 的绝对路径。请务必替换为实际的路径
  • 'env': 环境变量配置,可选配置项包括:
    • 'GIT_DEFAULT_PATH': 默认的 Git 仓库路径。如果设置,则工具操作时可以省略 'path' 参数。请替换为您希望作为默认仓库目录的绝对路径
    • 'GIT_MAX_MEMORY': 服务器最大内存使用量,单位 MB,可选配置。
    • 'GIT_CACHE_TTL': 缓存数据的有效时间,单位 秒,可选配置。
    • 'GIT_LOG_LEVEL': 日志输出级别,可选值为 'debug', 'info', 'warn', 'error',默认为 'info'。

基本使用方法

配置完成后,MCP 客户端即可通过 "git" 这个服务器名称调用 Git MCP Server 提供的工具。

例如,在客户端中调用 'git.status' 工具来获取仓库状态,可以发送如下格式的 JSON-RPC 请求:

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "tool_name": "git_mcp_server.status",
    "arguments": {
      "path": "/path/to/your/git/repo" // 可选,如果配置了 GIT_DEFAULT_PATH 则可以省略
    }
  },
  "id": 1
}

更多工具及其参数的详细信息,请参考仓库的 'README.md' 文档中 "Tools" 章节的描述。

信息

分类

开发者工具