
GitHub MCP
Подключает агента к GitHub: читать код и коммиты, заводить и разбирать issues, открывать и сливать пулл-реквесты, смотреть запуски GitHub Actions и оповещения Dependabot.
Сервер на стороне GitHub: ничего ставить не нужно, вход через OAuth или по токену в заголовке.
Как подключить
Что сделать до подключения
Клиент с поддержкой удалённых MCP-серверов, например VS Code 1.101 или новее
AuthorizationPersonal Access Token создаётся на github.com/settings/personal-access-tokens/new; в клиентах с OAuth заголовок можно не указывать
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header 'Authorization: Bearer <GitHub PAT>'Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.github]
url = "https://api.githubcopilot.com/mcp/"
http_headers = { "Authorization" = "Bearer <GitHub PAT>" }Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer <GitHub PAT>"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer <GitHub PAT>"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"github": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer <GitHub PAT>"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"github": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer <GitHub PAT>"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"github": {
"type": "remote",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer <GitHub PAT>"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
Customize → Connectors → добавить свой коннектор.
Адрес сервера: https://api.githubcopilot.com/mcp/
Request headers: Authorization: Bearer <GitHub PAT>Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer <GitHub PAT>"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
get_file_contentsчитает файл или папкуsearch_codeищет по кодуlist_commitsпоказывает коммитыcreate_branchсоздаёт веткуpush_filesпушит несколько файловcreate_pull_requestоткрывает пулл-реквестpull_request_readчитает пулл-реквест и диффpull_request_review_writeпишет ревьюmerge_pull_requestсливает пулл-реквестlist_issuesпоказывает issuesissue_writeсоздаёт и правит issueadd_issue_commentдобавляет комментарийactions_listпоказывает воркфлоу Actionsget_job_logsчитает логи джобыlist_dependabot_alertsпоказывает оповещения Dependabotcreate_pull_request_with_copilotпоручает задачу агенту Copilotgithub_support_docs_searchищет по справке GitHubТот же сервер на вашем компьютере в Docker или как бинарник; подходит клиентам без удалённых серверов и для GitHub Enterprise Server.
Как подключить
Что сделать до подключения
Docker, запущенный до старта клиента; без Docker бинарник собирается командой go build
GITHUB_PERSONAL_ACCESS_TOKENgithub.com/settings/personal-access-tokens/new; выдайте только нужные права, например repo, read:org, read:packages
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --env 'GITHUB_PERSONAL_ACCESS_TOKEN=<ваш токен>' --transport stdio github-mcp-server \
-- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-serverПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.github-mcp-server]
command = "docker"
args = ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"]
[mcp_servers.github-mcp-server.env]
GITHUB_PERSONAL_ACCESS_TOKEN = "<ваш токен>"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"github-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<ваш токен>"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"github-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<ваш токен>"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"github-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<ваш токен>"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"github-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<ваш токен>"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"github-mcp-server": {
"type": "local",
"command": [
"docker",
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"environment": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<ваш токен>"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"github-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<ваш токен>"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"github-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<ваш токен>"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
get_file_contentsчитает файл или папкуsearch_codeищет по кодуsearch_repositoriesищет репозиторииlist_commitsпоказывает коммитыcreate_or_update_fileсоздаёт или меняет файлcreate_branchсоздаёт веткуcreate_pull_requestоткрывает пулл-реквестpull_request_readчитает пулл-реквест и диффmerge_pull_requestсливает пулл-реквестissue_readчитает issueissue_writeсоздаёт и правит issueactions_run_triggerзапускает и перезапускает воркфлоуget_job_logsчитает логи джобыlist_code_scanning_alertsпоказывает находки Code Scanningget_meпоказывает текущего пользователяПоказано 15 из 92.
Что попросить агента
Для каких задач
Ограничения
Агент получает те же права, что и токен: ему доступно удаление файлов и репозиториев, если права это разрешают
По умолчанию включены только наборы context, repos, issues, pull_requests и users; Actions, Dependabot и остальные добавляются флагом --toolsets или переменной GITHUB_TOOLSETS
Текст issues и комментариев в публичных репозиториях может содержать prompt injection; режим --lockdown-mode фильтрует такой контент, но доступ токена не ограничивает
OAuth в удалённом сервере работает только в клиентах, где он настроен; в остальных нужен токен в заголовке
Если не работает
Не скачивается образ ghcr.io/github/github-mcp-server
Локальный сервер не стартует с ошибками Docker
Ошибки авторизации
Пакет @modelcontextprotocol/server-github не работает
Какую реализацию выбрать
| Реализация | Кто делает | Звёзды | Запуск | Ключ | Инструменты | Обновлён |
|---|---|---|---|---|---|---|
| GitHub MCP Server (удалённый)разработчик сервиса | GitHub | 34,4 тыс. | HTTP | токен | 17 | 12 ноября 2026 |
| GitHub MCP Server (локальный)разработчик сервиса | GitHub | 34,4 тыс. | локально | токен | 92 | 12 ноября 2026 |