GitHub Enterprise MCP Server

Integrations

  • Provides access to GitHub Enterprise and GitHub.com repositories, enabling repository management, branch listing, file content retrieval, and issue/PR handling through the GitHub API.

  • Offers tools for listing, viewing, and triggering GitHub Actions workflows, with capabilities for managing workflow runs and filtering by branch or status.

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

Внося вклад

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

Лицензия

МСК

You must be authenticated.

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
                  A
                  license
                  A
                  quality
                  MCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.
                  Last updated -
                  17
                  22,912
                  44,966
                  JavaScript
                  MIT License
                • 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
                  4
                  3
                  TypeScript
                  • Linux
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  An MCP server for gitingest. It allows MCP clients like Claude Desktop, Cursor, Cline etc to quickly extract information about Github repositories including repository summaries, project directory structure, file contents, etc
                  Last updated -
                  3
                  8
                  Python
                  MIT License
                  • Apple
                • 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
                  1
                  Python
                  MIT License
                  • Apple

                View all related MCP servers

                ID: 27uwbz7hqw