# Git MCP (mcp-server-git): запуск и 12 инструментов

> Git - эталонный MCP-сервер mcp-server-git: 12 инструментов для чтения и изменения локального репозитория, команда запуска, только stdio, четыре исправленные уязвимости

Страница: https://mcpdoc.ru/servers/git/
Указатель сайта: https://mcpdoc.ru/llms.txt

Git даёт модели 12 инструментов для работы с локальным репозиторием: состояние, различия, журнал, а также фиксация изменений, ветки и переключение между ними. Работает сервер только по stdio.

README называет его находящимся на ранней стадии разработки. В базе GitHub для пакета есть четыре записи об уязвимостях, все исправлены. Редакцию протокола сервер не заявляет.

сверено с первичными источниками 4 октября 2026

Сведения о сервере поддерживается эталонный сервер проекта MCP

- **Кто выпускает:** Проект Model Context Protocol

- **Сторона:** сам владелец продукта

- **Где работает:** локально

- **Пакет:** mcp-server-git (PyPI)

- **Версия:** 2026.8.18, 2026-08-18

- **Транспорты:** stdio

- **Редакция протокола:** не заявлена

- **Проверено:** 2026-10-04

- **Источник:** [github.com](https://github.com/modelcontextprotocol/servers/tree/main/src/git)

## Для чего он нужен

По [README сервера](https://github.com/modelcontextprotocol/servers/blob/5abed86c5317b833dd59907492d56c65981642aa/src/git/README.md), это сервер для работы с репозиториями Git: он даёт инструменты, чтобы читать репозиторий, искать в нём и изменять его.

Там же стоит оговорка (в пересказе): сервер находится на ранней стадии разработки, его возможности и набор инструментов могут меняться.

Проект относит Git к эталонным реализациям. По [корневому README](https://github.com/modelcontextprotocol/servers/blob/5abed86c5317b833dd59907492d56c65981642aa/README.md), это учебные примеры, а не готовые решения для промышленной эксплуатации.

## Запуск

```json title="Настройка клиента: Git через uvx"
{
  "mcpServers": {
    "git": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "path/to/git/repo"]
    }
  }
}
```

Пример взят из документации выпуска 2026.8.18 и здесь не запускался.

Ключ `--repository` (короткая форма `-r`) задаёт репозиторий, с которым серверу разрешено работать. Второй способ из README - установка через pip и запуск `python -m mcp_server_git`.

Сервер работает с локальной копией, поэтому ему неважно, где лежит удалённый репозиторий: на GitHub или в [SourceCraft](https://mcpdoc.ru/go/sourcecraft/), его аналоге от Яндекса.

## Инструменты

Имена сверены с [файлом `server.py`](https://github.com/modelcontextprotocol/servers/blob/5abed86c5317b833dd59907492d56c65981642aa/src/git/src/mcp_server_git/server.py) и с опубликованным пакетом 2026.8.18: набор совпадает, README перечисляет те же двенадцать. Описания - по README.

| Инструмент | Что делает | Изменяет репозиторий |
|---|---|---|
| `git_status` | состояние рабочего каталога | нет |
| `git_diff_unstaged` | изменения, ещё не добавленные в индекс | нет |
| `git_diff_staged` | изменения, добавленные в индекс | нет |
| `git_diff` | различия с указанной веткой или фиксацией | нет |
| `git_log` | журнал фиксаций; можно ограничить числом и датами | нет |
| `git_show` | содержимое фиксации | нет |
| `git_branch` | список веток: локальных, удалённых или всех | нет |
| `git_add` | добавляет файлы в индекс | да |
| `git_reset` | убирает из индекса все добавленные изменения | да |
| `git_commit` | записывает фиксацию с сообщением | да |
| `git_create_branch` | создаёт ветку | да |
| `git_checkout` | переключает ветку | да |

Каждый инструмент принимает `repo_path` - путь к репозиторию.

Столбец «Изменяет репозиторий» - разметка этого сайта по описаниям из README. Аннотаций инструментов README не описывает.

Ресурсов и промптов сервер не объявляет.

В старых описаниях встречается инструмент `git_init`. В исходном коде и в README сейчас его нет. С ним связана одна из уязвимостей ниже.

## Транспорт и Roots

Только stdio: в исходном коде используется одна точка входа `stdio_server()`.

Если клиент объявил возможность Roots, сервер запрашивает у него список корневых каталогов - это видно в том же файле `server.py`.

## Безопасность

### Исправленные уязвимости

Все четыре записи взяты из базы советов по безопасности GitHub, уровень у всех «средний».

| Номер | Суть | Затронуты версии | Исправлено в |
|---|---|---|---|
| [CVE-2025-68143](https://github.com/advisories/GHSA-5cgr-j3jf-jw3v) | инструмент `git_init` без ограничений позволял создать репозиторий в любом месте файловой системы | ниже `2025.9.25` | `2025.9.25` |
| [CVE-2025-68144](https://github.com/advisories/GHSA-9xwc-hfwc-8w59) | подстановка аргументов в `git_diff` и `git_checkout` позволяла перезаписать локальные файлы | ниже `2025.12.18` | `2025.12.18` |
| [CVE-2025-68145](https://github.com/advisories/GHSA-j22h-9j4x-23w5) | при запуске с ключом `--repository` путь не проверялся | ниже `2025.12.18` | `2025.12.18` |
| [CVE-2026-27735](https://github.com/advisories/GHSA-vjqx-cfc4-9h6v) | обход пути в `git_add` позволял добавить в индекс файлы за пределами репозитория | ниже `2026.1.14` | `2026.1.14` |

Первые три записи опубликованы 17 декабря 2025 года, четвёртая - 26 февраля 2026 года. Опубликованная версия 2026.8.18 новее всех исправлений.

В README сервера об этих уязвимостях ничего не сказано. Если сервер у вас закреплён на старом номере версии, сверьте его с таблицей.

### Что делает сам сервер

В коде есть функция `validate_repo_path`: она проверяет, что переданный путь лежит внутри разрешённого репозитория. В нескольких обработчиках отклоняются аргументы, которые начинаются с дефиса.

### Что остаётся за вами

Пять инструментов изменяют репозиторий. Модель может записать фиксацию или переключить ветку без вашего участия, если клиент не спрашивает подтверждения на каждый вызов. Как настроено подтверждение - свойство клиента, а не сервера.

## Редакция протокола

Сервер не заявляет, по какой редакции протокола он работает: ни README, ни исходный код её не называют.

README опубликованного пакета сообщает о зависимости: нужен MCP Python SDK 1.x (`mcp>=1.29.0,<2`), а перенос на SDK 2.0 ещё идёт. Это факт о пакете. Вывода о редакции протокола из него этот сайт не делает.

## Что читать дальше

- [Эталонные серверы](https://mcpdoc.ru/servers/overview/) - все семь серверов.
- [Инциденты](https://mcpdoc.ru/security/incidents/) - разбор известных уязвимостей в серверах и клиентах.
- [Filesystem](https://mcpdoc.ru/servers/filesystem/) - соседний сервер с той же задачей ограничения пути.
- [Как выбрать и проверить сервер](https://mcpdoc.ru/servers/choose/) - порядок проверки перед подключением.
