Skip to main content
Glama

Git-сервер вещей

Этот репозиторий содержит приложение Node.js, которое действует как сервер MCP (Model Context Protocol) для предоставления функций, связанных с Git. В настоящее время он предлагает инструмент для генерации diff для коммита слияния Git против его первого родителя.

Функции

  • Сервер MCP: работает как стандартный сервер MCP, используя stdio для связи.

  • Инструмент

    • Принимает хэш коммита слияния Git.

    • Выполняет скрипт PowerShell GenerateMergeDiff.ps1 .

    • Возвращает текстовое содержимое различий, сгенерированное командой git show -m --first-parent <commitHash> .

Related MCP server: Git Forensics MCP

Предпосылки

  • Node.js (версия, поддерживающая модули ES, проверьте engines в package.json , если они указаны, в противном случае проверьте цель 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

    Это компилирует код TypeScript из src/ в JavaScript в build/ .

  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. Он выполняет скрипт PowerShell GenerateMergeDiff.ps1 , передавая 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 .

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

Latest Blog Posts

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