В Cursor вы хотите, чтобы Agent напрямую смотрел Issues, открывал PR и читал файлы репозитория — но застреваете на вопросе «какой GitHub MCP Server ставить»: старый npm-пакет давно устарел, а в интернете каждый туториал советует своё. В этом руководстве за основу взят официальный репозиторий github/github-mcp-server (на 31 июля 2026 актуальна версия v1.7.0). Здесь разобраны четыре пути — удалённый хостинг, локальный Docker, предсобранный бинарник и сборка из исходников — с готовыми шагами для Windows, Linux и macOS.
Что охватывает статья: создание PAT, пути к конфигурационным файлам на каждой платформе, примеры подключения Cursor / Claude Desktop / VS Code Copilot и чеклист проверки из семи шагов. Сторонние неофициальные реализации MCP Server не рассматриваются.
Краткий ответ: как выбрать между четырьмя способами
Сначала сверьтесь с таблицей — за 30 секунд определите свой путь. Большинство индивидуальных разработчиков начинают со способа 1 (удалённый хостинг); команды в корпоративной сети или с требованием изоляции учётных данных выбирают способ 2 (Docker).
| Способ | Кому подходит | Предварительные условия | Затраты на сопровождение | Рекомендация |
|---|---|---|---|---|
| ① Удалённый хостинг | Личный эксперимент, единая конфигурация на всех ОС | GitHub PAT + клиент с поддержкой HTTP MCP | Нулевые | ⭐⭐⭐⭐⭐ |
| ② Локальный Docker | Офлайн, кастомная среда, изоляция в команде | Docker Desktop (Win/macOS) или Docker Engine (Linux) | Низкие | ⭐⭐⭐⭐ |
| ③ Предсобранный бинарник | Без Docker, нативный процесс | Скачать Release для вашей платформы | Средние | ⭐⭐⭐ |
| ④ Сборка из исходников | Контрибуция, кастомная ветка | Go 1.24+ | Высокие | ⭐⭐ |
@modelcontextprotocol/server-github устарел в апреле 2025 года. Не используйте его. Переходите на официальный github/github-mcp-server.Подготовка: PAT, хост-приложение и пути к конфигурации
1. Создание GitHub Personal Access Token
Перейдите в GitHub → Settings → Personal access tokens и создайте Fine-grained или Classic PAT. Типичные scopes:
repo— чтение и запись содержимого репозитория, веток и коммитовread:org— чтение информации об организации и командах- При необходимости добавьте
read:project,workflowи другие scopes в зависимости от действий Agent
GITHUB_PERSONAL_ACCESS_TOKEN.2. MCP-хост и пути к конфигурационным файлам
У каждого клиента свой файл конфигурации. Таблица ниже — наиболее распространённые пути по ОС. После изменения JSON обычно требуется полный перезапуск клиента. Учтите: некоторые редакторы автоматически форматируют JSON при сохранении; если PAT записан в поле env, проверьте, что кавычки и запятые остались корректными.
| Клиент | Windows | macOS | Linux |
|---|---|---|---|
| Cursor (глобально) | %USERPROFILE%\.cursor\mcp.json |
~/.cursor/mcp.json |
~/.cursor/mcp.json |
| Cursor (проект) | .cursor/mcp.json (корень проекта, приоритетнее глобального) |
||
| Claude Desktop | %APPDATA%\Claude\claude_desktop_config.json |
~/Library/Application Support/Claude/claude_desktop_config.json |
~/.config/Claude/claude_desktop_config.json |
| VS Code Copilot | Settings → MCP или .vscode/mcp.json в рабочей области (зависит от версии расширения) |
||
Если команде нужна изолированная Mac-среда для отладки MCP (чтобы PAT не оставался на личном ноутбуке), арендуйте облачный Mac Macstripe как выделенный тестовый узел: подключитесь по SSH, настройте Docker или бинарник и свяжите его с локальным Cursor через stdio или удалённый туннель.
Способ 1: удалённый хостинг (одинаково на всех платформах)
GitHub предоставляет официальную удалённую MCP-точку: https://api.githubcopilot.com/mcp/. Преимущество — одинаковая конфигурация на Windows, Linux и macOS без локального процесса и Docker.
Аутентификация: HTTP-заголовок Authorization: Bearer <YOUR_GITHUB_PAT>. Имена полей JSON немного различаются между клиентами; ниже — универсальный вариант для Cursor и VS Code.
Пример конфигурации Cursor / VS Code
Отредактируйте ~/.cursor/mcp.json (или проектный .cursor/mcp.json):
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer ghp_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}
После сохранения полностью закройте Cursor и запустите снова. В Settings → MCP убедитесь, что github отображается зелёным Connected. При первом подключении следуйте подсказкам клиента, если появится запрос авторизации.
При удалённом хостинге GitHub сам обновляет сервер и закрывает уязвимости — вам нужно только управлять жизненным циклом PAT. В корпоративной сети, если исходящий HTTPS перехватывается прокси, настройте HTTPS_PROXY на уровне системы или клиента для доступа к api.githubcopilot.com. Проверка связи в терминале:
curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer ghp_xxxxxxxxxxxxxxxxxxxx" \
https://api.githubcopilot.com/mcp/
Код 200 или 405 (Method Not Allowed — точка доступна) означает, что сеть и токен в порядке. 401 указывает на просроченный PAT или недостаточные scopes.
Способ 2: локальное развёртывание в Docker
Официальный образ: ghcr.io/github/github-mcp-server. Локальный Docker подходит командам, которым нужна изоляция учётных данных, офлайн-работа или кастомная сетевая политика. Образ поддерживает аутентификацию через PAT и OAuth.
Предварительные требования Docker по платформам
- Windows: установите Docker Desktop, включите бэкенд WSL2, убедитесь, что
docker versionотвечает. В Docker Desktop → Settings → Resources выделите минимум 2 ГБ RAM, чтобы контейнер не падал с OOM при старте. - macOS: установите Docker Desktop for Mac (на Apple Silicon ARM-образ подтягивается автоматически). При Intel-версии Docker через Rosetta проверьте архитектуру слоёв образа.
- Linux: установите Docker Engine (
sudo apt install docker.ioили аналог), добавьте пользователя в группуdockerи перелогиньтесь, иначе каждая команда потребуетsudo docker.
Содержимое mcp.json на всех трёх платформах одинаково — ещё одно преимущество Docker перед бинарником: одна конфигурация для разработчиков на Windows, macOS и Linux.
Режим PAT — конфигурация mcp.json
Docker получает PAT через переменную GITHUB_PERSONAL_ACCESS_TOKEN:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Режим OAuth — проброс порта callback
При OAuth пробросьте порт callback контейнера на 127.0.0.1:8085 хоста и задайте GITHUB_OAUTH_CALLBACK_PORT=8085:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-p", "127.0.0.1:8085:8085",
"-e", "GITHUB_OAUTH_CALLBACK_PORT=8085",
"ghcr.io/github/github-mcp-server"
]
}
}
}
При первом подключении браузер откроет страницу авторизации GitHub; после подтверждения токеном управляет сервер — PAT в JSON писать не нужно.
Проверка доступности Docker-образа
docker pull ghcr.io/github/github-mcp-server
docker run --rm ghcr.io/github/github-mcp-server --version
Если MCP Server работает на изолированном удалённом Mac (например, узле Macstripe), разработчик на Windows может пробросить stdio через SSH-туннель в локальный Cursor — единая macOS-среда без PAT на личном компьютере. Подробнее о безопасном развёртывании MCP — в руководстве AGNTCon по развёртыванию MCP.
Способ 3: предсобранный бинарник
Без Docker скачайте предсобранный пакет с GitHub Releases (начиная с v1.7.0):
| Платформа / архитектура | Имя файла Release |
|---|---|
| macOS Apple Silicon | github-mcp-server_Darwin_arm64.tar.gz |
| macOS Intel | github-mcp-server_Darwin_x86_64.tar.gz |
| Linux x86_64 | github-mcp-server_Linux_x86_64.tar.gz |
| Linux ARM64 | github-mcp-server_Linux_arm64.tar.gz |
| Windows x86_64 | github-mcp-server_Windows_x86_64.zip |
Установка на macOS / Linux и PATH
# Пример для macOS ARM
tar -xzf github-mcp-server_Darwin_arm64.tar.gz
sudo mv github-mcp-server /usr/local/bin/
chmod +x /usr/local/bin/github-mcp-server
github-mcp-server --version
Установка на Windows
# PowerShell
Expand-Archive github-mcp-server_Windows_x86_64.zip -DestinationPath C:\Tools\github-mcp-server
# Добавьте C:\Tools\github-mcp-server в системный PATH
Конфигурация mcp.json (режим stdio)
{
"mcpServers": {
"github": {
"command": "github-mcp-server",
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}
На Windows, если PATH не сработал, укажите абсолютный путь: "command": "C:\\Tools\\github-mcp-server\\github-mcp-server.exe".
Бинарник запускается быстро и не зависит от демона Docker; минус — обновления вручную: скачать новый Release и заменить файл. Зафиксируйте внутреннюю документацию версию (например, v1.7.0) и checksum, чтобы участники команды не работали с разными версиями сервера.
Способ 4: сборка из исходников (продвинутый уровень)
Для кастомной ветки, PR-контрибуции или полного аудита кода соберите из официального репозитория. Требуется Go 1.24+.
git clone https://github.com/github/github-mcp-server.git
cd github-mcp-server
git checkout v1.7.0 # или main
go build -o github-mcp-server ./cmd/github-mcp-server
./github-mcp-server --version
Используйте собранный бинарник как в способе 3: в mcp.json укажите путь в command. В продакшене фиксируйте tag (например, v1.7.0), а не отслеживайте main.
Сборка из исходников — для контрибьюторов github/github-mcp-server и команд безопасности, которым нужен построчный аудит перед внутренним распространением. Без кастомизации способов 1 или 2 достаточно — toolchain Go ставить не обязательно.
Подключение к популярным MCP-хостам: Cursor, Claude Desktop, VS Code Copilot
Структура JSON немного отличается, но суть одна — объявить запись mcpServers. Ниже типичный вариант (Docker в режиме PAT; для удалённого хостинга замените command/args на url + headers).
Cursor
Глобальная конфигурация ~/.cursor/mcp.json, проектная — .cursor/mcp.json. Проектная удобна, когда GitHub MCP нужен только одному репозиторию — например, open source и side project с разными PAT. После перезапуска введите «перечисли мои репозитории GitHub»; если Agent отвечает, что у него нет инструментов GitHub, MCP не загрузился — проверьте панель MCP и журнал.
Claude Desktop
Отредактируйте claude_desktop_config.json на своей платформе; структура как у Cursor, корневой ключ — mcpServers:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Сохраните, закройте Claude Desktop и откройте снова. На macOS: иконка в строке меню → Settings → Developer — журнал MCP.
VS Code Copilot (режим Agent)
В VS Code 1.99+ Copilot Chat поддерживает MCP. Command Palette → MCP: Add Server или создайте .vscode/mcp.json в рабочей области. Запись для удалённого хостинга совпадает с Cursor.
Не уверены между Cursor и Claude Code? Сначала посмотрите сравнение AI-инструментов для разработки, затем выбирайте MCP-хост.
Чеклист из семи шагов и устранение неполадок
После настройки пройдите по пунктам и убедитесь, что Agent реально вызывает инструменты GitHub.
- Шаг 1: PAT создан, scope включает
repo(и при необходимостиread:org) - Шаг 2: синтаксис JSON в
mcp.jsonкорректен (проверьте черезjq .или онлайн-валидатор) - Шаг 3: клиент полностью перезапущен (не просто закрыто окно)
- Шаг 4: в панели MCP
githubв статусе Connected / зелёный - Шаг 5: запрос «перечисли мои репозитории GitHub» возвращает реальные имена
- Шаг 6: чтение файла в приватном репозитории подтверждает достаточность прав PAT
- Шаг 7: в журнале клиента нет
401 Unauthorizedиconnection refused
Таблица типичных неполадок
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Панель MCP красная / Disconnected | Ошибка JSON, неверный путь | Проверьте JSON; уточните глобальный или проектный файл |
401 Unauthorized |
PAT просрочен или scopes недостаточны | Пересоздайте PAT, добавьте repo и нужные scopes |
Docker Cannot connect to daemon |
Docker Desktop не запущен | Запустите Docker Desktop (Win/macOS); на Linux — sudo systemctl start docker |
| Ошибка OAuth callback | Порт 8085 занят или не проброшен | Проверьте -p 127.0.0.1:8085:8085 и GITHUB_OAUTH_CALLBACK_PORT=8085 |
| Список инструментов пуст | Используется устаревший npm-пакет | Переходите на github/github-mcp-server v1.7.0 |
| Команда не найдена в Windows | Бинарник не в PATH | Абсолютный путь к .exe в mcp.json |
Старое представление: «поставил npm-пакет — и GitHub подключён».
С апреля 2025 официальный путь — github/github-mcp-server; для удалённого хостинга —api.githubcopilot.com/mcp/,не ищите server-github.
Частые вопросы
Удалённый хостинг или локальный Docker — что выбрать?
Для личного эксперимента или быстрой проверки в команде выбирайте удалённый хостинг GitHub (https://api.githubcopilot.com/mcp/): одинаковая конфигурация, не нужно поддерживать процесс. Для офлайн, кастомного набора инструментов или строгой изоляции учётных данных — локальный Docker (ghcr.io/github/github-mcp-server).
Можно ли ещё использовать npm-пакет @modelcontextprotocol/server-github?
Нет. Пакет устарел в апреле 2025 года. Используйте официальный репозиторий github/github-mcp-server (текущая версия v1.7.0).
Какие scopes нужны для PAT?
Fine-grained или Classic PAT должен как минимум включать repo (чтение/запись репозиториев) и read:org (информация об организации). Для Issues, Pull Requests или Projects добавьте соответствующие scopes.
Что делать, если на Windows не удаётся скачать Docker-образ?
Убедитесь, что Docker Desktop запущен и WSL2 работает; выделите достаточно памяти в Settings → Resources; выполните docker login ghcr.io и docker pull ghcr.io/github/github-mcp-server.
Cursor не применяет изменения в mcp.json — что делать?
Полностью закройте Cursor и запустите снова; проверьте конфликт ~/.cursor/mcp.json и .cursor/mcp.json (проектный приоритетнее); в Settings → MCP посмотрите статус и журнал.
Итог
Официальный путь развёртывания GitHub MCP Server теперь ясен:
- Самый быстрый старт — удалённый хостинг
https://api.githubcopilot.com/mcp/+ PAT, один JSON на всех платформах - Локальный контроль — Docker-образ
ghcr.io/github/github-mcp-server, PAT или OAuth - Без Docker — предсобранный бинарник из Releases, настроенный PATH
- Продвинутая кастомизация — сборка Go 1.24+, фиксированный tag в продакшене
Сначала прогоните удалённый хостинг в Cursor: список репозиториев → чтение файла → просмотр Issue. Когда PAT проверен, решите, нужен ли переход на Docker или изолированный удалённый Mac.
Для команд имеет смысл версионировать конфигурацию MCP (без PAT в открытом виде) и внедрять токен через переменные окружения или менеджер секретов — в духе лучших практик безопасного развёртывания MCP. Разработчикам на Windows, которым нужны iOS-сборки и Agent-workflow, облачный Mac Macstripe можно арендовать посуточно: SSH за ~5 минут, MCP Server, Xcode и Fastlane на одном macOS, ноутбук — только удалённый терминал. Это стабильнее, чем смешивать Docker и удалённые Xcode-плагины на личной машине.