MCP GitHub Enterprise

Consulte dados de licença do GitHub Enterprise, incluindo resumos, detalhes por usuário, associações a organizações e funções empresariais.

Documentação

MCP GITHUB ENTERPRISE 🌉

Python >=3.9
MCP Protocol
GitHub API

Um servidor Model Context Protocol (MCP) que permite que agentes de IA (Claude, ChatGPT, etc.) consultem os dados de licença do seu GitHub Enterprise. Obtenha com segurança resumos de licenças, detalhes por usuário, associações a organizações e funções empresariais por meio do endpoint /consumed-licenses.


📊 Recursos e Exemplos de Prompts

  • Resumo da Licença
    "Show me our GitHub Enterprise license summary"
    "How many licenses are we currently using?"

  • Uso Detalhado da Licença
    "List all consumed GitHub licenses"
    "Do we have any unused GitHub licenses?"

  • Consulta de Usuário
    "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?"


🌟 Funcionalidades

  • Análise de Licenças: Total vs. assentos consumidos
  • Consulta de Usuário: Associações a organizações, funções, 2FA, ID SAML
  • Paginação: Gerencia grandes empresas automaticamente
  • Transportes Duplos: stdio para MCP direto, SSE para HTTP
  • Pronto para Kubernetes: Implante em EKS/GKE ou qualquer cluster K8s

📋 Pré-requisitos

  • Python 3.9+
  • PAT do GitHub com escopos de read:enterprise / licença
  • Locatário do GitHub Enterprise Cloud

🚀 Início Rápido

1. Clone e Instale

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. Configure

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

3. Execute

Transporte stdio

export TRANSPORT=stdio
python main.py

Transporte SSE

export TRANSPORT=sse PORT=8050
python main.py

🐳 Docker e n8n

Adicione este serviço ao seu docker-compose.yml junto com o 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

Na interface do n8n, habilite o cliente MCP:

🔌 Configuração do Cliente

Claude Desktop / Windsurf / Cursor

Adicione esta configuração às configurações do seu 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"
     }
   }
}

Configuração SSE

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

📊 Exemplos de Casos de Uso

  • Gerenciamento de Usuários Empresariais: Automatize a integração e o desligamento de usuários
  • Monitoramento de Licenças: Receba alertas quando as licenças estiverem próximas da expiração
  • Análise de Organizações: Analise estruturas e relacionamentos organizacionais
  • Auditoria de Acesso de Usuários: Acompanhe permissões e níveis de acesso dos usuários
  • Insights do GitHub com IA: Deixe a IA analisar seus dados do GitHub empresarial

🔌 Ferramentas e Recursos MCP

Ferramentas

NomeDescrição
list_consumed_licensesResuma licenças, opcionalmente inclua usuários
get_user_organizationsListe as associações de organizações GitHub de um usuário
get_user_enterprise_rolesListe as funções empresariais de um usuário
get_user_detailDetalhe completo da licença de um usuário

Recursos

URIDescrição
github://consumed-licenses/{dummy}Uso completo da licença + detalhes do usuário
github://user/{username}/rolesFunções de organização e empresariais de um usuário

🔒 Considerações de Segurança

  • Armazene seu token do GitHub com segurança
  • Use escopos apropriados para seu token do GitHub
  • Para produção, considere usar o AWS Secrets Manager ou similar
  • Implemente políticas de rede em implantações Kubernetes

🤝 Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

  1. Faça um fork do repositório
  2. Crie sua branch de funcionalidade (git checkout -b feature/amazing-feature)
  3. Faça commit das suas alterações (git commit -m 'Add some amazing feature')
  4. Envie para a branch (git push origin feature/amazing-feature)
  5. Abra um Pull Request

📜 Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

🙏 Agradecimentos


Construído com ❤️ para uma integração perfeita entre IA ↔️ GitHub Enterprise.