使用说明
项目简介
Git Forensics MCP 是一个专门用于Git代码仓库深度调查和分析的 Model Context Protocol (MCP) 服务器。它提供了一系列工具,帮助用户深入了解代码仓库的历史、分支关系和开发模式,专注于Git仓库分析,而非通用的GitHub或Git操作。
主要功能点
- 分支概览 (Branch Overview): 提供代码仓库分支状态和关系的宏观视图,分析最后提交、提交计数和合并基础,生成分支活动统计摘要。
- 时间段分析 (Time Period Analysis): 分析特定时间段内的详细开发活动,将提交分类(特性、修复、重构、文档等),并提供包含提交模式的活动摘要。
- 文件变更分析 (File Changes Analysis): 跟踪特定文件在不同分支上的更改,识别潜在的冲突区域,提供文件修改的风险评估,并根据风险级别生成建议的审查顺序。
- 合并建议 (Merge Recommendations): 确定最佳合并策略,评估冲突风险,识别代码热点,并提供逐步合并指南。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node包管理器)。你可以从 nodejs.org 下载并安装。
- 安装 Git: 确保你的系统已安装 Git 命令行工具,并且可以在命令行中访问 'git' 命令。
- 克隆仓库: 使用 'git clone https://github.com/davidorex/git-forensics-mcp' 命令克隆该仓库到本地。
- 安装依赖: 在仓库根目录下,运行 '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"'。
基本使用方法
- 启动服务器: 在克隆的仓库根目录下,打开终端并运行配置中指定的命令 ('node src/index.js') 启动服务器。服务器将通过 stdio 等待客户端请求。
- 配置 MCP 客户端: 在你的 MCP 客户端中,配置上述 JSON 信息,确保客户端能够连接到服务器。
- 调用工具: 通过 MCP 客户端向服务器发送 JSON-RPC 请求,调用服务器提供的工具,例如 'get_branch_overview', 'analyze_time_period', 'analyze_file_changes', 'get_merge_recommendations'。
- 传递参数: 根据每个工具的 'inputSchema',在请求中包含必要的参数,例如 'repoPath' (Git仓库路径), 'branches' (要分析的分支数组), 'outputPath' (分析结果输出路径) 等。
- 获取结果: 服务器将执行相应的 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' 文件。
信息
分类
开发者工具