Servidor MCP de GitHub Enterprise
Un servidor MCP (Protocolo de Contexto de Modelo) para la integración con la API de GitHub Enterprise. Este servidor proporciona una interfaz MCP para acceder fácilmente a la información del repositorio, incidencias, solicitudes de registro y más desde GitHub Enterprise en Cursor.
Compatibilidad
Este proyecto está diseñado principalmente para entornos de GitHub Enterprise Server, pero también funciona con:
GitHub.com
Nube empresarial de GitHub
Nota : Algunas funciones específicas de la empresa (como la información de licencia y las estadísticas empresariales) no funcionarán con GitHub.com o GitHub Enterprise Cloud.
Características principales
Recuperar la lista de repositorios de las instancias de GitHub Enterprise
Obtenga información detallada del repositorio
Lista de ramas del repositorio
Ver el contenido de archivos y directorios
Gestionar problemas y solicitudes de extracción
Gestión de repositorios (crear, actualizar, eliminar)
Gestión de flujos de trabajo de GitHub Actions
Gestión de usuarios (enumerar, crear, actualizar, eliminar, suspender/reactivar usuarios)
Acceda a las estadísticas empresariales
Manejo de errores mejorado y formato de respuesta fácil de usar
Empezando
Prerrequisitos
Node.js 18 o superior
Acceso a una instancia de GitHub Enterprise
Token de acceso personal (PAT)
Instalación y configuración de Docker
Opción 1: Ejecutar con Docker
Construya la imagen de Docker:
docker build -t github-enterprise-mcp .Ejecute el contenedor Docker con variables de entorno:
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
Nota : El Dockerfile está configurado para ejecutarse con
--transport httpde forma predeterminada. Si necesita cambiar esto, puede anular el comando:
Opción 2: Usar Docker Compose
Cree un archivo
.enven la raíz del proyecto con las variables de entorno requeridas:GITHUB_ENTERPRISE_URL=https://github.your-company.com/api/v3 GITHUB_TOKEN=your_github_token DEBUG=trueInicie el contenedor con Docker Compose:
docker-compose up -dRevisar los registros:
docker-compose logs -fDetener el contenedor:
docker-compose down
Instalación y configuración
Desarrollo local (utilizando el modo concurrente)
Este método se recomienda para el desarrollo activo con recompilación automática y reinicios del servidor:
Clonar el repositorio e instalar los paquetes necesarios:
git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm installEjecute el servidor de desarrollo:
export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" npm run devEsto hará lo siguiente:
Compilar código TypeScript automáticamente cuando cambian los archivos
Reiniciar el servidor cuando se actualicen los archivos compilados
Ejecute el servidor en modo HTTP para conexiones basadas en URL
Conéctese a Cursor usando el modo URL como se describe a continuación
Instalación y configuración para producción
Opción 1: Usar el modo URL (recomendado para desarrollo local)
Este método es el más estable y recomendado para desarrollo o pruebas locales:
Clonar el repositorio e instalar los paquetes necesarios:
git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm installConstruir el proyecto:
npm run build chmod +x dist/index.jsEjecutar el servidor:
export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" node dist/index.js --transport http --debugConectarse al Cursor usando el modo URL:
Agregue lo siguiente al archivo
.cursor/mcp.jsonde su Cursor:
{ "mcpServers": { "github-enterprise": { "url": "http://localhost:3000/sse" } } }
Opción 2: Instalar como comando global (enlace npm)
Este método es útil para el desarrollo local:
Opción 3: Usar npx (cuando se publica el paquete)
Si el paquete se publica en el registro público npm:
Integración con herramientas de IA
Escritorio de Claude
Agregue lo siguiente a su claude_desktop_config.json :
Reemplace YOUR_GITHUB_TOKEN y YOUR_GITHUB_ENTERPRISE_URL con sus valores reales.
Cursor
Recomendado: Modo URL (más estable)
Para obtener el funcionamiento más confiable en Cursor, se recomienda utilizar el modo URL:
Inicie el servidor en una ventana de terminal independiente:
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 httpConfigurar los ajustes MCP del cursor:
Abra Cursor y vaya a Configuración
Vaya a AI > Servidores MCP
Edite su archivo
.cursor/mcp.json:
{ "mcpServers": { "github-enterprise": { "url": "http://localhost:3000/sse" } } }Reinicie el cursor para aplicar los cambios
Alternativa: Modo Comando
Como alternativa, puede configurar Cursor para utilizar el modo de comando, aunque el modo URL es más confiable:
Abra Cursor y vaya a Configuración
Vaya a AI > Servidores MCP
Haga clic en Agregar servidor MCP
Introduzca los siguientes datos:
Nombre : GitHub Enterprise
Comando :
npxArgumentos :
@ddukbg/github-enterprise-mcpVariables de entorno :
GITHUB_ENTERPRISE_URL: La URL de tu API de GitHub EnterpriseGITHUB_TOKEN: Su token de acceso personal de GitHub
Alternativamente, puede editar manualmente su archivo .cursor/mcp.json para incluir:
Configuración del idioma
Este servidor MCP admite los idiomas inglés y coreano. Puede configurar el idioma mediante:
Variables de entorno
Argumentos de la línea de comandos
El idioma predeterminado es inglés si no se especifica.
Opciones adicionales en el modo HTTP
--debug: Habilitar el registro de depuración--github-enterprise-url <URL>: Establecer la URL de la API de GitHub Enterprise--token <TOKEN>: Establecer el token de acceso personal de GitHub--language <LANG>: Establece el idioma (en o ko, predeterminado: en)
Herramientas MCP disponibles
Este servidor MCP proporciona las siguientes herramientas:
Nombre de la herramienta | Descripción | Parámetros | Permisos PAT requeridos |
| Recuperar la lista de repositorios de un usuario u organización |
: nombre de usuario/nombre de la organización
: si es una organización
: tipo de repositorio
: criterios de ordenación
: número de página
: elementos por página |
|
| Obtenga información detallada del repositorio |
: Propietario del repositorio
: Nombre del repositorio |
|
| Listar ramas de un repositorio |
: Propietario del repositorio
: Nombre del repositorio
: Si se deben mostrar solo las ramas protegidas
: Número de página
: Elementos por página |
|
| Recuperar el contenido de un archivo o directorio |
: Propietario del repositorio
: Nombre del repositorio
: Ruta del archivo/directorio
: Rama/confirmación (opcional) |
|
| Listar solicitudes de extracción en un repositorio |
: Propietario del repositorio
: Nombre del repositorio
: Estado de PR filter
: Criterios de ordenación
: Dirección de ordenación
: Número de página
: Elementos por página |
|
| Obtener detalles de la solicitud de extracción |
: Propietario del repositorio
: Nombre del repositorio
: Número de solicitud de extracción |
|
| Crear una nueva solicitud de extracción |
: Propietario del repositorio
: Nombre del repositorio
: Título del PR
: Rama principal
: Rama base
: Descripción del PR
: Crear como borrador del PR |
|
| Fusionar una solicitud de extracción |
: propietario del repositorio
: nombre del repositorio
: número de solicitud de extracción
: método de fusión
: título de la confirmación
: mensaje de confirmación |
|
| Enumerar problemas en un repositorio |
: Propietario del repositorio
: Nombre del repositorio
: Estado del problema filter
: Criterios de ordenación
: Dirección de ordenación
: Número de página
: Elementos por página |
|
| Obtener detalles del problema |
: Propietario del repositorio
: Nombre del repositorio
: Número de emisión |
|
| Listar comentarios sobre un problema o solicitud de extracción |
: Propietario del repositorio
: Nombre del repositorio
: Número de emisión/PR
: Número de página
: Elementos por página |
|
| Crear un nuevo problema |
: propietario del repositorio
: nombre del repositorio
: título del problema
: contenido del cuerpo del problema
: matriz de nombres de etiquetas
: matriz de inicios de sesión de usuarios
: ID del hito |
|
| Crear un nuevo repositorio |
: Nombre del repositorio
: Descripción del repositorio
: Si es privado
: Inicializar con README
: Agregar .gitignore
: Agregar licencia
: Nombre de la organización |
|
| Actualizar la configuración del repositorio |
: Propietario del repositorio
: Nombre del repositorio
: Nueva descripción
: Cambiar privacidad
: Cambiar rama predeterminada
: Habilitar/deshabilitar problemas
: Habilitar/deshabilitar proyectos
: Habilitar/deshabilitar wiki
: Archivar/desarchivar |
|
| Eliminar un repositorio |
: Propietario del repositorio
: Nombre del repositorio
: Confirmación (debe ser verdadera) |
|
| Lista de flujos de trabajo de GitHub Actions |
: Propietario del repositorio
: Nombre del repositorio
: Número de página
: Elementos por página |
|
| Lista de ejecuciones del flujo de trabajo |
: Propietario del repositorio
: Nombre del repositorio
: ID de flujo de trabajo/nombre de archivo
: Filtrar por rama
: Filtrar por estado
: Número de página
: Elementos por página |
|
| Activar un flujo de trabajo |
: propietario del repositorio
: nombre del repositorio
: ID de flujo de trabajo/nombre de archivo
: referencia de Git
: entradas de flujo de trabajo |
|
| Obtener información sobre la licencia de GitHub Enterprise | - | Requiere una cuenta site_admin (Administrador) |
| Obtener estadísticas del sistema de GitHub Enterprise | - | Requiere una cuenta site_admin (Administrador) |
Nota : Para las herramientas específicas de Enterprise (
get-license-infoyget-enterprise-stats), se requiere un usuario con privilegios de administrador del sitio . Se recomienda un token de acceso personal clásico, ya que los tokens específicos podrían no ser compatibles con estos permisos de nivel empresarial.
Uso de las herramientas en el cursor
Una vez configurado el servidor MCP y Cursor para conectarse a él, puede usar las herramientas de GitHub Enterprise directamente en el chat de IA de Cursor. Aquí hay algunos ejemplos:
Listado de repositorios
Obtención de información del repositorio
Listado de solicitudes de extracción
Gestión de problemas
Trabajar con el contenido del repositorio
Gestión de repositorios
Administración de usuarios (solo Enterprise)
Estas funciones están diseñadas específicamente para entornos de GitHub Enterprise Server y requieren permisos administrativos:
Mejoras de la API
Configuración flexible de URL de API (admite diversas variables de entorno y argumentos de línea de comandos)
Manejo mejorado de errores y gestión del tiempo de espera
Formato de respuesta y mensajes fáciles de usar
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
Licencia
ISC
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
Un servidor MCP que permite la integración con la API de GitHub Enterprise, lo que permite a los usuarios acceder a la información del repositorio, administrar problemas, solicitudes de extracción, flujos de trabajo y otras funciones de GitHub a través de Cursor.
Related MCP Servers
- Asecurity-licenseAqualityMCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.Last updated -22,57371,962MIT License
- Asecurity-licenseAqualityMCP 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 -1804
- Asecurity-licenseAqualityA MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.Last updated -235MIT License
- -security-license-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 -2MIT License