关于 Git Stuff Server
Git Stuff Server 是一个 Node.js MCP 服务,用于获取 Git 合并提交相对于第一父提交的文本差异,适合通过单一工具检查合并变更。
主要功能
- 01生成合并提交差异
- 02对比第一父提交
- 03向客户端返回差异文本
适用场景
- 01审查合并引入的变更
- 02通过 MCP 客户端检查合并提交
MCP 相关
它通过 stdio 运行 MCP 服务,并提供 `get_git_merge_diff` 工具。该工具接收合并提交哈希并返回差异文本。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Git Stuff Server
此仓库包含一个 Node.js 应用程序,可用作 MCP(Model Context Protocol)服务,提供与 Git 相关的功能。目前,它提供了一个工具,用于生成 Git 合并提交与其第一个父提交之间的差异。
功能
- MCP 服务: 作为标准 MCP 服务运行,使用 stdio 进行通信。
get_git_merge_diff工具:- 接受 Git 合并提交哈希。
- 执行
GenerateMergeDiff.ps1PowerShell 脚本。 - 返回由
git show -m --first-parent <commitHash>生成的文本差异内容。
前提条件
- Node.js(支持 ES Modules 的版本;如果 package.json 中指定了
engines,请查看该配置,否则请检查tsconfig.json中的目标版本 - ES2022) - npm(通常随 Node.js 一起安装)
- Git,已安装并可通过系统 PATH 访问。
- PowerShell(Windows)或
pwsh(Linux/macOS),已安装并可通过系统 PATH 访问。
安装
- 克隆仓库:
git clone <your-repo-url> cd GitStuffServer - 安装依赖:
npm install
用法
-
构建 TypeScript 代码:
npm run build这会将
src/中的 TypeScript 代码编译为build/中的 JavaScript。 -
运行服务:
- 运行已编译的代码:
npm start - 在开发模式下构建并运行:
npm run dev
- 运行已编译的代码:
服务启动后,将通过标准输入/输出监听 MCP 请求。
使用 get_git_merge_diff 工具
通过 MCP 客户端连接后,可以使用以下输入调用 get_git_merge_diff 工具:
commitHash(字符串):要生成差异的合并提交的 Git 提交哈希(SHA)。
该工具将以文本形式返回差异内容。
工作原理
- MCP 服务(
src/index.ts)接收对get_git_merge_diff工具的请求。 - 它会验证
commitHash输入。 - 它会执行
GenerateMergeDiff.ps1PowerShell 脚本,并传入commitHash。 - PowerShell 脚本运行
git show -m --first-parent <commitHash>,并将输出(包括任何错误)保存到服务当前工作目录中名为merge_changes.diff的临时文件。 - Node.js 服务读取
merge_changes.diff的内容。 - 服务删除临时文件
merge_changes.diff。 - 服务将差异内容(或错误消息)返回给 MCP 客户端。
配置
src/index.ts 中以常量形式定义了以下关键配置项:
SERVER_NAME:MCP 服务注册的名称。SCRIPT_NAME:要执行的 PowerShell 脚本的文件名。OUTPUT_DIFF_FILE:脚本创建的临时差异文件的名称。
许可证
本项目采用 MIT 许可证,详情请参阅 package.json 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。