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

  1. Ve a Configuración de GitHub > Configuración de desarrollador > Tokens de acceso personal
  2. Haz clic en "Generar nuevo token (clásico)"
  3. Selecciona los siguientes alcances:
    • repo (para repositorios privados) o public_repo (solo para repositorios públicos)
    • read:org (si accedes a repositorios de organizaciones)
  4. 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 repositorio
  • since (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 repositorio
  • since (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ísticaGitHub MCP completoMCP ligero
Tamaño de respuesta~50+ campos por issue5 campos por issue
Uso de ancho de bandaAltoBajo (reducción del 90%+)
Velocidad de procesamientoMás lentaMás rápida
Caso de usoOperaciones integralesAnálisis masivo
Datos de comentariosMetadatos completosSolo 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

  1. Almacenamiento del token: guarda tu token de GitHub de forma segura en variables de entorno
  2. Permisos del token: usa los alcances mínimos requeridos para tu caso de uso
  3. Rotación del token: rota regularmente tus tokens de acceso personal
  4. 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 since má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_TOKEN esté 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 since no 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.

🔗 Enlaces