GitHub Enterprise MCP-сервер
Сервер MCP (Model Context Protocol) для интеграции с API GitHub Enterprise. Этот сервер предоставляет интерфейс MCP для легкого доступа к информации репозитория, проблемам, PR и многому другому из GitHub Enterprise в Cursor.
Совместимость
Этот проект в первую очередь предназначен для сред GitHub Enterprise Server, но он также работает с:
- GitHub.com
- Корпоративное облако GitHub
Примечание : некоторые корпоративные функции (например, информация о лицензии и корпоративная статистика) не будут работать с GitHub.com или GitHub Enterprise Cloud.
Основные характеристики
- Получить список репозиториев из экземпляров GitHub Enterprise
- Получить подробную информацию о репозитории
- Список ветвей репозитория
- Просмотр содержимого файлов и каталогов
- Управление проблемами и запросами на извлечение
- Управление репозиторием (создание, обновление, удаление)
- Управление рабочими процессами GitHub Actions
- Управление пользователями (список, создание, обновление, удаление, приостановка/отмена приостановки пользователей)
- Доступ к корпоративной статистике
- Улучшенная обработка ошибок и удобное форматирование ответов
Начиная
Предпосылки
- Node.js 18 или выше
- Доступ к экземпляру GitHub Enterprise
- Персональный токен доступа (PAT)
Установка и настройка Docker
Вариант 1: запуск с Docker
- Создайте образ Docker:
- Запустите Docker-контейнер с переменными среды:
Примечание : Dockerfile настроен на запуск с
--transport http
по умолчанию. Если вам нужно изменить это, вы можете переопределить команду:
Вариант 2: Использование Docker Compose
- Создайте файл
.env
в корне проекта с необходимыми переменными среды: - Запустите контейнер с помощью Docker Compose:
- Проверьте журналы:
- Остановите контейнер:
Установка и настройка
Локальная разработка (с использованием параллельного режима)
Этот метод рекомендуется для активной разработки с автоматической перекомпиляцией и перезапусками сервера:
- Клонируйте репозиторий и установите необходимые пакеты:
- Запустите сервер разработки:Это позволит:
- Автоматически компилировать код TypeScript при изменении файлов
- Перезапустите сервер после обновления скомпилированных файлов.
- Запустите сервер в режиме HTTP для подключений на основе URL.
- Подключитесь к курсору, используя режим URL, как описано ниже.
Установка и настройка для производства
Вариант 1: использование режима URL (рекомендуется для локальной разработки)
Этот метод наиболее стабилен и рекомендуется для локальной разработки или тестирования:
- Клонируйте репозиторий и установите необходимые пакеты:
- Создайте проект:
- Запустите сервер:
- Подключитесь к курсору, используя режим URL:
- Добавьте следующее в файл
.cursor/mcp.json
вашего курсора:
- Добавьте следующее в файл
Вариант 2: Установка как глобальной команды (ссылка npm)
Этот метод полезен для местного развития:
Вариант 3: Использование npx (когда пакет опубликован)
Если пакет опубликован в публичном реестре npm:
Интеграция с инструментами ИИ
Клод Десктоп
Добавьте следующее в ваш claude_desktop_config.json
:
Замените YOUR_GITHUB_TOKEN
и YOUR_GITHUB_ENTERPRISE_URL
на ваши фактические значения.
Курсор
Рекомендуется: режим URL (наиболее стабильный)
Для наиболее надежной работы в Курсоре рекомендуется использовать режим URL:
- Запустите сервер в отдельном окне терминала:
- Настройте параметры MCP курсора:
- Откройте Курсор и перейдите в Настройки.
- Перейдите в раздел AI > MCP-серверы.
- Отредактируйте файл
.cursor/mcp.json
:
- Перезапустите курсор, чтобы применить изменения.
Альтернатива: командный режим
В качестве альтернативы вы можете настроить Cursor на использование командного режима, хотя режим URL более надежен:
- Откройте Курсор и перейдите в Настройки.
- Перейдите в раздел AI > MCP-серверы.
- Нажмите Добавить сервер MCP.
- Введите следующие данные:
- Имя : GitHub Enterprise
- Команда :
npx
- Аргументы :
@ddukbg/github-enterprise-mcp
- Переменные среды :
GITHUB_ENTERPRISE_URL
: URL-адрес вашего API GitHub EnterpriseGITHUB_TOKEN
: Ваш персональный токен доступа GitHub
Кроме того, вы можете вручную отредактировать файл .cursor/mcp.json
, включив в него:
Конфигурация языка
Этот сервер MCP поддерживает английский и корейский языки. Вы можете настроить язык с помощью:
Переменные среды
Аргументы командной строки
Если не указан иной язык, по умолчанию используется английский.
Дополнительные параметры в режиме HTTP
--debug
: Включить ведение журнала отладки--github-enterprise-url <URL>
: Установить URL-адрес API GitHub Enterprise--token <TOKEN>
: Установить токен персонального доступа GitHub--language <LANG>
: Установить язык (en или ko, по умолчанию: en)
Доступные инструменты MCP
Этот сервер MCP предоставляет следующие инструменты:
Название инструмента | Описание | Параметры | Требуемые разрешения PAT |
---|---|---|---|
list-repositories | Получить список репозиториев для пользователя или организации | owner : Имя пользователя/название организации isOrg : Является ли это type организации : Тип репозитория sort : Критерии сортировки page : Номер страницы perPage : Элементов на странице | repo |
get-repository | Получить подробную информацию о репозитории | owner : Владелец репозитория repo : Имя репозитория | repo |
list-branches | Список ветвей репозитория | owner : Владелец репозитория repo : Имя репозитория protected_only : Показывать ли только защищенные ветви page : Номер страницы perPage : Элементы на странице | repo |
get-content | Извлечь содержимое файла или каталога | owner : Владелец репозитория repo : Имя репозитория path : Путь к файлу/каталогу ref : Ветвь/фиксация (необязательно) | repo |
list-pull-requests | Список запросов на извлечение в репозитории | owner : Владелец репозитория repo : Имя репозитория state : Состояние PR filter sort : Критерии сортировки direction : Направление сортировки page : Номер страницы per_page : Элементов на странице | repo |
get-pull-request | Получить детали запроса на включение | owner : Владелец репозитория repo : Имя репозитория pull_number : Номер запроса на извлечение | repo |
create-pull-request | Создать новый запрос на извлечение | owner : Владелец репозитория repo : Имя репозитория title : Название PR head : Головная ветвь base : Базовая ветвь body : Описание PR draft : Создать как черновик PR | repo |
merge-pull-request | Объединить запрос на извлечение | owner : Владелец репозитория repo : Имя репозитория pull_number : Номер запроса на извлечение merge_method : Метод слияния commit_title : Заголовок коммита commit_message : Сообщение коммита | repo |
list-issues | Список проблем в репозитории | owner : Владелец репозитория repo : Имя репозитория state : Фильтр состояния проблемы sort : Критерии сортировки direction : Направление сортировки page : Номер страницы per_page : Элементы на странице | repo |
get-issue | Получить подробную информацию о проблеме | owner : Владелец репозитория repo : Имя репозитория issue_number : Номер выпуска | repo |
list-issue-comments | Список комментариев по проблеме или запросу на включение внесенных изменений | owner : Владелец репозитория repo : Имя репозитория issue_number : Номер выпуска/PR page : Номер страницы per_page : Элементы на странице | repo |
create-issue | Создать новый выпуск | owner : Владелец репозитория repo : Имя репозитория title : Заголовок проблемы body : Содержимое тела проблемы labels : Массив имен меток assignees : Массив имен пользователей milestone : Идентификатор вехи | repo |
create-repository | Создать новый репозиторий | name : Имя репозитория description : Описание репозитория private : Является ли он частным auto_init : Инициализация с помощью README gitignore_template : Добавить .gitignore license_template : Добавить лицензию org : Название организации | repo |
update-repository | Обновить настройки репозитория | owner : Владелец репозитория repo : Имя репозитория description : Новое описание private : Изменить конфиденциальность default_branch : Изменить ветку по умолчанию has_issues : Включить/отключить проблемы has_projects : Включить/отключить проекты has_wiki : Включить/отключить вики archived : Архивировать/разархивировать | repo |
delete-repository | Удалить репозиторий | owner : Владелец репозитория repo : Имя репозитория confirm : Подтверждение (должно быть верно) | delete_repo |
list-workflows | Список рабочих процессов GitHub Actions | owner : Владелец репозитория repo : Имя репозитория page : Номер страницы perPage : Элементы на странице | actions:read |
list-workflow-runs | Список запущенных рабочих процессов | owner : Владелец репозитория repo : Имя репозитория workflow_id : Идентификатор рабочего процесса/имя файла branch : Фильтр по status ветви : Фильтр по статусу page : Номер страницы perPage : Элементы на странице | actions:read |
trigger-workflow | Запустить рабочий процесс | owner : Владелец репозитория repo : Имя репозитория workflow_id : Идентификатор/имя файла рабочего процесса ref : Ссылка Git inputs : Входные данные рабочего процесса | actions:write |
get-license-info | Получить информацию о лицензии GitHub Enterprise | - | Требуется учетная запись site_admin (Администратор) |
get-enterprise-stats | Получить статистику системы GitHub Enterprise | - | Требуется учетная запись site_admin (Администратор) |
Примечание : Для Enterprise-специфичных инструментов (
get-license-info
иget-enterprise-stats
) требуется пользователь с правами администратора сайта . Рекомендуется Classic Personal Access Token, поскольку Fine-grained Tokens могут не поддерживать эти разрешения Enterprise-level.
Использование инструментов в курсоре
После настройки сервера MCP и настройки Cursor для подключения к нему вы можете использовать инструменты GitHub Enterprise непосредственно в чате ИИ Cursor. Вот несколько примеров:
Список репозиториев
Получение информации о репозитории
Листинг запросов на вытягивание
Управление проблемами
Работа с содержимым репозитория
Управление репозиторием
Управление пользователями (только Enterprise)
Эти функции специально разработаны для сред GitHub Enterprise Server и требуют административных разрешений:
Улучшения API
- Гибкая конфигурация URL API (поддерживает различные переменные среды и аргументы командной строки)
- Улучшенная обработка ошибок и управление тайм-аутами
- Удобное форматирование ответов и сообщений
Внося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.
Лицензия
МСК
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Сервер MCP, обеспечивающий интеграцию с API GitHub Enterprise, позволяя пользователям получать доступ к информации репозитория, управлять проблемами, запросами на извлечение, рабочими процессами и другими функциями GitHub через Cursor.
Related MCP Servers
- AsecurityFlicenseAqualityMCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.Last updated -1814TypeScript
- AsecurityFlicenseAqualityAn MCP server that allows Claude and other MCP-compatible LLMs to interact with the GitHub API, supporting features like creating issues, getting repository information, listing issues, and searching repositories.Last updated -4TypeScript
- AsecurityAlicenseAqualityA MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.Last updated -213PythonMIT License
- -securityAlicense-qualityAn MCP server that wraps around the GitHub CLI tool, allowing AI assistants to interact with GitHub repositories through commands for pull requests, issues, and repository operations.Last updated -5TypeScriptMIT License