MCP-сервер · Разработка и DevOps
Git MCP Server
MCP-сервер из репозитория modelcontextprotocol/servers, который даёт агенту читать историю, диффы и ветки локального Git-репозитория и делать коммиты. Подходит для разбора кода и подготовки изменений без терминала.
Сверено 21 октября 2026 г.
Что умеет сервер
mcp-server-git живёт в репозитории modelcontextprotocol/servers и написан на Python. Он даёт агенту инструменты для работы с локальным Git-репозиторием: git_status, git_diff_unstaged, git_diff_staged и git_diff (сравнение с веткой или коммитом), git_log с фильтром по датам, git_show (коммит, файл или каталог на нужной ревизии) и git_branch со списком локальных, удалённых или всех веток.
Есть и записывающие операции: git_add, git_commit, git_reset (снимает всё из индекса), git_create_branch и git_checkout. Во время слияния коммит завершает его: родителями становятся HEAD и коммиты из MERGE_HEAD. Сервер говорит на протоколе MCP по stdio и понимает как клиентов версии 2026-07-28, так и 2025-11-25.
Когда использовать
Сервер пригодится, когда агент должен разобраться в истории проекта, не открывая терминал: подготовить описание изменений по диффу, найти коммит, в котором что-то появилось, сравнить две ветки или собрать выжимку лога за неделю. Для Claude Desktop, VS Code и Zed в README есть готовые конфигурации.
Если вы работаете в Claude Code, у агента и так есть оболочка с git, а сервер добавит мало. Для GitHub, GitLab и других платформ (issues, pull request) нужны отдельные серверы: в перечне инструментов этого сервера нет ни push, ни pull, ни работы с удалёнными репозиториями.
Ограничения и безопасность
В README сказано, что mcp-server-git пока находится на ранней стадии разработки, а набор инструментов может меняться. Для актуальной версии нужен MCP Python SDK 2.x.
Доступ ограничивается параметром --repository: он принимает любой путь внутри рабочего дерева Git, а при старте сервер поднимается до корня репозитория. Поэтому указанный подкаталог открывает весь репозиторий, а не только эту папку. Вызов с repo_path вне разрешённого репозитория завершается ошибкой, ошибки git и защита от подстановки флагов тоже возвращаются агенту текстом, чтобы он мог поправить запрос.
Агент может менять рабочее дерево и историю локального репозитория: git_checkout переключает ветки, git_commit создаёт коммиты. Если репозиторий важен, подключайте сервер к отдельной копии или клону, а в Docker-варианте монтируйте каталог только для чтения (флаг ro в примере монтирования).
Установка
Claude Desktop
Добавьте в claude_desktop_config.json один из вариантов. С uvx отдельной установки не нужно:
"mcpServers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}
}Через Docker (замените /Users/username на каталог, который должен быть доступен серверу):
"mcpServers": {
"git": {
"command": "docker",
"args": ["run", "--rm", "-i", "--mount", "type=bind,src=/Users/username,dst=/Users/username", "mcp/git"]
}
}Через установку по pip:
pip install mcp-server-git"mcpServers": {
"git": {
"command": "python",
"args": ["-m", "mcp_server_git", "--repository", "path/to/git/repo"]
}
}Образ для Docker собирается из каталога src/git репозитория:
cd src/git
docker build -t mcp/git .VS Code
Откройте палитру команд (Ctrl + Shift + P), выполните MCP: Open User Configuration или создайте .vscode/mcp.json в рабочей области и добавьте:
{
"servers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git"]
}
}
}Вариант с Docker:
{
"mcp": {
"servers": {
"git": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--mount", "type=bind,src=${workspaceFolder},dst=/workspace",
"mcp/git"
]
}
}
}
}Zed
Добавьте в settings.json Zed (вариант с установкой по pip):
"context_servers": {
"mcp-server-git": {
"command": {
"path": "python",
"args": ["-m", "mcp_server_git"]
}
}
},Проверка
Инспектор MCP помогает проверить сервер до подключения к клиенту:
npx @modelcontextprotocol/inspector uvx mcp-server-gitСовместимые клиенты
- Claude Desktop
- VS Code
- Zed
- Zencoder