Git-сервер вещей
Этот репозиторий содержит приложение Node.js, которое действует как сервер MCP (Model Context Protocol) для предоставления функций, связанных с Git. В настоящее время он предлагает инструмент для генерации diff для коммита слияния Git против его первого родителя.
Функции
Сервер MCP: работает как стандартный сервер MCP, используя stdio для связи.
Инструмент
Принимает хэш коммита слияния Git.
Выполняет скрипт PowerShell
GenerateMergeDiff.ps1
.Возвращает текстовое содержимое различий, сгенерированное командой
git show -m --first-parent <commitHash>
.
Предпосылки
Node.js (версия, поддерживающая модули ES, проверьте
engines
в package.json , если они указаны, в противном случае проверьте цель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Это компилирует код TypeScript из
src/
в JavaScript вbuild/
.Запустите сервер:
Чтобы запустить скомпилированный код:
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
.Он выполняет скрипт PowerShell
GenerateMergeDiff.ps1
, передавая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 .
local-only server
The server can only run on the client's local machine because it depends on local resources.
Сервер MCP, предоставляющий функции, связанные с Git, в первую очередь инструмент для создания различий для коммитов слияния Git с их первым родителем.
Related MCP Servers
- AsecurityFlicenseAqualityMCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.Last updated -1804
- AsecurityAlicenseAqualityA specialized MCP server for in-depth analysis of git repositories, offering tools for branch overview, time period analysis, file changes, and merge recommendations.Last updated -42Apache 2.0
- AsecurityFlicenseAqualityThe Git MCP Server allows AI assistants to perform enhanced Git operations via the Model Context Protocol, supporting core Git functions, branch and tag management, GitHub integration, and more.Last updated -21396