mcpField
G
Git Stuff Server

Git Stuff Server

本地服务
github.com/skurekjakub版本控制054 周前更新

关于 Git Stuff Server

Git Stuff Server 是一个 Node.js MCP 服务,用于获取 Git 合并提交相对于第一父提交的文本差异,适合通过单一工具检查合并变更。

主要功能

  1. 01生成合并提交差异
  2. 02对比第一父提交
  3. 03向客户端返回差异文本

适用场景

  1. 01审查合并引入的变更
  2. 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.ps1 PowerShell 脚本。
    • 返回由 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 访问。

安装

  1. 克隆仓库:
    git clone <your-repo-url>
    cd GitStuffServer
    
  2. 安装依赖:
    npm install
    

用法

  1. 构建 TypeScript 代码:

    npm run build
    

    这会将 src/ 中的 TypeScript 代码编译为 build/ 中的 JavaScript。

  2. 运行服务:

    • 运行已编译的代码:
      npm start
      
    • 在开发模式下构建并运行:
      npm run dev
      

服务启动后,将通过标准输入/输出监听 MCP 请求。

使用 get_git_merge_diff 工具

通过 MCP 客户端连接后,可以使用以下输入调用 get_git_merge_diff 工具:

  • commitHash(字符串):要生成差异的合并提交的 Git 提交哈希(SHA)。

该工具将以文本形式返回差异内容。

工作原理

  1. MCP 服务(src/index.ts)接收对 get_git_merge_diff 工具的请求。
  2. 它会验证 commitHash 输入。
  3. 它会执行 GenerateMergeDiff.ps1 PowerShell 脚本,并传入 commitHash。
  4. PowerShell 脚本运行 git show -m --first-parent <commitHash>,并将输出(包括任何错误)保存到服务当前工作目录中名为 merge_changes.diff 的临时文件。
  5. Node.js 服务读取 merge_changes.diff 的内容。
  6. 服务删除临时文件 merge_changes.diff。
  7. 服务将差异内容(或错误消息)返回给 MCP 客户端。

配置

src/index.ts 中以常量形式定义了以下关键配置项:

  • SERVER_NAME:MCP 服务注册的名称。
  • SCRIPT_NAME:要执行的 PowerShell 脚本的文件名。
  • OUTPUT_DIFF_FILE:脚本创建的临时差异文件的名称。

许可证

本项目采用 MIT 许可证,详情请参阅 package.json 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。