GitHub MCP Lightweight
Un servidor ligero para analizar issues y pull requests de GitHub usando un token de acceso personal.
Documentación
GitHub MCP Lightweight
Un servidor ligero de GitHub MCP (Model Context Protocol) optimizado para el análisis eficiente de issues y pull requests. Este servidor proporciona tamaños de respuesta mínimos al devolver solo los campos esenciales, lo que lo hace perfecto para el análisis masivo de repositorios de GitHub.
🚀 Características
- Respuestas ligeras: 90%+ más pequeñas que las respuestas completas de la API de GitHub
- Solo datos esenciales: Devuelve solo id, html_url, title, body y los cuerpos de los comentarios
- Análisis masivo eficiente: Optimizado para procesar grandes cantidades de issues/PRs
- Configuración sencilla: Instalación y configuración fáciles
- Consciente de los límites de tasa: Conocimiento integrado de los límites de tasa de la API de GitHub
📦 Instalación
npm install -g @wipiano/github-mcp-lightweight
🔧 Configuración
1. Obtener un token de acceso personal de GitHub
- Ve a Configuración de GitHub > Configuración de desarrollador > Tokens de acceso personal
- Haz clic en "Generar nuevo token (clásico)"
- Selecciona los siguientes alcances:
repo(para repositorios privados) opublic_repo(solo para repositorios públicos)read:org(si accedes a repositorios de organizaciones)
- Copia el token generado
2. Configurar los ajustes de MCP
Añade el servidor a tu archivo de configuración de ajustes de MCP:
Para Cline/Claude Dev:
Edita ~/.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:
Edita ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o equivalente:
{
"mcpServers": {
"github-lightweight": {
"command": "github-mcp-lightweight",
"env": {
"GITHUB_TOKEN": "ghp_your_personal_access_token_here"
}
}
}
}
🛠️ Herramientas disponibles
list_repository_issues
Lista los issues de un repositorio de GitHub con un tamaño de respuesta mínimo.
Parámetros:
owner(string, obligatorio): Propietario del repositorio (usuario u organización)repo(string, obligatorio): Nombre del repositoriosince(string, obligatorio): Mostrar solo issues actualizados en o después de este momento (formato ISO 8601)
Ejemplo:
{
"owner": "microsoft",
"repo": "vscode",
"since": "2024-01-01T00:00:00Z"
}
list_repository_pull_requests
Lista las pull requests de un repositorio de GitHub con un tamaño de respuesta mínimo.
Parámetros:
owner(string, obligatorio): Propietario del repositorio (usuario u organización)repo(string, obligatorio): Nombre del repositoriosince(string, obligatorio): Mostrar solo pull requests actualizadas en o después de este momento (formato ISO 8601)
Ejemplo:
{
"owner": "microsoft",
"repo": "vscode",
"since": "2024-01-01T00:00:00Z"
}
📊 Formato de respuesta
Ambas herramientas devuelven una respuesta ligera que contiene solo los campos esenciales:
{
"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..."
]
}
]
}
🔄 Comparación con el GitHub MCP completo
| Característica | GitHub MCP completo | MCP ligero |
|---|---|---|
| Tamaño de respuesta | ~50+ campos por issue | 5 campos por issue |
| Uso de ancho de banda | Alto | Bajo (reducción del 90%+) |
| Velocidad de procesamiento | Más lenta | Más rápida |
| Caso de uso | Operaciones integrales | Análisis masivo |
| Datos de comentarios | Metadatos completos | Solo texto del cuerpo |
🚨 Manejo de errores
El servidor proporciona mensajes de error claros para problemas comunes:
- 401 No autorizado: token de GitHub inválido o caducado
- 403 Prohibido: límite de tasa excedido o permisos insuficientes
- 404 No encontrado: repositorio no encontrado o acceso denegado
🔒 Mejores prácticas de seguridad
- Almacenamiento del token: guarda tu token de GitHub de forma segura en variables de entorno
- Permisos del token: usa los alcances mínimos requeridos para tu caso de uso
- Rotación del token: rota regularmente tus tokens de acceso personal
- Aislamiento de entornos: usa tokens diferentes para entornos diferentes
📈 Límites de tasa
- GitHub permite 5,000 solicitudes por hora para solicitudes autenticadas
- El servidor es consciente de los límites de tasa y proporcionará mensajes de error apropiados
- Para repositorios grandes, considera usar parámetros
sincemás específicos para reducir las llamadas a la API
🐛 Solución de problemas
El servidor no se inicia
- Verifica que la variable de entorno
GITHUB_TOKENesté configurada - Comprueba que los permisos del token incluyan los alcances requeridos
- Asegúrate de que el token no esté caducado
Errores de autenticación
- Regenera tu token de acceso personal de GitHub
- Verifica que el token tenga acceso al repositorio de destino
- Comprueba si el repositorio es privado y el token tiene el alcance
repo
Respuestas vacías
- Verifica que el repositorio exista y sea accesible
- Comprueba que el parámetro
sinceno sea demasiado reciente - Asegúrate de que el repositorio tenga issues/PRs actualizados después de la fecha
since
🤝 Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una Pull Request.
📄 Licencia
Licencia MIT: consulta el archivo LICENSE para más detalles.