MCP-сервер для GitHub: код, issues и pull request
Как подключить официальный GitHub MCP Server к локальному ИИ-агенту, дать ему доступ к коду и issues и не выдать лишних прав.
Обычно работа с GitHub и нейросетью начинается с копипаста: принести в чат кусок кода, затем текст issue, потом замечание из pull request. Контекст расползается, а через полчаса уже непонятно, какая версия файла обсуждается. GitHub MCP Server убирает этот перенос вручную: агент сам читает репозиторий и связанные с ним задачи.
Что умеет GitHub MCP Server
Официальный сервер GitHub даёт агенту инструменты для работы с репозиториями, issues, pull request и пользователями. По умолчанию доступны основные наборы инструментов; дополнительные можно включить отдельно.
На практике это выглядит так:
- «Найди issue про медленный запуск и покажи код, к которому он относится».
- «Собери изменения из открытых pull request за неделю».
- «Сравни эту ветку с
mainи перечисли места, которые стоит проверить». - «Подготовь черновик issue по ошибке из лога».
Разница с обычным чатом простая: агент получает актуальные данные из GitHub, а не работает с фрагментом, который ему однажды вставили.
Что понадобится
Нужны официальный GitHub MCP Server, Docker и токен GitHub. Лучше создать отдельный fine-grained personal access token и разрешить ему только нужные репозитории. Если агент должен лишь разбирать код и задачи, прав на запись не требуется.
Начни с режима только для чтения. Право создать issue или изменить pull request можно добавить позже, когда станет понятно, какие действия действительно нужны.
Как подключить сервер к Доке
В Доке открой правую панель → «MCP-серверы» → «+ Добавить сервер» и заполни поля так:
- Название:
GitHub. - Команда:
docker. - Аргументы, каждый с новой строки:
run,-i,--rm,-e,GITHUB_PERSONAL_ACCESS_TOKEN,-e,GITHUB_READ_ONLY,ghcr.io/github/github-mcp-server. - Переменные окружения:
GITHUB_PERSONAL_ACCESS_TOKEN=твой_токениGITHUB_READ_ONLY=1.
Сохрани сервер и начни новую задачу. Для проверки попроси агента перечислить открытые issues в конкретном репозитории. Если список появился, подключение работает.
Docker здесь нужен только как удобный способ запустить официальный сервер. Можно собрать бинарник из исходников и указать его путь в поле «Команда», но для первого запуска контейнер проще и одинаково работает на Windows и macOS.
Где заканчивается локальность
Сам MCP-сервер запускается на твоём компьютере, и модель в Доке тоже может быть локальной. Но репозитории остаются на GitHub: сервер обращается к API GitHub по сети. Такая схема не отправляет код дополнительному провайдеру модели, однако не превращает GitHub в локальное хранилище.
Для закрытого проекта проверь три вещи: к каким репозиториям привязан токен, какие у него права и какая модель активна. Токен не стоит вставлять в текст задачи или хранить в файле проекта — для него есть поле переменных окружения.
Полезные запросы для старта
Не начинай с расплывчатого «посмотри репозиторий». Дай агенту границы:
- «Прочитай issue №42 и найди связанные участки кода. Ничего не меняй».
- «Сравни открытые PR, но учитывай только изменения в
server/». - «Подготовь план исправления и дождись подтверждения перед правками».
Так результат проще проверить, а агент не тратит контекст на весь репозиторий сразу. Общий принцип MCP разобран простыми словами, а остальные варианты подключения собраны в статье про полезные MCP-серверы.