Integrations
Provides Git-related functionality, specifically a tool to generate the diff for a Git merge commit against its first parent by running 'git show -m --first-parent' on a specified commit hash.
Git-сервер вещей
Этот репозиторий содержит приложение Node.js, которое действует как сервер MCP (Model Context Protocol) для предоставления функций, связанных с Git. В настоящее время он предлагает инструмент для генерации diff для коммита слияния Git против его первого родителя.
Функции
- Сервер MCP: работает как стандартный сервер MCP, используя stdio для связи.
- Инструмент
get_git_merge_diff
:- Принимает хэш коммита слияния 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.
Установка
- Клонируйте репозиторий:Copy
- Установите зависимости:Copy
Использование
- Создайте код TypeScript:Это компилирует код TypeScript изCopy
src/
в JavaScript вbuild/
. - Запустите сервер:
- Чтобы запустить скомпилированный код:Copy
- Для сборки и запуска в режиме разработки:Copy
- Чтобы запустить скомпилированный код:
Сервер запустится и будет прослушивать запросы 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 .
You must be authenticated.
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 -1841TypeScript
- -securityAlicense-qualityA 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 -41JavaScriptApache 2.0
- AsecurityAlicenseAqualityMCP Tool Server for Gitee, supporting the management of repository files/branches, Issues, and Pull Requests.Last updated -20104TypeScriptMIT License
- AsecurityFlicenseAqualityMCP server for managing Git operations on local repositories, allowing users to list repositories, get and create tags, list commits, push tags, and refresh repositories through a standardized interface.Last updated -6Python