MCP GitHub Enterprise

Consultar datos de licencia de GitHub Enterprise, incluidos resúmenes, detalles por usuario, membresías de

Documentación

MCP GITHUB ENTERPRISE 🌉

Python >=3.9
MCP Protocol
GitHub API

Un servidor de Model Context Protocol (MCP) que permite a los agentes de IA (Claude, ChatGPT, etc.) consultar los datos de licencia de tu GitHub Enterprise. Obtén de forma segura resúmenes de licencias, detalles por usuario, membresías de organizaciones y roles empresariales a través del endpoint /consumed-licenses.


📊 Capacidades y Ejemplos de Prompts

  • Resumen de Licencias
    "Show me our GitHub Enterprise license summary"
    "How many licenses are we currently using?"

  • Uso Detallado de Licencias
    "List all consumed GitHub licenses"
    "Do we have any unused GitHub licenses?"

  • Búsqueda de Usuarios
    "What GitHub orgs does johndoe belong to?"
    "What enterprise roles does johndoe have?"
    "Is johndoe an owner in our enterprise?"
    "Get detailed info about johndoe"
    "Does johndoe have 2FA enabled?"


🌟 Características

  • Analítica de Licencias: Asientos totales vs. consumidos
  • Búsqueda de Usuarios: Membresías de organizaciones, roles, 2FA, ID SAML
  • Paginación: Gestiona grandes empresas automáticamente
  • Transportes Duales: stdio para MCP directo, SSE para HTTP
  • Listo para Kubernetes: Despliega en EKS/GKE o cualquier clúster K8s

📋 Requisitos Previos

  • Python 3.9+
  • PAT de GitHub con alcances de read:enterprise / licencia
  • Tenant de GitHub Enterprise Cloud

🚀 Inicio Rápido

1. Clonar e Instalar

git clone https://github.com/vipink1203/mcp-github-enterprise.git
cd mcp-github-enterprise
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

2. Configurar

cp .env.example .env
# Edit .env: set GITHUB_TOKEN and GITHUB_ENTERPRISE_URL

3. Ejecutar

Transporte stdio

export TRANSPORT=stdio
python main.py

Transporte SSE

export TRANSPORT=sse PORT=8050
python main.py

🐳 Docker y n8n

Añade este servicio a tu docker-compose.yml junto con n8n:

services:
  github-mcp:
    image: ghcr.io/vipink1203/mcp-github-enterprise:latest
    environment:
      - GITHUB_TOKEN=${GITHUB_TOKEN}
      - GITHUB_ENTERPRISE_URL=${GITHUB_ENTERPRISE_URL}
      - TRANSPORT=sse
      - PORT=8050
    ports:
      - "8050:8050"
    restart: unless-stopped
    networks:
      - n8n-network

En la interfaz de n8n, habilita el cliente MCP:

🔌 Configuración del Cliente

Claude Desktop / Windsurf / Cursor

Añade esta configuración a los ajustes de Claude Desktop:

{
  "mcpServers": {
   "github-ent": {
     "command": "/path/to/your/venv/python",
     "args": ["/path/to/main.py"],
     "env": {
       "GITHUB_TOKEN": "",
       "GITHUB_ENTERPRISE_URL": "https://api.github.com/enterprises/{enterprise_name}",
       "TRANSPORT": "stdio"
     }
   }
}

Configuración SSE

{
  "mcpServers": {
    "github": {
      "transport": "sse",
      "url": "http://localhost:8050/sse"
    }
  }
}

📊 Casos de Uso de Ejemplo

  • Gestión de Usuarios Empresariales: Automatiza la incorporación y baja de usuarios
  • Monitoreo de Licencias: Recibe alertas cuando las licencias estén cerca de expirar
  • Análisis de Organizaciones: Analiza estructuras y relaciones organizacionales
  • Auditoría de Acceso de Usuarios: Rastrea permisos y niveles de acceso de usuarios
  • Información de GitHub impulsada por IA: Deja que la IA analice tus datos de GitHub Enterprise

🔌 Herramientas y Recursos MCP

Herramientas

NombreDescripción
list_consumed_licensesResumir licencias, incluir usuarios opcionalmente
get_user_organizationsListar las membresías de organizaciones de GitHub de un usuario
get_user_enterprise_rolesListar los roles empresariales de un usuario
get_user_detailDetalle completo de licencia para un usuario

Recursos

URIDescripción
github://consumed-licenses/{dummy}Uso completo de licencia + detalles del usuario
github://user/{username}/rolesRoles de organización y empresariales para un usuario

🔒 Consideraciones de Seguridad

  • Almacena tu token de GitHub de forma segura
  • Usa alcances apropiados para tu token de GitHub
  • Para producción, considera usar AWS Secrets Manager o similar
  • Implementa políticas de red en despliegues de Kubernetes

🤝 Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request.

  1. Haz un fork del repositorio
  2. Crea tu rama de características (git checkout -b feature/amazing-feature)
  3. Haz commit de tus cambios (git commit -m 'Add some amazing feature')
  4. Haz push a la rama (git push origin feature/amazing-feature)
  5. Abre un Pull Request

📜 Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

🙏 Agradecimientos


Construido con ❤️ para una integración fluida entre IA ↔️ GitHub Enterprise.