Skip to main content
Glama
modelcontextprotocol

git MCP server

Official

mcp-server-git: Git MCP сервер

Обзор

Сервер протокола Model Context Protocol для взаимодействия с репозиториями Git и автоматизации. Этот сервер предоставляет инструменты для чтения, поиска и манипулирования репозиториями Git с помощью больших языковых моделей.

Обратите внимание, что mcp-server-git в настоящее время находится на ранней стадии разработки. Функциональность и доступные инструменты могут изменяться и расширяться по мере того, как мы продолжаем разрабатывать и улучшать сервер.

Инструменты

  1. git_status

    • Показывает состояние рабочего дерева

    • Входные данные:

      • repo_path (строка): Путь к репозиторию Git

    • Возвращает: Текущее состояние рабочего каталога в виде текстового вывода

  2. git_diff_unstaged

    • Показывает изменения в рабочем каталоге, которые еще не добавлены в индекс (staged)

    • Входные данные:

      • repo_path (строка): Путь к репозиторию Git

      • context_lines (число, необязательно): Количество строк контекста для отображения (по умолчанию: 3)

    • Возвращает: Вывод diff для незафиксированных изменений

  3. git_diff_staged

    • Показывает изменения, подготовленные для коммита

    • Входные данные:

      • repo_path (строка): Путь к репозиторию Git

      • context_lines (число, необязательно): Количество строк контекста для отображения (по умолчанию: 3)

    • Возвращает: Вывод diff для подготовленных изменений

  4. git_diff

    • Показывает различия между ветками или коммитами

    • Входные данные:

      • repo_path (строка): Путь к репозиторию Git

      • target (строка): Целевая ветка или коммит для сравнения

      • context_lines (число, необязательно): Количество строк контекста для отображения (по умолчанию: 3)

    • Возвращает: Вывод diff, сравнивающий текущее состояние с целевым

  5. git_commit

    • Записывает изменения в репозиторий

    • Входные данные:

      • repo_path (строка): Путь к репозиторию Git

      • message (строка): Сообщение коммита

    • Возвращает: Подтверждение с хешем нового коммита

  6. git_add

    • Добавляет содержимое файлов в область подготовки (staging area)

    • Входные данные:

      • repo_path (строка): Путь к репозиторию Git

      • files (строка[]): Массив путей к файлам для добавления

    • Возвращает: Подтверждение добавления файлов

  7. git_reset

    • Отменяет подготовку всех изменений

    • Входные данные:

      • repo_path (строка): Путь к репозиторию Git

    • Возвращает: Подтверждение операции сброса

  8. git_log

    • Показывает журналы коммитов с дополнительной фильтрацией по дате

    • Входные данные:

      • repo_path (строка): Путь к репозиторию Git

      • max_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')

    • Возвращает: Массив записей коммитов с хешем, автором, датой и сообщением

  9. git_create_branch

    • Создает новую ветку

    • Входные данные:

      • repo_path (строка): Путь к репозиторию Git

      • branch_name (строка): Имя новой ветки

      • base_branch (строка, необязательно): Базовая ветка для создания (по умолчанию текущая ветка)

    • Возвращает: Подтверждение создания ветки

  10. git_checkout

  • Переключает ветки

  • Входные данные:

    • repo_path (строка): Путь к репозиторию Git

    • branch_name (строка): Имя ветки для переключения

  • Возвращает: Подтверждение переключения ветки

  1. git_show

  • Показывает содержимое коммита

  • Входные данные:

    • repo_path (строка): Путь к репозиторию Git

    • revision (строка): Ревизия (хеш коммита, имя ветки, тег) для отображения

  • Возвращает: Содержимое указанного коммита

  1. git_branch

  • Список веток Git

  • Входные данные:

    • repo_path (строка): Путь к репозиторию Git.

    • branch_type (строка): Список локальных веток ('local'), удаленных веток ('remote') или всех веток ('all').

    • contains (строка, необязательно): SHA коммита, который должна содержать ветка. Не передавайте ничего в этот параметр, если SHA коммита не указан.

    • not_contains (строка, необязательно): SHA коммита, который ветка НЕ должна содержать. Не передавайте ничего в этот параметр, если SHA коммита не указан.

  • Возвращает: Список веток

Related MCP server: GitHub Tools 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

  1. Перейдите в меню Zencoder (...)

  2. В выпадающем меню выберите Agent Tools

  3. Нажмите Add Custom MCP

  4. Добавьте имя (например, 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 покажет журналы сервера и может помочь вам отладить любые проблемы.

Разработка

Если вы занимаетесь локальной разработкой, есть два способа протестировать ваши изменения:

  1. Запустите инспектор MCP для тестирования изменений. См. Отладка для инструкций по запуску.

  2. Протестируйте с помощью настольного приложения 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 в репозитории проекта.

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
17dResponse time
7wRelease cycle
8Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server that enables Large Language Models to interact with Git repositories through a robust API, supporting operations like repository initialization, cloning, file staging, committing, and branch management.
    Last updated
    28
    4,730
    229
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables LLMs to interact with Git repositories, providing tools to read, search, and manipulate Git repositories through commands like status, diff, commit, and branch management.
    Last updated
    12
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    A Model Context Protocol server that enables LLMs to interact with Git repositories, providing tools to read, search, and manipulate Git repositories through commands like status, diff, commit, and branch operations.
    Last updated
    22
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • A Model Context Protocol server for Wix AI tools

View all MCP Connectors

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