GitHub MCP Server — официально поддерживаемый GitHub Model Context Protocol сервер, который позволяет AI-хостам вроде Cursor, Claude Desktop, VS Code Copilot вызывать GitHub REST / GraphQL API через стандартизированные инструменты — просматривать репозитории, читать Issue, открывать PR, искать код, не копируя вывод команд gh в чат снова и снова.
В этой статье по порядку «сначала выбор способа развёртывания, затем настройка окружения, в конце подключение IDE» рассмотрены три пути установки для Windows, Linux и macOS, а также готовые к копированию фрагменты конфигурации и чеклист по устранению неполадок.
С апреля 2025 года ранний npm-пакет сообщества
@modelcontextprotocol/server-githubустарел; единственный официально поддерживаемый локальный образ сейчас —ghcr.io/github/github-mcp-server, удалённая конечная точка —https://api.githubcopilot.com/mcp/.
Как выбрать способ развёртывания
Перед установкой ПО сверьтесь с таблицей ниже и определите, какой путь вам подходит:
| Способ | Нужен ли локальный процесс | Подходит для | Требования к платформе |
|---|---|---|---|
| Удалённый хостинг | Нет (прямое HTTP-подключение) | Не хотите запускать Docker на машине, есть доступ к GitHub | Любая (хост должен поддерживать Streamable HTTP) |
| Локальный Docker | Да (контейнер stdio) | Предпочтительный вариант для большинства: единая версия, простое обновление | Win / Linux / macOS — нужен Docker |
| Сборка из исходников Go | Да (нативный бинарник) | Нет Docker, нужна настройка toolset или корпоративная сеть | На всех трёх платформах можно go build |
Для всех трёх способов логика аутентификации одинакова: либо настраивается Personal Access Token (PAT), либо в локальном режиме Docker / бинарника используется OAuth-вход через браузер (токен хранится только в памяти, на диск не записывается).
Общая подготовка
Независимо от выбранного пути рекомендуется выполнить четыре шага:
-
Создать GitHub PAT
Откройте страницу создания Fine-grained PAT и отметьте нужные разрешения. Для чтения репозиториев обычно достаточноContents: Read,Metadata: Read; для создания PR / Issue добавьте права на запись. -
Проверить версию хоста
- Cursor: удалённый Streamable HTTP поддерживается с v0.48.0+
- Claude Desktop / VS Code: см. документацию MCP для каждого продукта -
(Схема с локальным Docker) Установить и запустить Docker
- Windows / macOS: Docker Desktop
- Linux: Docker Engine + добавление текущего пользователя в группуdocker -
Предварительно скачать образ (необязательно, но рекомендуется)
docker pull ghcr.io/github/github-mcp-server
Если при скачивании появляется unauthorized, выполните docker logout ghcr.io и повторите попытку — иногда мешает устаревшая сессия входа в ghcr.
Способ 1: удалённый хостинг (самый простой)
GitHub предоставляет управляемую MCP-конечную точку по адресу https://api.githubcopilot.com/mcp/ — Docker на машине не нужен. Подходит для Linux-серверов, лёгких сред Windows или когда политика компании запрещает контейнеры.
Пример конфигурации Cursor
Отредактируйте глобальный конфиг ~/.cursor/mcp.json (в Windows путь %USERPROFILE%\.cursor\mcp.json):
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_GITHUB_PAT"
}
}
}
}
Замените YOUR_GITHUB_PAT на реальный токен, сохраните и полностью перезапустите Cursor. В Settings → Tools & Integrations → MCP Tools должен появиться зелёный индикатор онлайн; в Composer спросите «перечисли мои репозитории GitHub» для проверки.
Важные замечания
- В удалённом режиме в основном используется аутентификация по PAT; поддержка OAuth у части хостов ещё дорабатывается.
- Корпоративный прокси / файрвол должен пропускать исходящий HTTPS к
api.githubcopilot.com. - Не добавляйте PAT в репозиторий; при проектном
.cursor/mcp.jsonвключите его в.gitignore.
Способ 2: локальное развёртывание в Docker (рекомендуется официально)
Схема Docker общается с хостом через stdio: хост запускает docker run -i ..., процесс в контейнере читает и пишет стандартный ввод/вывод. Это команда по умолчанию за кнопкой быстрой установки в Claude Desktop, Windsurf и Cursor.
Установка на macOS
- Установите Docker Desktop for Mac (для Apple Silicon — версию ARM64).
- В строке меню значок кита должен показывать Running.
- Проверка в терминале:
docker run --rm ghcr.io/github/github-mcp-server --help
- Запишите в
~/.cursor/mcp.json:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT"
}
}
}
}
Установка на Linux
- Установите Docker Engine по дистрибутиву (пример Ubuntu:
sudo apt install docker.io). - Добавьте пользователя в группу docker, чтобы не вводить
sudoкаждый раз:
sudo usermod -aG docker "$USER"
newgrp docker
- Убедитесь, что демон Docker запущен:
sudo systemctl enable --now docker. - Конфигурация MCP полностью совпадает с macOS — путь
~/.cursor/mcp.jsonтот же.
На Linux-сервере без графического интерфейса, если не хотите хранить PAT в открытом виде в конфиге, можно передать его через переменную окружения:
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxx"
Затем в блоке env файла mcp.json укажите ту же переменную (часть хостов поддерживает синтаксис ${env:GITHUB_PERSONAL_ACCESS_TOKEN} — см. их документацию).
Установка на Windows
- Установите Docker Desktop for Windows.
- Рекомендуется бэкенд WSL 2 (Settings → General → Use WSL 2 based engine). - Убедитесь, что значок Docker Desktop в трее показывает работу.
- Путь к конфигу:
%USERPROFILE%\.cursor\mcp.json. - Содержимое JSON как на macOS;
commandпо-прежнемуdocker(Docker Desktop добавляет CLI в PATH).
Частая ловушка в Windows: в WSL docker может работать, но Cursor на Windows читает mcp.json со стороны Windows — не смешивайте конфиги. Если Cursor установлен в Windows, а проект в WSL, настраивайте MCP в каталоге пользователя Windows.
Вход через OAuth (без ручного ввода PAT)
Официальный образ содержит учётные данные OAuth-приложения. В режиме Docker нужно пробросить порт обратного вызова на loopback:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-p", "127.0.0.1:8085:8085",
"-e", "GITHUB_OAUTH_CALLBACK_PORT",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_OAUTH_CALLBACK_PORT": "8085"
}
}
}
}
При первом подключении откроется браузер для входа в GitHub; токен хранится в памяти и исчезает при остановке контейнера. На headless-сервере см. в официальной документации запасной сценарий device code.
Способ 3: сборка из исходников Go (без Docker)
Подходит, когда Docker установить нельзя или нужно ограничить toolset (открыть только часть возможностей API).
Общие шаги для всех платформ
Предварительно: установите Go 1.24+.
git clone https://github.com/github/github-mcp-server.git
cd github-mcp-server
go build -o github-mcp-server cmd/github-mcp-server/main.go
Имя бинарника можно выбрать своё; ниже используется ./github-mcp-server.
Запуск с PAT (режим stdio):
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxx"
./github-mcp-server stdio
Подключение локального бинарника в Cursor:
{
"mcpServers": {
"github": {
"command": "/绝对路径/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT"
}
}
}
}
| Платформа | Пример пути к бинарнику | Примечание |
|---|---|---|
| macOS | /Users/you/bin/github-mcp-server |
Можно chmod +x и положить в ~/bin |
| Linux | /home/you/.local/bin/github-mcp-server |
Долгоживущий процесс можно отдать user-сервису systemd |
| Windows | C:\\Tools\\github-mcp-server.exe |
В JSON обратные слэши пишутся как \\ |
Для обновления достаточно git pull && go build; ждать релиза Docker-образа не нужно.
Подключение других IDE и CLI
Имена ключей конфигурации зависят от хоста, но ядро команды Docker одинаково:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN \
ghcr.io/github/github-mcp-server
- Claude Desktop: блок
mcpServersвclaude_desktop_config.json, структура как у Cursor. - VS Code Copilot: поддерживаются удалённый и локальный режимы; локально тоже рекомендуется Docker-образ.
- Claude Code CLI: чаще выбирают лёгкий бинарник, чтобы снизить накладные расходы контейнера.
Полные примеры для каждого хоста — в каталоге docs/installation-guides/ официального репозитория.
Рекомендации по безопасности и эксплуатации
- PAT с минимальными правами: выдавайте разрешения под toolset, регулярно ротируйте.
- Права на конфиг:
chmod 600 ~/.cursor/mcp.json(Linux / macOS). - Режим только чтения: параметры запуска могут включить read-only, чтобы AI не менял репозиторий по ошибке.
- Корпоративный GitHub Enterprise Server: нужны собственные OAuth App / GitHub App, учётные данные github.com по умолчанию не подходят — см. официальный
docs/oauth-login.md.
Дополнения по различиям платформ
Пути и переменные окружения
~/.cursor/mcp.json- Глобальная конфигурация MCP в macOS и Linux; в Windows —
%USERPROFILE%\.cursor\mcp.json. GITHUB_PERSONAL_ACCESS_TOKEN- Имя переменной окружения для PAT в режиме Docker / бинарника; после установки имеет приоритет над OAuth.
GITHUB_OAUTH_CALLBACK_PORT- Порт прослушивания OAuth-обратного вызова в браузере; в Docker обычно фиксируют 8085.
Горячие клавиши и привычные приёмы
В Cursor Composer можно нажать Cmd+Shift+P (в Windows — Ctrl+Shift+P), открыть палитру команд и найти настройки MCP. Раньше некоторые запускали сервис одной строкой npx @modelcontextprotocol/server-github — этот способ устарел, используйте Docker или удалённую конечную точку из этой статьи.
В продакшене обязательно храните PAT в переменных окружения или менеджере секретов, не в файлах проекта, которые отслеживает git.
Чеклист проверки (перед публикацией)
- Зелёная точка на панели MCP
- В списке инструментов есть пункты с префиксом
github_* - Успешный вызов операции только для чтения (например, список репозиториев)
Где смотреть логи
Логи Cursor: Help → Toggle Developer Tools → Console, фильтр по ключевому слову MCP; путь к логам Claude Desktop зависит от платформы — полный список в разделе troubleshooting официальной документации.
Быстрая диагностика неполадок
| Симптом | Возможная причина | Решение |
|---|---|---|
| Красная точка MCP / пустой список инструментов | Ошибка синтаксиса JSON или хост не перезапущен | Проверьте JSON, полностью закройте и снова откройте Cursor |
docker: command not found |
Docker не установлен или не в PATH | Переустановите Docker Desktop / Engine |
pull access denied |
Истекла сессия входа в ghcr | docker logout ghcr.io, затем снова скачайте образ |
| 401 / 403 | Недостаточно прав PAT или срок истёк | Выпустите новый PAT и обновите конфиг |
| Сбой OAuth-обратного вызова | Порт 8085 не проброшен | Проверьте -p 127.0.0.1:8085:8085 |
| Удалённый HTTP не подключается | Прокси блокирует | Настройте системный прокси или перейдите на локальный Docker |
Быстрая самопроверка: вручную выполните Docker-команду в терминале и посмотрите, не появляется ли ошибка в stderr сразу; сравните с командой запуска MCP в логах IDE.
Итог
- Нужно быстрее всего: удалённый
https://api.githubcopilot.com/mcp/+ PAT, в Cursor v0.48+ укажитеurl. - Нужна стабильность и воспроизводимость: на всех платформах одинаково
docker run -i --rm ... ghcr.io/github/github-mcp-server. - Нужна минимальная нагрузка или кастомизация:
go buildбинарника, подключение черезstdio.
После развёртывания настоящая экономия времени MCP — в диалоге с AI на естественном языке: например, «сделай краткое резюме 5 последних открытых issue в репозитории kvmkit». Если вы параллельно настраиваете CI/CD-конвейер или нужен облачный Mac для сборок 24/7, MCP для разработки и автоматизацию релизов можно встроить в одну цепочку инструментов.
Частые вопросы
Обязательно ли использовать Docker для GitHub MCP Server?
Нет. Docker рекомендуется из‑за единообразия на разных платформах и простых обновлений, но можно использовать хостинг GitHub по адресу https://api.githubcopilot.com/mcp/ или собрать Go-бинарник локально и запускать через stdio.
Можно ли ещё использовать npm-пакет @modelcontextprotocol/server-github?
Нет. С апреля 2025 года он не поддерживается. Используйте официальный образ Docker ghcr.io/github/github-mcp-server или соберите из репозитория github/github-mcp-server.
Что будет в Windows, если Docker Desktop не запущен?
Хосты вроде Cursor покажут красную точку или ошибку подключения в панели MCP. Сначала запустите Docker Desktop, затем выполните docker pull ghcr.io/github/github-mcp-server, чтобы проверить загрузку образа.
Какие права нужны Personal Access Token?
Зависит от включённых наборов инструментов. Для чтения репозиториев обычно достаточно прав Contents и Metadata на чтение; для issue, PR и push нужны дополнительные права записи. Создавайте fine-grained PAT с минимальными привилегиями.
CI/CD на M4 Mac mini — без лишних хлопот
Xcode, Fastlane, CocoaPods, and SPM are first-class on macOS. Mac mini M4 unified memory keeps signing and archiving smooth; ~4W standby power suits 24/7 build nodes.