Skip to main content
Glama
TheNovaNodes

MCP GitHub PR Reviewer

by TheNovaNodes

module_type: MCP Server status: Active protocol: MCP / JSON-RPC / stdio primary_capability: Automatisierte Sicherheitsüberprüfungen für GitHub-PR-Diffs mit tiefer Fallback-Redundanz requires: python 3.12+, Cloudflare Workers AI token, Poolside token works_with: Google Antigravity, Telegram Agent, Cloudflare, Poolside, OpenRouter last_verified: 2026-08-21

MCP GitHub PR Reviewer

Ein universeller Fallback-MCP-Server, der hochgradig ausfallsichere automatisierte Sicherheitsüberprüfungen von GitHub-Pull-Requests bietet.

Related MCP server: MCP Server PR Pilot

Status und Datum der letzten Überprüfung

Status: Aktiv
Datum der letzten Überprüfung: 2026-08-21

Was er tut / nicht tut

Was er tut:

  • Implementiert einen MCP-Server, der das audit_pr-Tool für KI-Agenten bereitstellt.

  • Verarbeitet Code-Diffs und gibt strukturierte Sicherheitslücken und Architektur-Feedback im JSON-Format zurück.

  • Leitet LLM-Anfragen automatisch über eine 14-stufige Failover-Pipeline weiter und kaskadiert sie, um eine 100%ige Verfügbarkeit zu gewährleisten.

  • Verteilt Last und Failover zwischen Cloudflare Workers AI, Poolside Native und OpenRouter-API-Endpunkten.

Was er nicht tut:

  • Er führt keine automatischen Merges von PRs durch und greift nicht in den Code ein (er fungiert rein als analytischer Prüfer).

  • Er verwaltet keine GitHub-API-Tokens direkt zum Abrufen; Diffs werden vom aufrufenden Agenten bereitgestellt.

Warum ein Agent ihn verwenden würde

Agenten nutzen diesen MCP-Server, um rechenintensive Code-Review-Aufgaben an spezialisierte externe LLMs auszulagern, ohne selbst Tokens, Fallback-Logik oder Wiederholungsschleifen verwalten zu müssen. Der Agent liefert einfach den Diff, und der MCP-Server garantiert eine qualitativ hochwertige Überprüfung.

Architektur und Abhängigkeiten

Architektur:

  • Universelle Fallback-Engine: Eine Zustandsmaschine (engine.py), die alle konfigurierten OpenAI-kompatiblen LLM-Endpunkte und Schlüsselpools durchläuft.

  • Provider-Pipeline (konfigurierbar): Sie können Ihre eigene kaskadierende Provider-Pipeline über die Umgebungsvariable FALLBACK_PROVIDERS (JSON-Array) konfigurieren.

    • Beispielkonfiguration: Zuerst lokales Ollama versuchen, dann DeepSeek, dann OpenRouter.

  • Legacy-Lab-Unterstützung: Wenn FALLBACK_PROVIDERS leer ist, greift es automatisch auf die Standardeinstellungen des TheNovaNodes-Labors zurück (Cloudflare -> Poolside -> OpenRouter) unter Verwendung der Legacy-Regex-Analyse.

  • MCP-Protokollschicht: Verwendet standardmäßiges stdio-JSON-RPC für die MCP-Serverausführung (server.py).

Abhängigkeiten:

  • mcp (offizielles Python-SDK)

  • Standard-Python-urllib (keine Drittanbieter-HTTP-Clients erforderlich)

  • pytest (für Tests)

Kompatibilität

  • Python 3.12+

  • Linux/Unix-Umgebungen

Schnellstart und Gesundheitscheck

Schnellstart:

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

Gesundheitscheck: Um die Engine-Initialisierung und API-Verbindungen zu überprüfen, führen Sie Folgendes aus:

python3 test_fallback.py

Dies löst eine simulierte PR-Diff-Prüfung aus, um die Kaskade zu testen, ohne den Server einem MCP-Client auszusetzen.

Konfiguration und Umgebungsvariablen

Variable

Beschreibung

FALLBACK_PROVIDERS

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

CF_TOKENS

(Legacy-Modus) Cloudflare-Tokens und Konten-IDs.

PS_TOKENS

(Legacy-Modus) Poolside-API-Schlüssel.

OR_TOKENS

(Legacy-Modus) OpenRouter-API-Schlüssel.

Vollständige MCP-Tool-/API-Tabelle mit Nebenwirkungen

Server Key

Name

Typ

Ebene

Nebenwirkungen / Aktionen

universal-pr-auditor

PR-Prüfer (Universal)

audit

data

Liest Diffs, fragt externe LLMs über HTTP ab, gibt JSON zurück.

Sicherheitsmodell und Vertrauensgrenzen

  • Geheimnisverwaltung: Der Server liest Geheimnisse dynamisch von der RAM-Disk (/dev/shm/agent_vault/) über den run_mcp.sh-Wrapper. Es werden niemals Geheimnisse im Python-Quellcode oder in der Git-Historie hartcodiert.

  • Ausführung: Läuft als standardmäßiger lokaler Prozess, der über stdio kommuniziert. Setzt lokal keine offenen Netzwerkports frei.

Tests und genaue Befehle

Um Tests mit pytest auszuführen:

python3 -m pytest test_engine.py

Diese Suite testet die Schlüsselextraktion, das Parsing und die Engine-Routing-Logik, ohne echte LLM-Tokens zu verbrauchen.

Betrieb, Protokolle, Backup/Wiederherstellung, Rollback

  • Betrieb: Der Server wird kontextuell vom antigravity-telegram-agent unter Verwendung von run_mcp.sh ausgeführt.

  • Protokolle: Engine-Protokolle (Fallbacks, HTTP-Fehler) werden auf stderr ausgegeben und vom MCP-Manager des Agenten abgefangen.

  • Backup/Wiederherstellung: Von diesem Server wird kein persistenter Zustand gespeichert.

  • Rollback: git checkout main && git reset --hard <hash>

Allgemeines MCP-Client-Beispiel

Beispiel-JSON-RPC-Payload zum Auslösen einer Prüfung:

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

Einschränkungen und Roadmap

Einschränkungen:

  • OpenRouter-Free-Modelle haben strenge Ratenbegrenzungen und können häufig ausfallen (wird von der Engine elegant behandelt).

  • Diffs, die größer als 128K Tokens sind, können von den LLM-Anbietern abgeschnitten werden.

Roadmap:

  • Native GitHub-PR-Abruffunktionen hinzufügen (verlässt sich derzeit darauf, dass der aufrufende Agent den Diff bereitstellt).

Verwandte TheNovaNodes-Module

  • Antigravity Telegram Agent

  • Google Jules MCP-Module

Lizenz

MIT License

Related MCP Connectors

Related MCP Servers