Skip to main content
Glama

GitHub Enterprise MCP Server

Значок оценки безопасности MseeP.ai

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

: Создать как черновик 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. Вот несколько примеров:

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

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

  • Улучшенная обработка ошибок и управление тайм-аутами

  • Удобное форматирование ответов и сообщений

Внося вклад

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

Лицензия

МСК

Deploy Server
A
security – no known vulnerabilities
-
license - not tested
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
                  -
                  license
                  A
                  quality
                  MCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.
                  Last updated -
                  22,573
                  71,962
                  MIT License
                • A
                  security
                  -
                  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
                  0
                  4
                  • Linux
                  • Apple
                • A
                  security
                  -
                  license
                  A
                  quality
                  A MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.
                  Last updated -
                  2
                  35
                  MIT License
                  • Apple
                • -
                  security
                  -
                  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 -
                  2
                  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