Skip to main content
Glama

GitHub Enterprise MCP Server

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
  1. Создайте образ Docker:
    docker build -t github-enterprise-mcp .
  2. Запустите 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
  1. Создайте файл .env в корне проекта с необходимыми переменными среды:
    GITHUB_ENTERPRISE_URL=https://github.your-company.com/api/v3 GITHUB_TOKEN=your_github_token DEBUG=true
  2. Запустите контейнер с помощью Docker Compose:
    docker-compose up -d
  3. Проверьте журналы:
    docker-compose logs -f
  4. Остановите контейнер:
    docker-compose down

Установка и настройка

Локальная разработка (с использованием параллельного режима)

Этот метод рекомендуется для активной разработки с автоматической перекомпиляцией и перезапусками сервера:

  1. Клонируйте репозиторий и установите необходимые пакеты:
    git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm install
  2. Запустите сервер разработки:
    export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" npm run dev
    Это позволит:
    • Автоматически компилировать код TypeScript при изменении файлов
    • Перезапустите сервер после обновления скомпилированных файлов.
    • Запустите сервер в режиме HTTP для подключений на основе URL.
  3. Подключитесь к курсору, используя режим URL, как описано ниже.

Установка и настройка для производства

Вариант 1: использование режима URL (рекомендуется для локальной разработки)

Этот метод наиболее стабилен и рекомендуется для локальной разработки или тестирования:

  1. Клонируйте репозиторий и установите необходимые пакеты:
    git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm install
  2. Создайте проект:
    npm run build chmod +x dist/index.js
  3. Запустите сервер:
    export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" node dist/index.js --transport http --debug
  4. Подключитесь к курсору, используя режим 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:

  1. Запустите сервер в отдельном окне терминала:
    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
  2. Настройте параметры MCP курсора:
    • Откройте Курсор и перейдите в Настройки.
    • Перейдите в раздел AI > MCP-серверы.
    • Отредактируйте файл .cursor/mcp.json :
    { "mcpServers": { "github-enterprise": { "url": "http://localhost:3000/sse" } } }
  3. Перезапустите курсор, чтобы применить изменения.
Альтернатива: командный режим

В качестве альтернативы вы можете настроить Cursor на использование командного режима, хотя режим URL более надежен:

  1. Откройте Курсор и перейдите в Настройки.
  2. Перейдите в раздел AI > MCP-серверы.
  3. Нажмите Добавить сервер MCP.
  4. Введите следующие данные:
    • Имя : GitHub Enterprise
    • Команда : npx
    • Аргументы : @ddukbg/github-enterprise-mcp
    • Переменные среды :
      • GITHUB_ENTERPRISE_URL : URL-адрес вашего API GitHub Enterprise
      • GITHUB_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
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 : Создать как черновик PRrepo
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 Actionsowner : Владелец репозитория 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. Вот несколько примеров:

Список репозиториев

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 (поддерживает различные переменные среды и аргументы командной строки)
  • Улучшенная обработка ошибок и управление тайм-аутами
  • Удобное форматирование ответов и сообщений

Внося вклад

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.

Лицензия

МСК

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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.

Сервер MCP, обеспечивающий интеграцию с API GitHub Enterprise, позволяя пользователям получать доступ к информации репозитория, управлять проблемами, запросами на извлечение, рабочими процессами и другими функциями GitHub через Cursor.

  1. Совместимость
    1. Основные характеристики
      1. Начиная
        1. Предпосылки
        2. Установка и настройка Docker
        3. Установка и настройка
        4. Установка и настройка для производства
      2. Интеграция с инструментами ИИ
        1. Клод Десктоп
        2. Курсор
      3. Конфигурация языка
        1. Переменные среды
        2. Аргументы командной строки
      4. Дополнительные параметры в режиме HTTP
        1. Доступные инструменты MCP
          1. Использование инструментов в курсоре
            1. Список репозиториев
            2. Получение информации о репозитории
            3. Листинг запросов на вытягивание
            4. Управление проблемами
            5. Работа с содержимым репозитория
            6. Управление репозиторием
            7. Управление пользователями (только Enterprise)
          2. Улучшения API
            1. Внося вклад
              1. Лицензия

                Related MCP Servers

                • A
                  security
                  F
                  license
                  A
                  quality
                  MCP 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 -
                  18
                  1
                  4
                  TypeScript
                  • Linux
                  • Apple
                • A
                  security
                  F
                  license
                  A
                  quality
                  An 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 -
                  4
                  TypeScript
                • A
                  security
                  A
                  license
                  A
                  quality
                  A MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.
                  Last updated -
                  2
                  13
                  Python
                  MIT License
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  An 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 -
                  5
                  TypeScript
                  MIT License
                  • Linux
                  • Apple

                View all related MCP servers

                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