Skip to content

Latest commit

 

History

History
350 lines (251 loc) · 8.25 KB

File metadata and controls

350 lines (251 loc) · 8.25 KB

🔗 Integração com Ecossistema MCP

📋 Visão Geral

O GitHub Mastery foi totalmente integrado ao MCP Ecosystem, fornecendo capacidades avançadas de Model Context Protocol para agentes de IA e outras aplicações. Esta integração permite que o GitHub Mastery funcione como um servidor MCP especializado em operações GitHub.

🏗️ Arquitetura da Integração

GitHub Mastery                     MCP Ecosystem
┌─────────────────┐                ┌─────────────────┐
│                 │                │                 │
│ GitHub MCP      │◄──────────────►│ Server          │
│ Server          │                │ Framework       │
│                 │                │                 │
├─────────────────┤                ├─────────────────┤
│                 │                │                 │
│ Ecosystem       │◄──────────────►│ Rules Engine    │
│ Adapter         │                │                 │
│                 │                │                 │
├─────────────────┤                ├─────────────────┤
│                 │                │                 │
│ GitHub Client   │◄──────────────►│ SAGE            │
│ API             │                │ Integration     │
│                 │                │                 │
└─────────────────┘                └─────────────────┘

🚀 Componentes Principais

1. GitHub MCP Server (mcp/github-mcp-server.js)

Servidor MCP especializado que expõe ferramentas GitHub:

  • Autenticação: github_authenticate
  • Repositórios: github_list_repos, github_get_repo, github_create_repo
  • Issues: github_list_issues
  • Monitoramento: github_rate_limit

2. Ecosystem Adapter (mcp/ecosystem-adapter.js)

Adaptador que integra o servidor GitHub com o ecossistema MCP:

  • Rules Engine: Aplicação automática de regras
  • Monitoramento: Métricas e health checks
  • Orquestração: Comunicação com outros servidores MCP

3. Configuração de Integração (mcp-ecosystem-integration.json)

Arquivo de configuração que define:

  • Metadados de integração
  • Esquemas de ferramentas
  • Recursos disponíveis
  • Pontos de integração
  • Configurações de segurança

📦 Instalação e Deployment

Pré-requisitos

  1. Ecossistema MCP instalado e configurado
  2. Node.js >= 18.x
  3. Token GitHub com permissões adequadas
  4. Git configurado

Processo de Deployment

# 1. Verificar ambiente
npm run deploy:check

# 2. Executar deployment
npm run deploy:ecosystem

# 3. Verificar status
npm run ecosystem:status

Deployment Manual

# Executar script de deployment
node scripts/deploy-to-ecosystem.js

# Verificar integração
node scripts/deploy-to-ecosystem.js --dry-run

# Rollback se necessário
node scripts/deploy-to-ecosystem.js --rollback

⚙️ Configuração

Variáveis de Ambiente

# Token GitHub (obrigatório)
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx

# Configurações MCP (opcionais)
MCP_SERVER_NAME=github-mastery
MCP_SERVER_VERSION=1.0.0
NODE_ENV=production

# Endpoint do ecossistema
MCP_ECOSYSTEM_ENDPOINT=http://localhost:3000

Configuração de Integração

O arquivo mcp-ecosystem-integration.json define:

{
  "integration": {
    "name": "github-mastery",
    "version": "1.0.0",
    "type": "mcp-server"
  },
  "server": {
    "capabilities": {
      "tools": true,
      "resources": true,
      "prompts": false,
      "sampling": false
    }
  },
  "integration_points": {
    "rules_engine": {
      "enabled": true,
      "rules": [
        "github-rate-limiting",
        "github-security-validation",
        "github-data-sanitization"
      ]
    }
  }
}

🔧 Uso

Iniciar Adaptador do Ecossistema

# Modo standalone
npm run mcp:ecosystem

# Modo integrado ao ecossistema
node mcp/ecosystem-adapter.js

Iniciar Servidor MCP

# Servidor MCP básico
npm run mcp

# Servidor com adaptador
node mcp/github-mcp-server.js

Testar Ferramentas

import { GitHubMCPEcosystemAdapter } from './mcp/ecosystem-adapter.js';

const adapter = new GitHubMCPEcosystemAdapter();
await adapter.initialize();

// Executar ferramenta via adaptador
const result = await adapter.executeTool('github_authenticate');
console.log(result);

// Verificar status
const status = adapter.getStatus();
console.log(status);

📊 Monitoramento

Métricas Disponíveis

  • requests_total: Total de requisições
  • tools_executed: Ferramentas executadas
  • tools_errors: Erros em ferramentas
  • github_rate_limit_remaining: Rate limit restante
  • uptime: Tempo de atividade
  • memory_usage: Uso de memória

Health Checks

# Verificar saúde do adaptador
curl http://localhost:3000/health

# Status via script
npm run ecosystem:status

Logs

# Ver logs em tempo real
npm run logs

# Logs específicos do MCP
tail -f logs/mcp-server.log

🛡️ Segurança

Rules Engine

O sistema inclui regras automáticas de segurança:

  1. Rate Limiting: Monitora limits da API GitHub
  2. Security Validation: Valida permissões e operações
  3. Data Sanitization: Remove dados sensíveis

Controle de Acesso

  • Tokens GitHub com permissões mínimas necessárias
  • Validação de entrada em todas as ferramentas
  • Audit trail de todas as operações

🔄 Integração com SAGE

Context Sharing

O adaptador compartilha contexto com o sistema SAGE:

// Exemplo de regra SAGE integrada
{
  "condition": "context.tool === 'github_create_repo'",
  "action": "validate_repo_policies",
  "sage_integration": true
}

Sincronização de Regras

  • Regras GitHub sincronizadas com SAGE
  • Contexto de usuário compartilhado
  • Métricas unificadas

🧪 Testes

Testes de Integração

# Executar testes completos
npm test

# Testes específicos de MCP
npm run test:mcp

# Testes de integração com ecossistema
npm run test:ecosystem

Validação Manual

# Validar configuração
node scripts/validate-mcp-integration.js

# Testar conectividade
node scripts/test-ecosystem-connection.js

📚 Recursos Avançados

Orquestração Multi-Servidor

  • Load balancing entre servidores MCP
  • Failover automático
  • Roteamento inteligente de requisições

Cache Inteligente

  • Cache de responses da API GitHub
  • TTL configurável por tipo de operação
  • Invalidação automática baseada em eventos

Extensibilidade

  • Plugin system para novas ferramentas
  • Hooks para personalização
  • APIs para integração com outros sistemas

🔍 Troubleshooting

Problemas Comuns

  1. Conexão com Ecossistema Falhando

    # Verificar endpoint
    echo $MCP_ECOSYSTEM_ENDPOINT
    
    # Testar conectividade
    curl $MCP_ECOSYSTEM_ENDPOINT/health
  2. Token GitHub Inválido

    # Verificar token
    curl -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/user
  3. Dependências Ausentes

    # Reinstalar dependências
    npm run clean && npm install

Logs de Debug

# Habilitar debug
DEBUG=mcp:* npm run mcp:ecosystem

# Logs detalhados
NODE_ENV=development npm run mcp:ecosystem

🚀 Próximos Passos

  1. Expansão de Ferramentas: Adicionar mais operações GitHub
  2. Integração com CI/CD: Hooks para pipelines
  3. Analytics Avançadas: Dashboard de métricas
  4. Multi-tenancy: Suporte a múltiplas contas GitHub
  5. Plugin Ecosystem: Marketplace de extensões

📞 Suporte

Para questões sobre a integração MCP:

  1. Verificar logs: npm run logs
  2. Executar diagnósticos: npm run ecosystem:status
  3. Consultar documentação do MCP Ecosystem
  4. Abrir issue no repositório principal

Nota: Esta integração está em constante evolução. Consulte sempre a documentação mais recente do MCP Ecosystem para compatibilidade.