使用说明

项目简介

Git Forensics MCP 是一个专门用于Git代码仓库深度调查和分析的 Model Context Protocol (MCP) 服务器。它提供了一系列工具,帮助用户深入了解代码仓库的历史、分支关系和开发模式,专注于Git仓库分析,而非通用的GitHub或Git操作。

主要功能点

  1. 分支概览 (Branch Overview): 提供代码仓库分支状态和关系的宏观视图,分析最后提交、提交计数和合并基础,生成分支活动统计摘要。
  2. 时间段分析 (Time Period Analysis): 分析特定时间段内的详细开发活动,将提交分类(特性、修复、重构、文档等),并提供包含提交模式的活动摘要。
  3. 文件变更分析 (File Changes Analysis): 跟踪特定文件在不同分支上的更改,识别潜在的冲突区域,提供文件修改的风险评估,并根据风险级别生成建议的审查顺序。
  4. 合并建议 (Merge Recommendations): 确定最佳合并策略,评估冲突风险,识别代码热点,并提供逐步合并指南。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node包管理器)。你可以从 nodejs.org 下载并安装。
  2. 安装 Git: 确保你的系统已安装 Git 命令行工具,并且可以在命令行中访问 'git' 命令。
  3. 克隆仓库: 使用 'git clone https://github.com/davidorex/git-forensics-mcp' 命令克隆该仓库到本地。
  4. 安装依赖: 在仓库根目录下,运行 'npm install' 命令安装项目依赖。

服务器配置

MCP客户端需要以下配置信息来连接到 Git Forensics MCP 服务器。请将以下JSON配置添加到你的MCP客户端配置中:

{
  "serverName": "git-analysis-server",
  "command": "node",
  "args": [
    "src/index.js"
  ],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': 服务器名称,设置为 '"git-analysis-server"',与服务器代码中定义的一致。
  • 'command': 启动服务器的命令,由于项目是 Node.js 应用,这里设置为 '"node"'。
  • 'args': 命令参数数组,指定服务器入口文件路径,这里设置为 '"src/index.js"'。 注意: 确保你的工作目录是仓库根目录,或者使用正确的相对或绝对路径指向 'src/index.js' 文件。
  • 'transport': 传输协议,本项目使用标准输入输出流 (stdio),因此设置为 '"stdio"'。

基本使用方法

  1. 启动服务器: 在克隆的仓库根目录下,打开终端并运行配置中指定的命令 ('node src/index.js') 启动服务器。服务器将通过 stdio 等待客户端请求。
  2. 配置 MCP 客户端: 在你的 MCP 客户端中,配置上述 JSON 信息,确保客户端能够连接到服务器。
  3. 调用工具: 通过 MCP 客户端向服务器发送 JSON-RPC 请求,调用服务器提供的工具,例如 'get_branch_overview', 'analyze_time_period', 'analyze_file_changes', 'get_merge_recommendations'。
  4. 传递参数: 根据每个工具的 'inputSchema',在请求中包含必要的参数,例如 'repoPath' (Git仓库路径), 'branches' (要分析的分支数组), 'outputPath' (分析结果输出路径) 等。
  5. 获取结果: 服务器将执行相应的 Git 分析,并将结果以 JSON 格式写入到 'outputPath' 指定的文件中。客户端可以通过读取这些 JSON 文件获取分析结果。服务器也会通过 MCP 响应返回简要的文本信息,指示分析结果已写入文件。

示例 (调用 'get_branch_overview' 工具的 MCP 请求)

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "name": "get_branch_overview",
    "arguments": {
      "repoPath": "/path/to/your/git/repo",
      "branches": ["main", "develop"],
      "outputPath": "/tmp/branch_overview.json"
    }
  },
  "id": "1"
}

请将 '/path/to/your/git/repo' 替换为你的实际 Git 仓库路径。分析结果将写入 '/tmp/branch_overview.json' 文件。

信息

分类

开发者工具