Skip to main content
Glama

Git Stuff 服务器

此仓库包含一个 Node.js 应用程序,它充当 MCP(模型上下文协议)服务器,提供与 Git 相关的功能。目前,它提供了一个工具,用于生成 Git 合并提交与其第一个父提交的 diff。

特征

  • **MCP 服务器:**作为标准 MCP 服务器运行,使用 stdio 进行通信。

  • get_git_merge_diff

    • 接受 Git 合并提交哈希。

    • 执行GenerateMergeDiff.ps1 PowerShell 脚本。

    • 返回由git show -m --first-parent <commitHash>生成的文本差异内容。

Related MCP server: GitHub MCP Server Plus

先决条件

  • Node.js (支持 ES 模块的版本,如果指定,请检查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. 服务器将 diff 内容(或错误消息)返回给 MCP 客户端。

配置

关键配置点在src/index.ts中定义为常量:

  • SERVER_NAME :MCP 服务器注册的名称。

  • SCRIPT_NAME :要执行的 PowerShell 脚本的文件名。

  • OUTPUT_DIFF_FILE :脚本创建的临时差异文件的名称。

执照

该项目采用 MIT 许可证 - 有关详细信息,请参阅package.json文件。

Deploy Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/skurekjakub/GitStuffServer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server