Инструменты
GitHub — агент ведёт репозиторий
Скопируй страницу и вставь в Claude или GPT — разберёт под твою задачу.
Агент уже пишет код: правит файлы, гоняет тесты, разбирает логи. Но всё, что вокруг кода — оформить pull request, завести issue, ответить на замечания ревьюера и внести правки, — ты по-прежнему делаешь руками. Открываешь GitHub, кликаешь, копируешь, описываешь. GitHub MCP отдаёт эту рутину агенту: подключаешь официальный сервер одной командой со своим токеном — и агент сам ведёт репозиторий через GitHub. В этом гайде разберём, как это подключить и, главное, как не отдать при этом лишнего.
Короткий ответ
GitHub выпустил официальный MCP-сервер — он живёт в облаке GitHub, ставить локально ничего не надо. Подключается одной командой из терминала: ты указываешь адрес сервера и передаёшь свой личный токен доступа (PAT). После этого агент получает руки в твоём GitHub — оформляет PR, заводит и закрывает issues, отвечает на ревью, разбирает историю репозитория.
read -rsp "GitHub PAT: " GITHUB_PAT; echo
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ -H "Authorization: Bearer $GITHUB_PAT"
unset GITHUB_PAT
Перезапустил сессию Claude Code — и у агента появился доступ к GitHub. Дальше вся механика та же, что у любого MCP-сервера (см. гайд про MCP): проверка через claude mcp list и /mcp, удаление через claude mcp remove.
Официальный GitHub MCP по адресуhttps://api.githubcopilot.com/mcp/требует активную подписку GitHub Copilot. Если Copilot у тебя нет — альтернатива есть: подними серверgithub/github-mcp-serverсам, локально, и подключайся к нему.
Что понадобится
- Установленный и работающий Claude Code (команда
claudeдоступна в терминале). - Аккаунт GitHub с репозиторием, который ты хочешь отдать агенту в работу.
- Personal access token (PAT) — личный токен доступа GitHub с минимальными правами. Создаётся в настройках разработчика на GitHub. Это самый важный пункт: от того, какие права ты дашь токену, зависит, что агент сможет и — что важнее — чего не сможет натворить.
Зачем это нужно
Агент без доступа к GitHub — это исполнитель, который отлично работает с кодом, но не может закрыть цикл. Он написал фичу, прогнал тесты, всё зелёное — а дальше ты сам открываешь браузер, создаёшь ветку, оформляешь pull request, вручную переписываешь описание «что поменялось». Ревьюер оставил три замечания — ты копируешь их в чат агенту, он правит, ты снова идёшь на GitHub отвечать. Половина работы вокруг кода — это клики, которые агент физически не может сделать, потому что у него нет рук в твоём репозитории.
GitHub MCP закрывает этот разрыв. С подключённым сервером агент:
- Оформляет pull request — создаёт ветку, готовит PR, сам пишет внятное описание того, что изменилось и зачем.
- Ведёт issues — заводит новые задачи по найденным багам, комментирует, закрывает выполненные.
- Отвечает на ревью — читает замечания в pull request, вносит правки и отписывается по каждому пункту.
- Разбирает историю репозитория — смотрит коммиты, открытые PR, обсуждения, чтобы понять контекст перед тем, как что-то менять.
Итог простой: рутина вокруг кода уходит агенту, а ты остаёшься на уровне решений — что делать, а не как это кликнуть.
Как подключить
Всё подключение — одна команда. GitHub MCP развёрнут в облаке GitHub, поэтому локально запускать нечего: ты указываешь адрес сервера и передаёшь свой токен.
read -rsp "GitHub PAT: " GITHUB_PAT; echo
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ -H "Authorization: Bearer $GITHUB_PAT"
unset GITHUB_PAT
Разберём по частям:
--transport http— говорит Claude Code, что сервер удалённый и работает по HTTP. Это тот же случай, что и облачный MCP-сервер из гайда про MCP: сервер уже поднят на стороне GitHub, поднимать его черезnpxне нужно.github— имя, под которым сервер будет виден в списке. Можешь назвать иначе, ноgithub— понятно и очевидно.https://api.githubcopilot.com/mcp/— адрес официального сервера GitHub. Не выдумывай и не меняй его.-H "Authorization: Bearer $GITHUB_PAT"— HTTP-заголовок, который передаёт твой личный токен. Именно по нему GitHub понимает, что это ты, и решает, к чему давать доступ.
Не вставляй токен прямым текстом в команду.read -rspспрашивает токен скрытым вводом и кладёт его в переменнуюGITHUB_PAT, дальше он подставляется как$GITHUB_PAT, аunsetстирает его из сессии — так токен не оседает в истории терминала. Учти: при подключении Claude Code сохраняет значение в свой MCP-конфиг, поэтому этот файл держи приватным и не коммить. И самое надёжное — выпускать fine-grained PAT с доступом только к нужному репозиторию и коротким сроком жизни, чтобы даже при утечке ущерб был минимальным.
После добавления перезапусти сессию Claude Code. Новые инструменты подхватываются при старте сессии — пока не перезапустишь, агент их не увидит, даже если claude mcp list уже показывает сервер.
Проверить, что всё встало, — теми же командами, что и для любого MCP-сервера:
claude mcp list
Покажет список подключённых серверов и статус — подключён или отвалился. А прямо в чате Claude Code команда /mcp покажет сервер и статус авторизации: если с токеном что-то не так, это видно сразу здесь. Если сервер больше не нужен — убираешь его так:
claude mcp remove github
Права токена — минимум
Это самый важный раздел гайда, и пропускать его нельзя. PAT — personal access token, личный токен доступа — создаётся в настройках разработчика на GitHub. По сути это ключ от твоего аккаунта: всё, что ты разрешишь токену, сможет делать и агент, который этим токеном пользуется.
Отсюда главное правило: давай токену ровно столько прав, сколько нужно под задачу, и ни каплей больше.
ВНИМАНИЕ: не выдавай токену больше прав, чем нужно. Если задача — вести один конкретный репозиторий, дай токену доступ только к нему и только на те действия, которые реально требуются (например, работать с кодом, PR и issues в этом репо). Не выдавай доступ «ко всему аккаунту целиком» — это как отдать связку ключей от всех дверей, когда сотруднику нужен ключ от одной комнаты. Токен — это ключ от твоего GitHub, относись к нему соответственно.
Современные токены GitHub (fine-grained) позволяют ограничить доступ до конкретного репозитория и выдать права по каждому виду действий отдельно. Пользуйся этим: выбираешь один репозиторий, включаешь только нужные разрешения — и агент физически не сможет дотянуться до остального.
Второе правило — про хранение. Никогда не коммить токен в репозиторий. Токен в открытом файле, который уехал в git, — это утечка: его увидит любой, у кого есть доступ к репо, а если репозиторий публичный — вообще весь мир. Держи токен в переменной окружения или в секрет-хранилище, а не в открытом коде. Файл с токеном должен быть в .gitignore, чтобы он случайно не попал в коммит.
Как пользоваться
Дальше всё как с любым инструментом агента: ты ставишь задачу словами, а он сам решает, какие вызовы к GitHub сделать. Ничего программировать не надо — просто говоришь, что нужно:
- «Оформи pull request по этим изменениям и опиши, что поменялось» — агент создаст ветку, подготовит PR и сам напишет описание.
- «Заведи issue на этот баг» — агент создаст задачу с понятным заголовком и описанием прямо в твоём репозитории.
- «Посмотри замечания в открытом PR и внеси правки» — агент прочитает ревью, поправит код и отпишется по пунктам.
- «Покажи последние открытые issues» — агент вытащит их из GitHub и разложит по полочкам.
Агент сам понимает, когда лезть в GitHub, а когда достаточно правки файлов. Твоя задача — сформулировать, что нужно; механику он берёт на себя.
Частые ошибки
| Симптом | Причина | Что сделать |
|---|---|---|
Ошибка 401 / «не авторизован» |
Неверный или протухший PAT, либо кривая строка с токеном | Перевыпусти токен на GitHub, проверь заголовок -H "Authorization: Bearer ..." — токен вставлен целиком и без опечаток |
| Агент не видит нужный репозиторий | У токена нет прав на этот репо | Открой настройки токена и дай ему доступ к нужному репозиторию с нужными разрешениями |
| Сервер не появился после добавления | Не перезапустил сессию — новые руки подхватываются только при старте | Перезапусти Claude Code, затем проверь claude mcp list |
| Страшно за широкий доступ агента | Токен слишком широкий — выдан на весь аккаунт вместо одного репо | Перевыпусти токен с минимальными правами: один репозиторий, только нужные действия |
В /mcp сервер горит как failed / not connected |
Проблема с токеном или адресом сервера | Сверь URL https://api.githubcopilot.com/mcp/ и заголовок с токеном, при необходимости перевыпусти PAT |
FAQ
Это безопасно — давать агенту доступ к моему GitHub?
Да, если соблюдать два условия. Первое — токен с минимальными правами: один репозиторий, только нужные действия, а не доступ ко всему аккаунту. Второе — токен не лежит в открытом виде и не уезжает в git. При этих условиях агент может ровно то, что ты ему разрешил, и ни на шаг больше. Опасность не в самом MCP, а в слишком широком токене, оставленном где попало.
Обязателен ли PAT? Нельзя без него?
Обязателен. Доступ к твоему GitHub идёт именно через токен — это способ, которым GitHub понимает, что действия выполняешь ты, и определяет, к чему давать доступ. Без токена сервер просто не пустит агента в твой аккаунт.
Что делать, если токен утёк?
Сразу отзови его в настройках GitHub — после отзыва он мгновенно перестаёт работать, даже если попал не в те руки. Затем выпусти новый токен и обнови команду подключения. Именно поэтому удобнее держать токен узким: если утечёт токен на один репозиторий, площадь ущерба несравнимо меньше, чем у токена на весь аккаунт.
Чем это отличается от того, что агент и так коммитит через git?
Локальный git — это работа с кодом на твоей машине: коммиты, ветки, push. GitHub MCP — это работа с самим GitHub как сервисом: pull request'ы, issues, ревью, обсуждения. Одно про код, другое — про всё, что вокруг него на платформе.
Итог
GitHub MCP выводит агента за пределы кода на самой машине и даёт ему руки в твоём GitHub: pull request'ы, issues, ревью, история репозитория. Подключается одной командой claude mcp add --transport http с адресом официального сервера и твоим токеном в заголовке. Главное — токен с минимальными правами, привязанный к одному репозиторию, и никогда не в открытом виде. Дальше агент ведёт репозиторий сам, а ты только ставишь задачи словами.
А доступ к внешним сервисам через MCP — это отдельная большая тема: как это устроено, какие ещё руки можно пристегнуть агенту и где границы. Про это — в гайде про MCP.