mcp-server-git: Git MCP сервер
Обзор
Сервер протокола Model Context Protocol для взаимодействия с репозиториями Git и автоматизации. Этот сервер предоставляет инструменты для чтения, поиска и манипулирования репозиториями Git с помощью больших языковых моделей.
Обратите внимание, что mcp-server-git в настоящее время находится на ранней стадии разработки. Функциональность и доступные инструменты могут изменяться и расширяться по мере того, как мы продолжаем разрабатывать и улучшать сервер.
Инструменты
git_statusПоказывает состояние рабочего дерева
Входные данные:
repo_path(строка): Путь к репозиторию Git
Возвращает: Текущее состояние рабочего каталога в виде текстового вывода
git_diff_unstagedПоказывает изменения в рабочем каталоге, которые еще не добавлены в индекс (staged)
Входные данные:
repo_path(строка): Путь к репозиторию Gitcontext_lines(число, необязательно): Количество строк контекста для отображения (по умолчанию: 3)
Возвращает: Вывод diff для незафиксированных изменений
git_diff_stagedПоказывает изменения, подготовленные для коммита
Входные данные:
repo_path(строка): Путь к репозиторию Gitcontext_lines(число, необязательно): Количество строк контекста для отображения (по умолчанию: 3)
Возвращает: Вывод diff для подготовленных изменений
git_diffПоказывает различия между ветками или коммитами
Входные данные:
repo_path(строка): Путь к репозиторию Gittarget(строка): Целевая ветка или коммит для сравненияcontext_lines(число, необязательно): Количество строк контекста для отображения (по умолчанию: 3)
Возвращает: Вывод diff, сравнивающий текущее состояние с целевым
git_commitЗаписывает изменения в репозиторий
Входные данные:
repo_path(строка): Путь к репозиторию Gitmessage(строка): Сообщение коммита
Возвращает: Подтверждение с хешем нового коммита
git_addДобавляет содержимое файлов в область подготовки (staging area)
Входные данные:
repo_path(строка): Путь к репозиторию Gitfiles(строка[]): Массив путей к файлам для добавления
Возвращает: Подтверждение добавления файлов
git_resetОтменяет подготовку всех изменений
Входные данные:
repo_path(строка): Путь к репозиторию Git
Возвращает: Подтверждение операции сброса
git_logПоказывает журналы коммитов с дополнительной фильтрацией по дате
Входные данные:
repo_path(строка): Путь к репозиторию Gitmax_count(число, необязательно): Максимальное количество отображаемых коммитов (по умолчанию: 10)start_timestamp(строка, необязательно): Начальная метка времени для фильтрации коммитов. Принимает формат ISO 8601 (например, '2024-01-15T14:30:25'), относительные даты (например, '2 weeks ago', 'yesterday') или абсолютные даты (например, '2024-01-15', 'Jan 15 2024')end_timestamp(строка, необязательно): Конечная метка времени для фильтрации коммитов. Принимает формат ISO 8601 (например, '2024-01-15T14:30:25'), относительные даты (например, '2 weeks ago', 'yesterday') или абсолютные даты (например, '2024-01-15', 'Jan 15 2024')
Возвращает: Массив записей коммитов с хешем, автором, датой и сообщением
git_create_branchСоздает новую ветку
Входные данные:
repo_path(строка): Путь к репозиторию Gitbranch_name(строка): Имя новой веткиbase_branch(строка, необязательно): Базовая ветка для создания (по умолчанию текущая ветка)
Возвращает: Подтверждение создания ветки
git_checkout
Переключает ветки
Входные данные:
repo_path(строка): Путь к репозиторию Gitbranch_name(строка): Имя ветки для переключения
Возвращает: Подтверждение переключения ветки
git_show
Показывает содержимое коммита
Входные данные:
repo_path(строка): Путь к репозиторию Gitrevision(строка): Ревизия (хеш коммита, имя ветки, тег) для отображения
Возвращает: Содержимое указанного коммита
git_branch
Список веток Git
Входные данные:
repo_path(строка): Путь к репозиторию Git.branch_type(строка): Список локальных веток ('local'), удаленных веток ('remote') или всех веток ('all').contains(строка, необязательно): SHA коммита, который должна содержать ветка. Не передавайте ничего в этот параметр, если SHA коммита не указан.not_contains(строка, необязательно): SHA коммита, который ветка НЕ должна содержать. Не передавайте ничего в этот параметр, если SHA коммита не указан.
Возвращает: Список веток
Related MCP server: GitLab MCP Server
Установка
Использование uv (рекомендуется)
При использовании uv специальная установка не требуется. Мы будем использовать uvx для прямого запуска mcp-server-git.
Использование PIP
Альтернативно вы можете установить mcp-server-git через pip:
pip install mcp-server-gitПосле установки вы можете запустить его как скрипт с помощью:
python -m mcp_server_gitКонфигурация
Использование с Claude Desktop
Добавьте это в ваш claude_desktop_config.json:
"mcpServers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}
}Примечание: замените '/Users/username' на путь, к которому вы хотите предоставить доступ этому инструменту
"mcpServers": {
"git": {
"command": "docker",
"args": ["run", "--rm", "-i", "--mount", "type=bind,src=/Users/username,dst=/Users/username", "mcp/git"]
}
}"mcpServers": {
"git": {
"command": "python",
"args": ["-m", "mcp_server_git", "--repository", "path/to/git/repo"]
}
}Использование с VS Code
Для быстрой установки используйте одну из кнопок установки в один клик ниже...
👁 Установить с помощью UV в VS Code
👁 Установить с помощью UV в VS Code Insiders
👁 Установить с помощью Docker в VS Code
👁 Установить с помощью Docker в VS Code Insiders
Для ручной установки вы можете настроить MCP сервер одним из этих способов:
Способ 1: Пользовательская конфигурация (рекомендуется)
Добавьте конфигурацию в ваш файл конфигурации MCP на уровне пользователя. Откройте палитру команд (Ctrl + Shift + P) и выполните MCP: Open User Configuration. Это откроет ваш файл mcp.json, куда вы можете добавить конфигурацию сервера.
Способ 2: Конфигурация рабочей области
Альтернативно вы можете добавить конфигурацию в файл .vscode/mcp.json в вашей рабочей области. Это позволит вам делиться конфигурацией с другими.
Для получения дополнительной информации о конфигурации MCP в VS Code см. официальную документацию MCP для VS Code.
{
"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:
"context_servers": [
"mcp-server-git": {
"command": {
"path": "uvx",
"args": ["mcp-server-git"]
}
}
],"context_servers": {
"mcp-server-git": {
"command": {
"path": "python",
"args": ["-m", "mcp_server_git"]
}
}
},Использование с Zencoder
Перейдите в меню Zencoder (...)
В выпадающем меню выберите
Agent ToolsНажмите
Add Custom MCPДобавьте имя (например, git) и конфигурацию сервера ниже, и обязательно нажмите кнопку
Install
{
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}Отладка
Вы можете использовать инспектор MCP для отладки сервера. Для установок через uvx:
npx @modelcontextprotocol/inspector uvx mcp-server-gitИли, если вы установили пакет в определенный каталог или разрабатываете его:
cd path/to/servers/src/git
npx @modelcontextprotocol/inspector uv run mcp-server-gitЗапуск tail -n 20 -f ~/Library/Logs/Claude/mcp*.log покажет журналы сервера и может помочь вам отладить любые проблемы.
Разработка
Если вы занимаетесь локальной разработкой, есть два способа протестировать ваши изменения:
Запустите инспектор MCP для тестирования изменений. См. Отладка для инструкций по запуску.
Протестируйте с помощью настольного приложения Claude. Добавьте следующее в ваш
claude_desktop_config.json:
Docker
{
"mcpServers": {
"git": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop",
"--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro",
"--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt",
"mcp/git"
]
}
}
}UVX
{
"mcpServers": {
"git": {
"command": "uv",
"args": [
"--directory",
"/<path to mcp-servers>/mcp-servers/src/git",
"run",
"mcp-server-git"
]
}
}
}Сборка
Сборка Docker:
cd src/git
docker build -t mcp/git .Лицензия
Этот MCP сервер лицензирован по лицензии MIT. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями лицензии MIT. Для получения дополнительной информации, пожалуйста, ознакомьтесь с файлом LICENSE в репозитории проекта.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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/modelcontextprotocol/git'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
