Skip to main content
Glama
bestcreator01

Repository Inspector MCP Server

Repository Inspector

Dies ist ein kleines TypeScript-Entwicklerwerkzeug, das Änderungen in einem Git-Repository untersucht, optionale Validierungsbefehle ausführt und einen Read-only-Bericht über die Änderungen erstellt, einschließlich einer Zusammenfassung der Risiken wie verdächtige Änderungen an Skripten oder Build-Dateien.

Funktionen

  • Diff-Analyse: Untersucht Änderungen zwischen einem Basis-Reference und dem aktuellen Arbeitsbaum, einschließlich Dateistatus (hinzugefügt, geändert, umbenannt, gelöscht) und Diff-Statistiken für geänderte Dateien.

  • Risiko-Erkennung: Identifiziert Änderungen an Konfigurations- und Skriptdateien (z. B. package.json, Shell-Skripte, CI-Konfiguration) und meldet verbleibende Konfliktmarkierungen.

  • Optionale Benachrichtigungen: Sendet eine Slack-Benachrichtigung, wenn SLACK_WEBHOOK_URL gesetzt ist. Ein Fehler beim Senden der Benachrichtigung führt nicht dazu, dass die Überprüfung fehlschlägt.

  • Optionale Validierung: Führt einen fest codierten Satz von Validierungsbefehlen aus, die vom Bediener des MCP-Servers konfiguriert werden (standardmäßig deaktiviert – siehe unten).

Related MCP server: repository-inspector

Voraussetzungen

  • Node.js 18 oder höher (für lokale Ausführung oder die stdio-MCP-Implementierung)

  • Für die Remote-MCP-Ausführung: Docker und ein öffentlich erreichbarer HTTPS-Endpunkt

Projektstruktur

src/core.ts         shared review orchestration
src/cli.ts          command-line adapter
src/mcp-server.ts   MCP adapter
src/git.ts          Git inspection
src/validation.ts   validation execution
src/report.ts       Markdown report generation
test/               public starter tests

Wichtig:

  • src/index.ts – JSON-RPC-Endpunkt (Remote-MCP) und stdio-Server-Einstiegspunkt.

  • src/review.ts – Kernlogik der Überprüfung; verwendet die review()-Funktion mit einer ReviewOptions-Schnittstelle und ruft einen createReport()-Helfer auf.

  • src/context.ts – extrahiert Dateiänderungen und Kontext aus dem Repository unter Verwendung von Optional Chaining.

  • review-report.md – der generierte Bericht, benannt nach dem REPORT_FILE-Konfigurationswert (Standard: review-report.md).

  • Dockerfile – für die Bereitstellung des entfernten MCP-Servers.

Die Prüfung:

  1. Klont das Repository in ein temporäres Verzeichnis (oder verwendet das angegebene repo_path).

  2. Führt die Überprüfungen durch und erstellt einen Bericht.

  3. Gibt den vollständigen Bericht an den Client zurück. Der Bericht wird standardmäßig an die Standardausgabe ausgegeben; die Pfadausgabe über den MCP-Client wird durch die Flag --report-output gesteuert.

Einrichtung

npm install
npm run typecheck
npm test

Der Server benötigt entweder einen Pfad zu einem lokal vorhandenen Git-Repository oder ein Remote-Repository zum Klonen.

CLI

npm run inspector -- review --repo ./path/to/repo --format markdown
npm run inspector -- review --repo ./path/to/repo --validate "npm test"

Der Bericht wird in review-report.md geschrieben.

MCP

Starten Sie den stdio-Server mit:

npm run mcp-server

Er stellt ein review_repository-Werkzeug bereit, das repo_path (erforderlich), base_ref (optional) und validation_commands (optionales Array von Shell-Befehlen) akzeptiert.

MCP-Argumente können durch Inhalte innerhalb des zu prüfenden Repositorys (Prompt-Injection) gesteuert werden. Daher ist die Ausführung von Validierungsbefehlen über MCP standardmäßig deaktiviert. Um sie zu aktivieren, muss der Server-Bediener beide dieser Umgebungsvariablen setzen – das Setzen nur einer lässt die Validierung deaktiviert:

  • INSPECTOR_ALLOW_VALIDATION=1

  • INSPECTOR_VALIDATION_ALLOWLIST="npm test,npm run typecheck" – eine durch Kommas getrennte Liste der genauen Befehle, die ausgeführt werden dürfen; alles andere wird übersprungen.

Wenn die Validierung deaktiviert ist oder ein Befehl nicht auf der Allowlist steht, gibt das Werkzeug weiterhin einen vollständigen Read-only-Bericht zurück; der übersprungene Befehl wird mit status: skipped und einem Grund gemeldet, anstatt stillschweigend verworfen zu werden.

Wenn Sie fertig sind, reichen Sie über Security → Report a vulnerability in diesem Repository ein – siehe SECURITY.md für genau das, was Sie einfügen sollen. Antworten Sie nicht per E-Mail; dieser Einreichungskanal wird nicht überwacht.

Related MCP Connectors

Related MCP Servers