MCP для GitHub и GitLab: настройка 2026 | токены, промпты, конфиги | AiManual
AiManual Logo Ai / Manual.
22 Май 2026 Гайд

MCP для GitHub и GitLab: полный гайд по настройке с токенами, промптами и конфигами для AI-инструментов 2026

Пошаговый гайд по настройке MCP для GitHub и GitLab: генерация токенов, конфигурация Claude Code, Codex CLI, Cursor. Готовые промпты, частые ошибки и секреты от

Если вы когда-нибудь пытались подключить AI-агента к Git-репозиторию и получали ошибку 401 Unauthorized или MCP server not found — этот гайд для вас. В 2026 году Model Context Protocol стал стандартом де-факто для взаимодействия LLM с внешними инструментами. Но документация по настройке для GitHub и GitLab до сих пор размазана по десяткам репозиториев, issue и чатов. Я собрал всё в одном месте. Без воды. С работающими конфигами, промптами и граблями, на которые наступил сам.

Зачем вам MCP для Git-платформ в 2026?

Вспомните, как выглядела работа с кодом через AI год назад. Вы копировали куски кода в чат, просили сделать PR, потом вручную правили конфликты. MCP (Model Context Protocol) переворачивает процесс: AI-агент получает прямой доступ к API GitHub/GitLab через стандартизированный протокол. Он может создавать issues, делать коммиты, управлять PR, читать файлы — и всё это в рамках одной сессии без бубна с токенами.

Но дьявол в деталях. Без правильной настройки MCP-серверы валятся с ошибками, токены утекают в логи, а AI-агенты начинают галлюцинировать недоступные эндпоинты. Я покажу, как настроить всё с нуля, чтобы не краснеть перед командой.

💡
Если вы ещё не знакомы с концепцией MCP, советую сначала прочитать статью «Как я выбросил Ansible и Jenkins в окно: MCP и локальные LLM как новый стек автоматизации» — там я объясняю базовую идею. А здесь — практика.

Ключевые игроки: какие AI-инструменты используют MCP в 2026?

К маю 2026 года почти все популярные AI-ассистенты для кодинга обзавелись MCP-клиентами. Основные:

  • Claude Code (Anthropic) — встроенный MCP-клиент, поддерживает GitHub и GitLab серверы. Версия 2.5+.
  • Codex CLI (OpenAI) — обновлённый инструмент для работы с репозиториями. Использует MCP через протокол stdio.
  • Cursor — IDE с AI-функциями. Начиная с версии 0.48 поддерживает MCP-серверы для Git-операций.
  • MCPHero — хитрый прокси, который позволяет использовать MCP-серверы с любым OpenAI-совместимым API. Подробнее я писал здесь.

Готовим токены: GitHub vs GitLab

Ни один MCP-сервер не заработает без токена доступа. Но многие лепят классический PAT с полным доступом — и это ошибка. К 2026 году оба гиганта ужесточили политики. Используйте Fine-Grained Tokens для GitHub и Project/Group Access Tokens для GitLab.

⚠️ Никогда не храните токены в MCP-конфиге в открытом виде, если он лежит в репозитории. Используйте переменные окружения или менеджеры секретов (1Password CLI, Vault). Я покажу оба варианта.

1 Создаём токен для GitHub

  1. Зайдите в Settings > Developer settings > Personal access tokens > Fine-grained tokens.
  2. Дайте имя (например, mcp-github-server).
  3. Выберите репозитории, к которым нужен доступ (можно All repositories).
  4. Установите минимальные разрешения:
    • Contents: Read & Write (для коммитов и просмотра файлов)
    • Pull requests: Read & Write
    • Issues: Read & Write
    • Metadata: Read (обязательно)
  5. Скопируйте токен. GitHub покажет его только один раз — сохраните сразу в менеджер паролей.

2 Создаём токен для GitLab

  1. В GitLab: Settings > Access Tokens (на уровне проекта или группы).
  2. Тип токена — Project Access Token.
  3. Роль — Maintainer (минимум).
  4. Scopes (обязательные): read_api, read_repository, write_repository.
  5. Дополнительно: read_registry, write_registry — если нужна работа с контейнерами.
  6. Скопируйте токен сразу.

Настройка MCP-сервера для GitHub

Официальный сервер — @modelcontextprotocol/server-github. Установка через npm:

npm install -g @modelcontextprotocol/server-github@latest
# или через npx без установки:
npx @modelcontextprotocol/server-github@latest

После установки нужно сконфигурировать MCP-клиент. Каждый AI-инструмент использует свой конфигурационный файл. Приведу самый универсальный — в формате mcp.json для Claude Code и Codex CLI.

Конфигурация для Claude Code (версия 2.5+)

Файл ~/.claude/mcp.json:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github@latest"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}

Вместо прямой вставки токена используем переменную окружения GITHUB_TOKEN. Задайте её в ~/.zshrc или в самом Claude Code через настройки.

Конфигурация для Codex CLI

Codex CLI (версия 0.12+) читает конфиг из $CODEX_HOME/.codex/mcp.json:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github@latest"],
      "env": {
        "GITHUB_TOKEN": "ваш_токен_в_явном_виде_только_если_вы_один"
      }
    }
  }
}

Но я настоятельно рекомендую не хардкодить. Для Codex CLI можно использовать загрузку через $CODEX_GITHUB_TOKEN.

Конфигурация для Cursor (версия 0.48+)

В Cursor MCP-серверы настраиваются через файл .cursor/mcp.json в корне проекта. Формат такой же, как для Claude Code. Cursor автоматически использует GITHUB_TOKEN из вашего ключа GitHub Copilot, если не задан явно. Можно и не трогать, но я предпочитаю контроль.

Настройка MCP-сервера для GitLab

Сервер — @modelcontextprotocol/server-gitlab. Установка:

npm install -g @modelcontextprotocol/server-gitlab@latest

Конфигурация для Claude Code:

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-gitlab@latest"],
      "env": {
        "GITLAB_TOKEN": "${GITLAB_TOKEN}",
        "GITLAB_HOST": "https://gitlab.example.com" // для self-hosted
      }
    }
  }
}

Для GitLab.com переменная GITLAB_HOST не нужна (по умолчанию https://gitlab.com).

⚠️ Внимание: сервер GitLab требует минимум read_api scope, иначе он не сможет даже получить список проектов. Если видите ошибку 403 Forbidden — проверьте scopes токена.

Промпт для автонастройки: как заставить AI сделать всё за вас

Лень — двигатель прогресса. Вместо того чтобы руками править конфиги, можно один раз скормить AI-ассистенту специальный промпт, и он сам создаст нужные файлы. Я использую такую инструкцию для Claude Code:

Ты — DevOps-агент. Настрой MCP-сервер для GitHub и GitLab в моей системе.

1. Проверь, установлены ли глобальные пакеты @modelcontextprotocol/server-github и @modelcontextprotocol/server-gitlab. Если нет — установи через npm.
2. Узнай имя пользователя и путь к домашней папке.
3. Попроси меня предоставить токены GitHub (GITHUB_TOKEN) и GitLab (GITLAB_TOKEN). Спроси отдельно.
4. Создай файл ~/.claude/mcp.json с конфигурациями обоих серверов. Используй переменные окружения в значениях токенов (${GITHUB_TOKEN}, ${GITLAB_TOKEN}).
5. Если используется Oh My Zsh — добавь export GITHUB_TOKEN и GITLAB_TOKEN в ~/.zshrc, но сначала выведи команды, чтобы я их выполнил руками (никогда не пиши токены в файлы сам).
6. Протестируй подключение: попроси меня выполнить в Claude Code команду "github list-repos" или "gitlab list-projects".
7. Если ошибка — проанализируй вывод и предложи исправление.

Не делай ничего без моего подтверждения.

Этот промпт я вставляю в новую сессию Claude Code. Он безопасен — агент не пишет токены напрямую. Можно адаптировать для Codex CLI или Cursor, заменив пути к конфигам.

💡
Если вы используете self-hosted GitLab, укажите в промпте GITLAB_HOST с вашим URL. Агент должен включить его в конфиг.

Типичные ошибки и как их чинить

Ошибка Причина Решение
MCP server not found Не установлен пакет или неверный путь в конфиге Установите глобально (npm i -g) и проверьте, что npx находит пакет
401 Unauthorized Токен не задан или неверный scope Проверьте GITHUB_TOKEN/GITLAB_TOKEN, для GitLab добавьте read_api
OAuth App access restricted Для GitHub Enterprise могут быть включены OAuth-ограничения В настройках организации разрешите установку MCP-сервера для выбранных репозиториев
Can't read property 'length' of undefined Ошибка в коде сервера (баг пакета) Обновите до последней версии или проверьте issue на GitHub

Безопасность: как не слить токены через MCP

В 2025 году уже были случаи кражи токенов через prompt injection в MCP. AI-агент может быть обманут и выполнить команду, которая отправит ваш токен на сторонний сервер. Защита:

  • Никогда не используйте классические токены с полным доступом. Fine-grained — с минимальными правами.
  • Не пишите токены в конфиги, которые могут попасть в репозиторий. Используйте переменные окружения или менеджеры секретов.
  • Для CI/CD — не давайте MCP-серверу токены от продакшена. Создайте отдельного машинного пользователя с доступом только к нужным репозиториям.
  • Рассмотрите per-user OAuth через Auth Proxy — это даст дополнительный слой аутентификации.

Кстати, в статье «Вайб-кодинг и безопасность» я разбирал, как AI может генерировать уязвимый код. MCP даёт агенту доступ к Git-репозиторию — не дайте ему сделать коммит с дырой в security.

Часто задаваемые вопросы

Можно ли использовать один токен для GitHub MCP и для Git-операций в терминале?

Технически да, но не стоит. MCP-сервер может злоупотребить широкими правами, если его скомпрометируют. Создайте отдельный токен для MCP с ограниченным доступом.

Как проверить, что MCP-сервер работает?

Выполните команду npx @modelcontextprotocol/server-github --help в терминале. Если сервер запустится и выведет список доступных инструментов — всё ок.

Поддерживает ли GitLab MCP сервер работу с несколькими проектами?

Да, он получает список проектов, к которым у токена есть доступ. Можно указать конкретный проект через --project-id.

Что делать, если в компании используют GitHub Enterprise с самоподписанным сертификатом?

Придётся указать NODE_TLS_REJECT_UNAUTHORIZED=0 в переменных окружения сервера (небезопасно). Лучше добавьте корневой сертификат в доверенные.

Что пошло не так? Реальный кейс

Недавно настраивал MCP для GitLab на проекте с 200+ репозиториев. Классическая ошибка: токен был с read_api, но без write_repository. Сервер запустился, AI-агент в Claude Code даже начал создавать issue. Но когда я попросил его сделать коммит в ветку — ошибка 403. Потратил час, пока не перепроверил scopes. Мораль: всегда проверяйте разрешения токена перед тем, как пускать агента в бой.

Другой случай — на GitHub Enterprise оказалась включена опция OAuth App access restrictions, из-за которой MCP-сервер не мог получить список репозиториев организации. Пришлось временно отключить в настройках организации — ошибка, но другого пути нет.

Вместо заключения: что дальше?

К 2026 году MCP прочно вошёл в инструментарий DevOps. GitHub и GitLab — только начало. Уже есть экспериментальные серверы для Jira, PagerDuty, даже для kubectl и Docker. Если вы до сих пор не настроили MCP для своих репозиториев — вы теряете время. Сделайте это сегодня, а когда наткнётесь на грабли — вспомните мой гайд.

Полезные ссылки:

Подписаться на канал