Git内容服务器
此存储库包含一个Node.js应用程序,该应用程序充当MCP(模型上下文协议)服务器,提供Git相关功能。目前,它提供了一个工具来生成Git合并提交对其第一个父级的差异。
特性
- MCP服务器: 作为标准MCP服务器运行,使用stdio进行通信。
get_git_merge_diff工具:
- 接受Git合并提交哈希。 - 执行 GenerateMergeDiff.ps1 PowerShell脚本。 - 返回由生成的文本差异内容 git show -m --first-parent .
先决条件
- (支持ES模块的版本,请检查
engines在……里面 如果指定,否则请检查tsconfig.json目标-ES2022) - (通常随Node.js一起提供)
- Git 已安装并可在系统的PATH中访问。
- PowerShell (Windows)或
pwsh(Linux/macOS)已安装并可在系统的PATH中访问。
安装
- 克隆存储库:
git clone
cd GitStuffServer- 安装依赖项:
npm install用法
- 构建TypeScript代码:
npm run build这将编译以下TypeScript代码 src/ JavaScript在 build/.
- 运行服务器:
- 要运行编译后的代码:
npm start- 要在开发模式下构建和运行:
npm run dev服务器将启动并监听标准输入/输出上的MCP请求。
使用 get_git_merge_diff 工具
当通过MCP客户端连接时,您可以调用 get_git_merge_diff 工具具有以下输入:
commitHash(string):您要区分的合并提交的Git提交哈希(SHA)。
该工具将以文本形式返回差异内容。
原理
- MCP服务器(
src/index.ts)收到请求get_git_merge_diff工具。 - 它验证了
commitHash输入。 - 它执行
GenerateMergeDiff.ps1PowerShell脚本,传递commitHash. - PowerShell脚本正在运行
git show -m --first-parent并将输出(包括任何错误)保存到名为的临时文件中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许可证获得许可-请参阅 文件以获取详细信息。

