Git MCP-сервер
Сервер MCP (Model Context Protocol), предоставляющий инструменты для взаимодействия с репозиториями Git. Позволяет LLM и агентам ИИ выполнять операции Git, такие как клонирование, фиксация, отправка, извлечение, ветвь, сравнение, журналирование, статус и многое другое через стандарт MCP.
Этот сервер, созданный на основе cyanheads/mcp-ts-template , имеет модульную архитектуру:
Примечание разработчика : этот репозиторий включает файл .clinerules , который служит шпаргалкой разработчика для вашего агента кодирования LLM с кратким справочником по шаблонам кодовой базы, расположению файлов и фрагментам кода.
Оглавление
| Обзор | Особенности | Установка |
| Конфигурация | Структура проекта |
| Инструменты | Ресурсы | Разработка | Лицензия |
Related MCP server: GitHub MCP Server
Обзор
Расширьте возможности своих ИИ-агентов и инструментов разработки с помощью бесшовной интеграции с Git!
Сервер Git MCP выступает в качестве моста, позволяя приложениям (клиентам MCP), которые понимают протокол контекста модели (MCP), например, продвинутым помощникам на основе искусственного интеллекта (LLM), расширениям IDE или пользовательским скриптам, напрямую и безопасно взаимодействовать с локальными репозиториями Git.
Вместо сложных сценариев или ручного CLI ваши инструменты могут использовать этот сервер для:
Автоматизируйте рабочие процессы Git : клонируйте репозитории, создавайте ветки, подготавливайте изменения, фиксируйте работу, отправляйте обновления и управляйте тегами программным способом.
Получайте информацию о репозитории : проверяйте статус, просматривайте журналы, сравнивайте изменения и проверяйте объекты Git, не покидая хост-приложения.
Интегрируйте Git в разработку на основе ИИ : предоставьте возможность магистрам права управлять версиями в рамках своих задач по кодированию или рефакторингу.
Этот сервер, построенный на надежном mcp-ts-template , обеспечивает стандартизированный, безопасный и эффективный способ раскрытия функциональности Git через стандарт MCP. Он достигает этого путем безопасного выполнения стандартного инструмента командной строки git , установленного в системе, с использованием модуля child_process Node.js, что обеспечивает совместимость и использование всей мощи Git.
Функции
Основные утилиты (из шаблона)
Использует надежные утилиты, предоставляемые mcp-ts-template :
Ведение журнала : структурированное, настраиваемое ведение журнала (ротация файлов, консоль, уведомления MCP) с редактированием конфиденциальных данных.
Обработка ошибок : централизованная обработка ошибок, стандартизированные типы ошибок (
McpError) и автоматическое ведение журнала.Конфигурация : загрузка переменных среды (
dotenv).Проверка/очистка входных данных : использует
zodдля проверки схемы и пользовательской логики очистки (важно для путей).Контекст запроса : отслеживание и корреляция операций с помощью уникальных идентификаторов запросов.
Безопасность типов : строгая типизация, обеспечиваемая схемами TypeScript и Zod.
Вариант HTTP-транспорта : встроенный сервер Express с SSE, управлением сеансами и поддержкой CORS.
Операции Git
Прямое выполнение Git CLI : взаимодействует с Git, безопасно выполняя стандартный инструмент командной строки
gitчерезchild_processNode.js, обеспечивая полную совместимость и доступ к функциям Git.Комплексное покрытие команд : предоставляет широкий спектр команд Git в качестве инструментов MCP (см. раздел «Инструменты» ).
Взаимодействие с репозиторием : поддерживает проверку состояния, ветвление, подготовку, фиксацию, извлечение, вытягивание, отправку, сравнение, регистрацию, сброс, тегирование и многое другое.
Управление рабочим каталогом : позволяет устанавливать и очищать рабочий каталог для конкретного сеанса для сохранения контекста между несколькими операциями Git.
Функции безопасности : Включает проверки и требует явного подтверждения для потенциально разрушительных операций, таких как
git cleanиgit reset --hard.Подписание коммитов : поддерживает подпись GPG или SSH для проверенных коммитов, управляется через переменную среды
GIT_SIGN_COMMITSи конфигурацию Git на стороне сервера. Включает необязательный параметр инструмента для возврата к неподписанным коммитам при сбое подписи.
Установка
Предпосылки
Установить через npm
Установите пакет глобально:
npm install @cyanheads/git-mcp-server
Установить из источника
Клонируйте репозиторий:
git clone https://github.com/cyanheads/git-mcp-server.git cd git-mcp-serverУстановить зависимости:
npm installСоздайте проект:
npm run build (or `npm run rebuild`)Это компилирует код TypeScript в JavaScript в каталоге
dist/и делает точку входа исполняемой.
Конфигурация
Переменные среды
Настройте сервер с помощью переменных окружения. Создайте файл .env в корне проекта (скопируйте из .env.example ) или задайте их в своем окружении.
Переменная | Описание | По умолчанию |
| Механизм транспортировки: |
|
| Порт для HTTP-сервера (если |
|
| Адрес хоста для HTTP-сервера (если |
|
| Список разрешенных источников для CORS, разделенных запятыми (если | (никто) |
| Уровень ведения журнала ( |
|
| Установите значение |
|
| Секретный ключ для подписи/проверки токенов аутентификации (требуется, если аутентификация будет включена в будущем). |
|
Настройки клиента MCP
Добавьте в настройки клиента MCP (например, cline_mcp_settings.json ):
Структура проекта
Кодовая база имеет модульную структуру в каталоге src/ :
Для получения подробного дерева файлов выполните команду npm run tree или посетите docs/tree.md .
Инструменты
Сервер Git MCP предоставляет набор инструментов для взаимодействия с репозиториями Git, вызываемых через протокол контекста модели.
Название инструмента | Описание | Ключевые аргументы |
| Этапы определяют файлы или шаблоны. |
|
| Управляет ветвями (список, создание, удаление, переименование, показ текущих). |
|
| Переключает ветви или восстанавливает рабочие файлы дерева. |
|
| Применяет изменения, внесенные существующими коммитами. |
|
| Удаляет неотслеживаемые файлы. Требуется . |
|
| Очищает рабочий каталог сеанса. | (никто) |
| Клонирует репозиторий по указанному абсолютному пути. |
|
| Фиксирует поэтапные изменения. Поддерживает переопределение автора, контроль подписи. |
|
| Показывает изменения между коммитами, рабочим деревом и т. д. |
|
| Загружает объекты и ссылки из других репозиториев. |
|
| Инициализирует новый репозиторий Git по указанному абсолютному пути. По умолчанию — «main» для начальной ветки. |
|
| Показывает журналы коммитов. |
|
| Объединяет указанную ветвь с текущей ветвью. |
|
| Извлекает данные из другого репозитория или локальной ветки и интегрируется с ними. |
|
| Обновляет удаленные ссылки, используя локальные ссылки. |
|
| Повторно применяет коммиты поверх другого базового наконечника. |
|
| Управляет удаленными репозиториями (список, добавление, удаление, отображение). |
|
| Сбрасывает текущий HEAD в указанное состояние. Поддерживает мягкий, смешанный, жесткий режимы. ИСПОЛЬЗУЙТЕ 'hard' С ОСТОРОЖНОСТЬЮ . |
|
| Устанавливает рабочий каталог по умолчанию. Может опционально инициализировать репозиторий, если он отсутствует. Требуется абсолютный путь. |
|
| Показывает информацию об объектах Git (коммитах, тегах и т. д.). |
|
| Управляет сохраненными изменениями (список, применение, извлечение, удаление, сохранение). |
|
| Получает статус репозитория (ветвь, подготовленный, измененный, неотслеживаемые файлы). |
|
| Управляет тегами (список, создание аннотированных/облегченных, удаление). |
|
| Управляет рабочими деревьями Git (перечисление, добавление, удаление, перемещение, обрезка). |
|
Примечание: Параметр
Ресурсы
Ресурсы MCP не реализованы в этой версии (v2.0.12).
Эта версия фокусируется на переработанной реализации инструментов Git на основе новейшего mcp-ts-template и MCP SDK v1.12.0. Возможности ресурсов, доступные ранее, были временно удалены во время этого крупного обновления.
Если вам требуется доступ к ресурсам MCP (например, для чтения содержимого файла непосредственно через сервер), используйте стабильную версию v1.2.4 .
В будущем в последующих версиях могут быть вновь введены возможности ресурсов.
Примечание: Эта версия (v2.0.0) фокусируется на рефакторинге и обновлении основных инструментов Git на основе новейшего MCP SDK. Возможности MCP Resource не реализованы в этой версии. Для доступа к ресурсам используйте v1.2.4 .
Разработка
Сборка и тестирование
Лицензия
Данный проект лицензирован в соответствии с лицензией Apache License 2.0 — подробности см. в файле LICENSE .