Git MCP: три сервера и подключение к Claude Code, Codex и Cursor

modelcontextprotocol/servers· Проверено 12.11.2026· 91,9 тыс.на GitHub

Даёт агенту команды Git в локальном репозитории: статус, диффы, коммиты, ветки и слияния. Отдельный вариант GitMCP подтягивает документацию и код любого публичного проекта с GitHub.

3 реализации:

Эталонный сервер команды MCP на Python: 14 базовых команд, папку ограничивает флаг --repository, хуки и чужие драйверы репозитория не запускает.

Как подключить

Что сделать до подключения

1

uv с командой uvx; иначе pip install mcp-server-git или образ Docker mcp/git

2

Git 2.31 или новее

3

Имя и почта автора: user.name и user.email в Git или переменные GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL

Конфиг для вашего клиента

Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code

claude mcp add --transport stdio git \
  -- uvx mcp-server-git --repository '<путь к репозиторию>'

Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.

Инструменты сервера

git_statusпоказывает состояние рабочей копии
git_diff_unstagedпоказывает неиндексированные правки
git_diff_stagedпоказывает правки в индексе
git_diffсравнивает ветки и коммиты
git_addдобавляет файлы в индекс
git_commitделает коммит
git_resetснимает файлы с индекса
git_logчитает историю с фильтром дат
git_create_branchсоздаёт ветку
git_checkoutпереключает ветку
git_mergeсливает ветку в текущую
git_showпоказывает коммит или файл
git_branchперечисляет ветки
git_remoteпоказывает удалённые репозитории

Что попросить агента

«Посмотри, что я поменял, и закоммить с понятным сообщением»mcp-server-git вызовет git_status и git_diff_unstaged, добавит файлы через git_add и сделает git_commit
«Сравни ветку <имя ветки> с main и перечисли изменения»Агент вызовет git_diff с диапазоном main...<имя ветки> и разберёт дифф
«Какие коммиты были за последние 2 недели?»mcp-server-git вызовет git_log с start_timestamp «2 weeks ago»
«Перебазируй мою ветку на свежий main и отправь на сервер»git-mcp-server вызовет git_fetch, git_rebase и git_push
«Как пользоваться Playwright MCP? Документация: gitmcp.io/microsoft/playwright-mcp»GitMCP вызовет fetch_<repo-name>_documentation и search_<repo-name>_documentation и ответит по документации проекта

Для каких задач

Посмотреть, что изменилось в рабочей копии, и закоммитить нужные файлы
Сравнить две ветки или диапазон коммитов
Создать ветку, переключиться на неё и слить обратно
Найти в истории коммиты за период и показать файл на нужной ревизии
Отправить коммиты на сервер, перебазировать ветку или перенести отдельный коммит
Дать агенту свежую документацию библиотеки с GitHub, чтобы он писал код по ней

Ограничения

!

mcp-server-git без флага --repository читает и меняет любой репозиторий, до которого дотянется процесс; сам сервер в ранней разработке, набор команд может меняться

!

У mcp-server-git нет push, pull и clone: для работы с удалённым репозиторием нужен git-mcp-server

!

git-mcp-server по умолчанию подписывает коммиты GPG или SSH; если подпись не удалась, коммит уходит неподписанным

!

GitMCP видит только публичные репозитории GitHub и работает через облако gitmcp.io

Если не работает

Любой вызов mcp-server-git падает с ошибкой о версии Git
Серверу нужен Git 2.31 или новее: обновите Git.
Коммиты из Docker записаны на имя вроде app <app@3f2a1b9c8d7e>
В контейнере нет вашего .gitconfig: передайте GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME и GIT_COMMITTER_EMAIL через -e или смонтируйте .gitconfig в /home/app/.gitconfig.
На Linux сервер в Docker не может писать в репозиторий
Добавьте перед mcp/git аргументы --user с вашими id -u и id -g, например 1000:1000.

Какую реализацию выбрать

РеализацияКто делаетЗвёздыЗапускКлючИнструментыОбновлён
mcp-server-gitModel Context Protocol91,9 тыс.локальноне нужен1412 ноября 2026
git-mcp-servercyanheads245локальноне нужен2826 сентября 2026
GitMCPidosal8,5 тыс.HTTPне нужен48 мая 2026

Частые вопросы

Какой Git-сервер выбрать?
Для повседневной работы в одном репозитории хватит mcp-server-git: статус, диффы, коммиты, ветки и слияние. Если агент должен сам делать push, pull, rebase или stash, ставьте git-mcp-server. GitMCP нужен для другого: он отдаёт агенту документацию чужих проектов с GitHub.
Как не дать агенту трогать чужие репозитории?
У mcp-server-git укажите флаг --repository с путём к проекту: тогда вызовы вне этого репозитория отклоняются. У git-mcp-server ту же роль играет переменная GIT_BASE_DIR.
Чьё имя попадёт в коммит?
mcp-server-git берёт автора так же, как git commit: из переменных GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL или из user.name и user.email в настройках Git. Без них он подставит имя пользователя системы и хоста. git-mcp-server читает GIT_USERNAME и GIT_EMAIL, иначе глобальный конфиг Git.
Запустит ли сервер хуки репозитория?
mcp-server-git хуки не запускает: core.hooksPath указывает в пустоту, внешние диффы, фильтры и драйверы слияния из настроек самого репозитория отключены. Драйверы из вашего глобального конфига, например Git LFS, продолжают работать.
GitMCP платный?
Нет, сервис бесплатный, регистрации не требует и запросы агентов не хранит. Его можно развернуть у себя: код открыт.
Что такое GitMCP и чем он отличается от Git MCP?
GitMCP — облачный сервер по адресу gitmcp.io: он отдаёт агенту документацию и код публичного проекта с GitHub. С локальным репозиторием и командами Git он не работает, для этого нужны mcp-server-git или git-mcp-server.
Как подключить Git MCP к Claude Code?
Откройте вкладку Claude Code в блоке «Как подключить»: там команда для mcp-server-git с флагом --repository. Путь замените на папку своего проекта.
Работает ли сервер из России?
mcp-server-git и git-mcp-server работают на вашем компьютере без аккаунтов; GitMCP обращается к облаку gitmcp.io и регистрации не требует.

Похожие серверы