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.
Related MCP server: GitHub MCP Server Plus
Основные характеристики
Получить список репозиториев из экземпляров GitHub Enterprise
Получить подробную информацию о репозитории
Список ветвей репозитория
Просмотр содержимого файлов и каталогов
Управление проблемами и запросами на извлечение
Управление репозиторием (создание, обновление, удаление)
Управление рабочими процессами GitHub Actions
Управление пользователями (список, создание, обновление, удаление, приостановка/отмена приостановки пользователей)
Доступ к корпоративной статистике
Улучшенная обработка ошибок и удобное форматирование ответов
Начиная
Предпосылки
Node.js 18 или выше
Доступ к экземпляру GitHub Enterprise
Персональный токен доступа (PAT)
Установка и настройка Docker
Вариант 1: запуск с Docker
Создайте образ Docker:
docker build -t github-enterprise-mcp .Запустите Docker-контейнер с переменными среды:
docker run -p 3000:3000 \ -e GITHUB_TOKEN="your_github_token" \ -e GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" \ -e DEBUG=true \ github-enterprise-mcp
Примечание : Dockerfile настроен на запуск с
--transport httpпо умолчанию. Если вам нужно изменить это, вы можете переопределить команду:
docker run -p 3000:3000 \
-e GITHUB_TOKEN="your_github_token" \
-e GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" \
-e DEBUG=true \
github-enterprise-mcp node dist/index.js --transport http --debugВариант 2: Использование Docker Compose
Создайте файл
.envв корне проекта с необходимыми переменными среды:GITHUB_ENTERPRISE_URL=https://github.your-company.com/api/v3 GITHUB_TOKEN=your_github_token DEBUG=trueЗапустите контейнер с помощью Docker Compose:
docker-compose up -dПроверьте журналы:
docker-compose logs -fОстановите контейнер:
docker-compose down
Установка и настройка
Локальная разработка (с использованием параллельного режима)
Этот метод рекомендуется для активной разработки с автоматической перекомпиляцией и перезапусками сервера:
Клонируйте репозиторий и установите необходимые пакеты:
git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm installЗапустите сервер разработки:
export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" npm run devЭто позволит:
Автоматически компилировать код TypeScript при изменении файлов
Перезапустите сервер после обновления скомпилированных файлов.
Запустите сервер в режиме HTTP для подключений на основе URL.
Подключитесь к курсору, используя режим URL, как описано ниже.
Установка и настройка для производства
Вариант 1: использование режима URL (рекомендуется для локальной разработки)
Этот метод наиболее стабилен и рекомендуется для локальной разработки или тестирования:
Клонируйте репозиторий и установите необходимые пакеты:
git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm installСоздайте проект:
npm run build chmod +x dist/index.jsЗапустите сервер:
export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" node dist/index.js --transport http --debugПодключитесь к курсору, используя режим URL:
Добавьте следующее в файл
.cursor/mcp.jsonвашего курсора:
{ "mcpServers": { "github-enterprise": { "url": "http://localhost:3000/sse" } } }
Вариант 2: Установка как глобальной команды (ссылка npm)
Этот метод полезен для местного развития:
# After cloning the repository
git clone https://github.com/ddukbg/github-enterprise-mcp.git
cd github-enterprise-mcp
# Install required packages
npm install
# Build
npm run build
chmod +x dist/index.js
# Link globally
npm link
# Run as a global command
export GITHUB_TOKEN="your_github_token"
export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3"
github-enterprise-mcp --transport=http --debugВариант 3: Использование npx (когда пакет опубликован)
Если пакет опубликован в публичном реестре npm:
npx @ddukbg/github-enterprise-mcp --token=your_github_token --github-enterprise-url=https://github.your-company.com/api/v3Интеграция с инструментами ИИ
Клод Десктоп
Добавьте следующее в ваш claude_desktop_config.json :
{
"mcpServers": {
"github-enterprise": {
"command": "npx",
"args": ["-y", "@ddukbg/github-enterprise-mcp", "--token=YOUR_GITHUB_TOKEN", "--github-enterprise-url=YOUR_GITHUB_ENTERPRISE_URL"]
}
}
}Замените YOUR_GITHUB_TOKEN и YOUR_GITHUB_ENTERPRISE_URL на ваши фактические значения.
Курсор
Рекомендуется: режим URL (наиболее стабильный)
Для наиболее надежной работы в Курсоре рекомендуется использовать режим URL:
Запустите сервер в отдельном окне терминала:
cd /path/to/github-enterprise-mcp GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" GITHUB_TOKEN="your_github_token" node dist/index.js --transport httpНастройте параметры MCP курсора:
Откройте Курсор и перейдите в Настройки.
Перейдите в раздел AI > MCP-серверы.
Отредактируйте файл
.cursor/mcp.json:
{ "mcpServers": { "github-enterprise": { "url": "http://localhost:3000/sse" } } }Перезапустите курсор, чтобы применить изменения.
Альтернатива: командный режим
В качестве альтернативы вы можете настроить Cursor на использование командного режима, хотя режим URL более надежен:
Откройте Курсор и перейдите в Настройки.
Перейдите в раздел AI > MCP-серверы.
Нажмите Добавить сервер MCP.
Введите следующие данные:
Имя : GitHub Enterprise
Команда :
npxАргументы :
@ddukbg/github-enterprise-mcpПеременные среды :
GITHUB_ENTERPRISE_URL: URL-адрес вашего API GitHub EnterpriseGITHUB_TOKEN: Ваш персональный токен доступа GitHub
Кроме того, вы можете вручную отредактировать файл .cursor/mcp.json , включив в него:
{
"mcpServers": {
"github-enterprise": {
"command": "npx",
"args": [
"@ddukbg/github-enterprise-mcp"
],
"env": {
"GITHUB_ENTERPRISE_URL": "https://github.your-company.com/api/v3",
"GITHUB_TOKEN": "your_github_token"
}
}
}
}Конфигурация языка
Этот сервер MCP поддерживает английский и корейский языки. Вы можете настроить язык с помощью:
Переменные среды
# Set language to Korean
export LANGUAGE=ko
# Or in .env file
LANGUAGE=koАргументы командной строки
# Set language to Korean
node dist/index.js --language koЕсли не указан иной язык, по умолчанию используется английский.
Дополнительные параметры в режиме HTTP
--debug: Включить ведение журнала отладки--github-enterprise-url <URL>: Установить URL-адрес API GitHub Enterprise--token <TOKEN>: Установить токен персонального доступа GitHub--language <LANG>: Установить язык (en или ko, по умолчанию: en)
Доступные инструменты MCP
Этот сервер MCP предоставляет следующие инструменты:
Название инструмента | Описание | Параметры | Требуемые разрешения PAT |
| Получить список репозиториев для пользователя или организации |
|
|
| Получить подробную информацию о репозитории |
|
|
| Список ветвей репозитория |
|
|
| Извлечь содержимое файла или каталога |
|
|
| Список запросов на извлечение в репозитории |
|
|
| Получить детали запроса на включение |
|
|
| Создать новый запрос на извлечение |
|
|
| Объединить запрос на извлечение |
|
|
| Список проблем в репозитории |
|
|
| Получить подробную информацию о проблеме |
|
|
| Список комментариев по проблеме или запросу на включение внесенных изменений |
|
|
| Создать новый выпуск |
|
|
| Создать новый репозиторий |
|
|
| Обновить настройки репозитория |
|
|
| Удалить репозиторий |
|
|
| Список рабочих процессов GitHub Actions |
|
|
| Список запущенных рабочих процессов |
|
|
| Запустить рабочий процесс |
|
|
| Получить информацию о лицензии GitHub Enterprise | - | Требуется учетная запись site_admin (Администратор) |
| Получить статистику системы 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. Вот несколько примеров:
Список репозиториев
mcp_github_enterprise_list_repositories(owner="octocat")Получение информации о репозитории
mcp_github_enterprise_get_repository(owner="octocat", repo="hello-world")Листинг запросов на вытягивание
mcp_github_enterprise_list_pull_requests(owner="octocat", repo="hello-world", state="open")Управление проблемами
# List issues
mcp_github_enterprise_list_issues(owner="octocat", repo="hello-world", state="all")
# Get issue details
mcp_github_enterprise_get_issue(owner="octocat", repo="hello-world", issue_number=1)
# Get issue/PR comments
mcp_github_enterprise_list_issue_comments(owner="octocat", repo="hello-world", issue_number=1)
# Create a new issue
mcp_github_enterprise_create_issue(
owner="octocat",
repo="hello-world",
title="Found a bug",
body="Here is a description of the bug",
labels=["bug", "important"]
)Работа с содержимым репозитория
mcp_github_enterprise_get_content(owner="octocat", repo="hello-world", path="README.md")Управление репозиторием
# Create a new repository
mcp_github_enterprise_create_repository(
name="new-project",
description="This is a new project",
private=true,
auto_init=true
)
# Update repository settings
mcp_github_enterprise_update_repository(
owner="octocat",
repo="hello-world",
description="Updated description",
has_issues=true
)Управление пользователями (только Enterprise)
Эти функции специально разработаны для сред GitHub Enterprise Server и требуют административных разрешений:
# List all users in the GitHub Enterprise instance
mcp_github_enterprise_list_users(filter="active", per_page=100)
# Get a specific user's details
mcp_github_enterprise_get_user(username="octocat")
# Create a new user (Enterprise only)
mcp_github_enterprise_create_user(
login="newuser",
email="newuser@example.com",
name="New User",
company="ACME Inc."
)
# Update a user's information (Enterprise only)
mcp_github_enterprise_update_user(
username="octocat",
email="updated-email@example.com",
location="San Francisco"
)
# Suspend a user (Enterprise only)
mcp_github_enterprise_suspend_user(
username="octocat",
reason="Violation of terms of service"
)
# Unsuspend a user (Enterprise only)
mcp_github_enterprise_unsuspend_user(username="octocat")
# List organizations a user belongs to
mcp_github_enterprise_list_user_orgs(username="octocat")Улучшения API
Гибкая конфигурация URL API (поддерживает различные переменные среды и аргументы командной строки)
Улучшенная обработка ошибок и управление тайм-аутами
Удобное форматирование ответов и сообщений
Внося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.
Лицензия
МСК
Maintenance
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ddukbg/github-enterprise-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
