GitHub MCP Lightweight

Um servidor leve para analisar issues e pull requests do GitHub usando um Personal Access Token.

Documentação

GitHub MCP Lightweight

Um servidor MCP (Model Context Protocol) leve para GitHub, otimizado para análise eficiente de issues e pull requests. Este servidor fornece tamanhos de resposta mínimos ao retornar apenas campos essenciais, tornando-o perfeito para análise em massa de repositórios GitHub.

🚀 Recursos

  • Respostas leves: 90%+ menores que as respostas completas da API do GitHub
  • Apenas dados essenciais: Retorna apenas id, html_url, title, body e corpos de comentários
  • Análise em massa eficiente: Otimizado para processar grandes quantidades de issues/PRs
  • Configuração simples: Instalação e configuração fáceis
  • Ciente de limites de taxa: Consciência integrada dos limites de taxa da API do GitHub

📦 Instalação

npm install -g @wipiano/github-mcp-lightweight

🔧 Configuração

1. Obtenha um Token de Acesso Pessoal do GitHub

  1. Acesse Configurações do GitHub > Configurações de desenvolvedor > Tokens de acesso pessoal
  2. Clique em "Gerar novo token (clássico)"
  3. Selecione os seguintes escopos:
    • repo (para repositórios privados) ou public_repo (apenas para repositórios públicos)
    • read:org (se estiver acessando repositórios de organizações)
  4. Copie o token gerado

2. Configure as Configurações do MCP

Adicione o servidor ao seu arquivo de configuração de configurações do MCP:

Para Cline/Claude Dev: Edite ~/.vscode-server/data/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:

{
  "mcpServers": {
    "github-lightweight": {
      "command": "npx",
      "type": "stdio",
      "args": [
        "-y",
        "@wipiano/github-mcp-lightweight"
      ],
      "env": {
        "GITHUB_TOKEN": "ghp_your_personal_access_token_here"
      }
    }
  }
}

Para Claude Desktop: Edite ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou equivalente:

{
  "mcpServers": {
    "github-lightweight": {
      "command": "github-mcp-lightweight",
      "env": {
        "GITHUB_TOKEN": "ghp_your_personal_access_token_here"
      }
    }
  }
}

🛠️ Ferramentas Disponíveis

list_repository_issues

Lista issues de um repositório GitHub com tamanho mínimo de resposta.

Parâmetros:

  • owner (string, obrigatório): Proprietário do repositório (nome de usuário ou organização)
  • repo (string, obrigatório): Nome do repositório
  • since (string, obrigatório): Mostrar apenas issues atualizadas a partir deste horário (formato ISO 8601)

Exemplo:

{
  "owner": "microsoft",
  "repo": "vscode",
  "since": "2024-01-01T00:00:00Z"
}

list_repository_pull_requests

Lista pull requests de um repositório GitHub com tamanho mínimo de resposta.

Parâmetros:

  • owner (string, obrigatório): Proprietário do repositório (nome de usuário ou organização)
  • repo (string, obrigatório): Nome do repositório
  • since (string, obrigatório): Mostrar apenas pull requests atualizados a partir deste horário (formato ISO 8601)

Exemplo:

{
  "owner": "microsoft",
  "repo": "vscode",
  "since": "2024-01-01T00:00:00Z"
}

📊 Formato de Resposta

Ambas as ferramentas retornam uma resposta leve contendo apenas campos essenciais:

{
  "repository": "owner/repo",
  "since": "2024-01-01T00:00:00Z",
  "total_issues": 42,
  "issues": [
    {
      "id": 123456789,
      "html_url": "https://github.com/owner/repo/issues/1",
      "title": "Issue title",
      "body": "Issue description...",
      "comments": [
        "First comment body...",
        "Second comment body..."
      ]
    }
  ]
}

🔄 Comparação com o GitHub MCP Completo

RecursoGitHub MCP CompletoMCP Leve
Tamanho da resposta~50+ campos por issue5 campos por issue
Uso de bandaAltoBaixo (redução de 90%+)
Velocidade de processamentoMais lentoMais rápido
Caso de usoOperações abrangentesAnálise em massa
Dados de comentáriosMetadados completosApenas texto do corpo

🚨 Tratamento de Erros

O servidor fornece mensagens de erro claras para problemas comuns:

  • 401 Não Autorizado: Token GitHub inválido ou expirado
  • 403 Proibido: Limite de taxa excedido ou permissões insuficientes
  • 404 Não Encontrado: Repositório não encontrado ou acesso negado

🔒 Melhores Práticas de Segurança

  1. Armazenamento do Token: Armazene seu token GitHub com segurança em variáveis de ambiente
  2. Permissões do Token: Use os escopos mínimos necessários para seu caso de uso
  3. Rotação do Token: Rotacione regularmente seus tokens de acesso pessoal
  4. Isolamento de Ambiente: Use tokens diferentes para ambientes diferentes

📈 Limites de Taxa

  • O GitHub permite 5.000 solicitações por hora para solicitações autenticadas
  • O servidor está ciente dos limites de taxa e fornecerá mensagens de erro apropriadas
  • Para repositórios grandes, considere usar parâmetros since mais específicos para reduzir chamadas de API

🐛 Solução de Problemas

O servidor não inicia

  • Verifique se a variável de ambiente GITHUB_TOKEN está definida
  • Verifique se as permissões do token incluem os escopos necessários
  • Garanta que o token não esteja expirado

Erros de autenticação

  • Regere seu token de acesso pessoal do GitHub
  • Verifique se o token tem acesso ao repositório de destino
  • Verifique se o repositório é privado e o token tem o escopo repo

Respostas vazias

  • Verifique se o repositório existe e é acessível
  • Verifique se o parâmetro since não é muito recente
  • Garanta que o repositório tenha issues/PRs atualizados após a data since

🤝 Contribuições

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

📄 Licença

Licença MIT - consulte o arquivo LICENSE para detalhes.

🔗 Links