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
- Acesse Configurações do GitHub > Configurações de desenvolvedor > Tokens de acesso pessoal
- Clique em "Gerar novo token (clássico)"
- Selecione os seguintes escopos:
repo(para repositórios privados) oupublic_repo(apenas para repositórios públicos)read:org(se estiver acessando repositórios de organizações)
- 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óriosince(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óriosince(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
| Recurso | GitHub MCP Completo | MCP Leve |
|---|---|---|
| Tamanho da resposta | ~50+ campos por issue | 5 campos por issue |
| Uso de banda | Alto | Baixo (redução de 90%+) |
| Velocidade de processamento | Mais lento | Mais rápido |
| Caso de uso | Operações abrangentes | Análise em massa |
| Dados de comentários | Metadados completos | Apenas 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
- Armazenamento do Token: Armazene seu token GitHub com segurança em variáveis de ambiente
- Permissões do Token: Use os escopos mínimos necessários para seu caso de uso
- Rotação do Token: Rotacione regularmente seus tokens de acesso pessoal
- 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
sincemais específicos para reduzir chamadas de API
🐛 Solução de Problemas
O servidor não inicia
- Verifique se a variável de ambiente
GITHUB_TOKENestá 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
sincenã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.