Skip to main content
Glama
TheNovaNodes

MCP GitHub PR Reviewer

by TheNovaNodes

module_type: MCP Server status: Activo protocol: MCP / JSON-RPC / stdio primary_capability: Revisiones de seguridad automatizadas para diffs de PRs de GitHub con redundancia de respaldo profunda requires: python 3.12+, token de Cloudflare Workers AI, token de Poolside works_with: Google Antigravity, Telegram Agent, Cloudflare, Poolside, OpenRouter last_verified: 2026-08-21

MCP GitHub PR Reviewer

Un servidor MCP de respaldo universal que proporciona revisiones de seguridad de Pull Requests de GitHub altamente resilientes.

Related MCP server: MCP Server PR Pilot

Estado y fecha de última verificación

Estado: Activo
Fecha de última verificación: 2026-08-21

Qué hace / qué no hace

Qué hace:

  • Implementa un servidor MCP que expone la herramienta audit_pr a agentes de IA.

  • Procesa diffs de código y devuelve vulnerabilidades de seguridad estructuradas y comentarios de arquitectura en formato JSON.

  • Enruta y encadena automáticamente solicitudes de LLM a través de un pipeline de conmutación por error de 14 capas para garantizar un 100% de disponibilidad.

  • Equilibra la carga y las conmutaciones por error entre los endpoints de API de Cloudflare Workers AI, Poolside Native y OpenRouter.

Qué no hace:

  • No fusiona PRs automáticamente ni actúa sobre el código en sí (actúa puramente como un auditor analítico).

  • No gestiona directamente los tokens de API de GitHub para la obtención de datos; se espera que el agente llamante proporcione los diffs.

Por qué un agente lo usaría

Los agentes usan este servidor MCP para descargar tareas de revisión de código computacionalmente pesadas a LLMs externos especializados sin tener que gestionar tokens, lógica de conmutación por error o bucles de reintento ellos mismos. El agente simplemente proporciona el diff, y el servidor MCP garantiza una revisión de alta calidad.

Arquitectura y dependencias

Arquitectura:

  • Motor de respaldo universal: Una máquina de estados (engine.py) que itera a través de cualquier endpoint de LLM compatible con OpenAI y grupos de claves configurados.

  • Pipeline de proveedores (configurable): Puedes configurar tu propio pipeline de proveedores en cascada usando la variable de entorno FALLBACK_PROVIDERS (array JSON).

    • Ejemplo de configuración: Probar primero con Ollama local, luego DeepSeek, y después OpenRouter.

  • Soporte de laboratorio heredado: Si FALLBACK_PROVIDERS está vacío, degrada automáticamente a los valores predeterminados del laboratorio TheNovaNodes (Cloudflare -> Poolside -> OpenRouter) usando análisis regex heredado.

  • Capa de protocolo MCP: Usa JSON-RPC estándar de stdio para la ejecución del servidor MCP (server.py).

Dependencias:

  • mcp (SDK oficial de Python)

  • urllib estándar de Python (no se requieren clientes HTTP de terceros)

  • pytest (para pruebas)

Compatibilidad

  • Python 3.12+

  • Entornos Linux/Unix

Inicio rápido y verificación de salud

Inicio rápido:

git clone https://github.com/TheNovaNodes/mcp-gh-pr-reviewer.git
cd mcp-gh-pr-reviewer
python3 -m venv .venv
source .venv/bin/activate
pip install mcp
# Ensure vault tokens are populated in /dev/shm/agent_vault/
./run_mcp.sh

Verificación de salud: Para verificar la inicialización del motor y las conexiones de API, ejecuta:

python3 test_fallback.py

Esto activa una auditoría de diff de PR simulada para probar la cascada sin exponer el servidor a un cliente MCP.

Configuración y variables de entorno

Variable

Descripción

FALLBACK_PROVIDERS

Array JSON de proveedores. Ejemplo: [{"name": "Local", "url": "http://127.0.0.1:11434/v1/chat/completions", "model": "qwen2.5-coder", "keys_env": "LOCAL_TOKENS"}]

CF_TOKENS

(Modo heredado) Tokens de Cloudflare e IDs de cuenta.

PS_TOKENS

(Modo heredado) Claves de API de Poolside.

OR_TOKENS

(Modo heredado) Claves de API de OpenRouter.

Tabla completa de herramientas/API MCP con efectos secundarios

Server Key

Nombre

Tipo

Plano

Efectos secundarios / Acciones

universal-pr-auditor

Auditor de PR (Universal)

auditoría

datos

Lee diffs, consulta LLMs externos vía HTTP, devuelve JSON.

Modelo de seguridad y límites de confianza

  • Gestión de secretos: El servidor lee secretos dinámicamente desde el disco RAM (/dev/shm/agent_vault/) a través del envoltorio run_mcp.sh. Ningún secreto está codificado en el código fuente de Python o en el historial de git.

  • Ejecución: Se ejecuta como un proceso local estándar que se comunica a través de stdio. No expone ningún puerto de red abierto localmente.

Pruebas y comandos exactos

Para ejecutar pruebas usando pytest:

python3 -m pytest test_engine.py

Este conjunto de pruebas verifica la extracción de claves, el análisis y la lógica de enrutamiento del motor sin consumir tokens reales de LLM.

Operaciones, registros, copia de seguridad/restauración, reversión

  • Operaciones: El servidor se ejecuta contextualmente por el antigravity-telegram-agent usando run_mcp.sh.

  • Registros: Los registros del motor (conmutaciones por error, errores HTTP) se imprimen en stderr y son interceptados por el gestor MCP del agente.

  • Copia de seguridad/restauración: Este servidor no almacena ningún estado persistente.

  • Reversión: git checkout main && git reset --hard <hash>

Ejemplo genérico de cliente MCP

Ejemplo de payload JSON-RPC para activar una auditoría:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "callTool",
  "params": {
    "name": "audit_pr",
    "arguments": {
      "diff_content": "+ def bypass_auth():\n+    return True"
    }
  }
}

Limitaciones y hoja de ruta

Limitaciones:

  • Los modelos gratuitos de OpenRouter tienen límites de tasa estrictos y pueden fallar con frecuencia (manejado correctamente por el motor).

  • Los diffs mayores de 128K tokens pueden ser truncados por los proveedores de LLM.

Hoja de ruta:

  • Añadir capacidades nativas de obtención de PRs de GitHub (actualmente depende del agente llamante para proporcionar el diff).

Módulos relacionados de TheNovaNodes

  • Antigravity Telegram Agent

  • Módulos MCP de Google Jules

Licencia

Licencia MIT

Related MCP Connectors

Related MCP Servers