Claude-Code-Review-MCP
Ein MCP-Server (Model Context Protocol), der Codeüberprüfungsfunktionen mit OpenAI-, Google- und anthropischen Modellen bereitstellt. Er dient als Tool für die „Zweitmeinung“ zur Codeüberprüfung und kann mit jedem MCP-Client verwendet werden, einschließlich Claude Code, Claude Desktop, Cursor und Windsurf.
Merkmale
Multi-Provider-Support : Nutzt OpenAI, Googles Gemini und Anthropics Claude-Modelle für Code-Überprüfungen
Zwei Bewertungsarten : Wählen Sie zwischen einer strukturierten Bewertung (mit kategorisiertem Feedback) oder einer frei formulierten narrativen Bewertung
Kontextbewusst : Fügen Sie Projektstruktur, zugehörige Dateien, Commit-Nachrichten und Abhängigkeiten für relevantere Überprüfungen ein
Intelligente Codeverarbeitung : Erkennt automatisch Programmiersprachen, verarbeitet große Dateien und formatiert die Ausgabe entsprechend
Robuste Fehlerbehandlung : Enthält Wiederholungslogik für API-Fehler und eine reibungslose Fehlerbehebung
MCP-kompatibel : Funktioniert mit jedem MCP-Client (Claude Code, Claude Desktop, Cursor, Windsurf)
Einfache Einrichtung : Einfache Konfiguration über Umgebungsvariablen
Related MCP server: Deep Thinking Assistant
Installation
Globale Installation
npm install -g claude-code-review-mcp
Nutzung mit npx (keine Installation)
# Set environment variables separately
export OPENAI_API_KEY=<key>
npx -y claude-code-review-mcp
# Or use inline environment setting
OPENAI_API_KEY=<key> npx -y claude-code-review-mcp
# Or with Google API key
GOOGLE_API_KEY=<key> npx -y claude-code-review-mcp
# Or with Anthropic API key
ANTHROPIC_API_KEY=<key> npx -y claude-code-review-mcp
# Or use multiple API keys for more model options
OPENAI_API_KEY=<key> GOOGLE_API_KEY=<key> ANTHROPIC_API_KEY=<key> npx -y claude-code-review-mcp
Konfiguration
Der Server benötigt mindestens einen der folgenden API-Schlüssel:
OPENAI_API_KEY : Ihr OpenAI-API-Schlüssel
GOOGLE_API_KEY : Ihr Google Gemini API-Schlüssel
ANTHROPIC_API_KEY : Ihr Anthropischer API-Schlüssel
Optionale Konfiguration:
PORT : Server-Port (Standard: dynamisch – ein verfügbarer Port wird ausgewählt)
HOST : Server-Host (Standard: 127.0.0.1)
LOG_LEVEL : Protokollebene (0=DEBUG, 1=INFO, 2=WARN, 3=FEHLER; Standard: 1)
Verfügbare Modelle
OpenAI-Modelle (erfordert OPENAI_API_KEY)
gpt-4.1 – OpenAI GPT-4.1
o4-mini - OpenAI O4 Mini
o3-mini - OpenAI O3 Mini
Google Models (erfordert GOOGLE_API_KEY)
Anthropische Modelle (erfordert ANTHROPIC_API_KEY)
claude-3-opus-20240229 - Anthropischer Claude 3 Opus
claude-3-sonnet-20240229 - Anthropisches Claude 3 Sonett
claude-3-haiku-20240307 - Anthropisches Claude 3 Haiku
Verfügbare Tools
Der MCP-Server bietet drei Tools:
1. überprüfenCodeStrukturiert
Bietet eine detaillierte, strukturierte Codeüberprüfung mit den folgenden Abschnitten:
Gesamtzusammenfassung
Codequalität (Stärken und Schwächen)
Fehler (mit Schweregrad und vorgeschlagenen Korrekturen)
Verbesserungsvorschläge
Sicherheitsprobleme (falls vorhanden)
2. reviewCodeFreeform
Bietet eine narrative Codeüberprüfung im Freitextformat, geeignet für allgemeine Eindrücke und Gesprächsfeedback.
3. listModels
Listet alle verfügbaren Modelle basierend auf den bereitgestellten API-Schlüsseln auf, einschließlich Modell-IDs und für Menschen lesbarer Namen.
Integration mit Claude Code
So fügen Sie diesen MCP-Server zu Claude Code hinzu:
# Use environment variables properly (recommended approach)
claude mcp add code-review -s user -e OPENAI_API_KEY=<key> -e GOOGLE_API_KEY=<key> -e ANTHROPIC_API_KEY=<key> -- npx -y claude-code-review-mcp
# Alternative: Export the variables before adding the MCP
export OPENAI_API_KEY=<key>
export GOOGLE_API_KEY=<key>
export ANTHROPIC_API_KEY=<key>
claude mcp add code-review -s user -- npx -y claude-code-review-mcp
Sie können auch einen benutzerdefinierten Schrägstrichbefehl erstellen, indem Sie eine Datei unter .claude/commands/review-with.md erstellen:
I'll review your code using alternative LLM models. Model to use: $ARGUMENTS
Claude Code unterstützt benutzerdefinierte Slash-Befehle, die Sie für die einfache Interaktion mit dem MCP-Server erstellen können. Erstellen Sie diese Befehle im Verzeichnis .claude/commands/ Ihres Projekts, um leistungsstarke Codeüberprüfungs-Workflows zu ermöglichen.
Grundlegende Einrichtung
Erstellen Sie zunächst das Befehlsverzeichnis, falls es noch nicht vorhanden ist:
mkdir -p .claude/commands
Befehl „Modellauflistung“
Erstellen Sie einen Befehl zum Auflisten verfügbarer Modelle:
# Create the list-review-models.md file
cat > .claude/commands/list-review-models.md << 'EOF'
I'll check which alternative code review models are available through our MCP server.
First, I'll use the MCP server to list all available models for code review.
After that, I'll present the models in a clear table format with:
- Model ID (what you'll use when requesting a review)
- Provider (OpenAI or Google)
- Description (size and capabilities)
- Speed (relative performance)
This will help you choose the right model for your code review needs.
EOF
Grundlegender Codeüberprüfungsbefehl
Erstellen Sie einen einfachen Überprüfungsbefehl, der einen Modellnamen akzeptiert:
# Create the review-with.md file
cat > .claude/commands/review-with.md << 'EOF'
I'll review the code I've just worked on using an alternative LLM model to provide a second opinion.
First, I'll identify the code changes or file you want reviewed. If you don't specify a file, I'll look at recent changes.
Then, I'll send this code to be reviewed by the specified model through our MCP server.
Available models (run /project:list-review-models to see all options):
- OpenAI models (if configured): "gpt-4.1", "o4-mini", "o3-mini"
- Google models (if configured): "gemini-2.5-pro-preview-05-06", "gemini-2.5-flash-preview-04-17"
Model to use (leave blank for default): $ARGUMENTS
EOF
Befehl zur strukturierten Überprüfung
Erstellen Sie einen Befehl speziell für strukturierte Überprüfungen:
# Create the structured-review.md file
cat > .claude/commands/structured-review.md << 'EOF'
I'll perform a structured code review using an alternative LLM model.
This review will be organized into clear sections:
1. Overall summary
2. Code quality assessment (strengths and weaknesses)
3. Potential bugs with severity ratings (Low/Medium/High)
4. Specific improvement suggestions
5. Security considerations (if applicable)
If you don't specify a model, I'll use the default available model.
Model to use (optional): $ARGUMENTS
EOF
Befehl „Freiformüberprüfung“
Erstellen Sie einen Befehl für Rezensionen im narrativen Stil:
# Create the freeform-review.md file
cat > .claude/commands/freeform-review.md << 'EOF'
I'll provide a conversational, narrative-style code review using an alternative LLM model.
This will be a more holistic assessment of your code with flowing paragraphs rather than structured categories. This style works well for:
- General impressions
- High-level feedback
- More nuanced commentary on code style and approach
If you don't specify a model, I'll use the default available model.
Model to use (optional): $ARGUMENTS
EOF
Befehl „Spezifische Datei überprüfen“
Erstellen Sie einen Befehl zum Überprüfen einer bestimmten Datei:
# Create the review-file.md file
cat > .claude/commands/review-file.md << 'EOF'
I'll review a specific file using an alternative LLM model.
Please provide the file path to review and optionally the model to use.
Format: [file_path] [model_name]
For example:
- "src/utils.js gemini-2.5-pro-preview-05-06" - Reviews utils.js with Gemini Pro
- "lib/auth.ts" - Reviews auth.ts with the default model
Input: $ARGUMENTS
EOF
Fokusspezifische Überprüfungsbefehle
Erstellen Sie Befehle für spezielle Überprüfungen:
# Create security review command
cat > .claude/commands/security-review.md << 'EOF'
I'll perform a security-focused code review using an alternative LLM model.
This review will specifically examine:
- Potential security vulnerabilities
- Input validation issues
- Authentication/authorization flaws
- Data protection concerns
- Injection vulnerabilities
- Secure coding best practices
If you don't specify a model, I'll use a model recommended for security analysis.
Model to use (optional): $ARGUMENTS
EOF
# Create performance review command
cat > .claude/commands/performance-review.md << 'EOF'
I'll perform a performance-focused code review using an alternative LLM model.
This review will specifically examine:
- Algorithm efficiency
- Memory usage
- Unnecessary computations
- Loop optimizations
- Data structure choices
- Caching opportunities
- Async/parallel processing considerations
If you don't specify a model, I'll use a model that's good at performance analysis.
Model to use (optional): $ARGUMENTS
EOF
Umfassender Projektüberprüfungsbefehl
Erstellen Sie einen Befehl zum Überprüfen von Code mit vollständigem Projektkontext:
# Create the project-review.md file
cat > .claude/commands/project-review.md << 'EOF'
I'll perform a comprehensive code review with full project context using an alternative LLM model.
This review will:
1. Analyze the code structure and organization
2. Consider related files and dependencies
3. Evaluate consistency with project patterns
4. Assess integration with existing components
5. Check alignment with project architecture
I'll gather project context, including directory structure and related files, to ensure a thorough, context-aware review.
Format: [file_to_review] [model_name]
Example: "src/components/Button.jsx gemini-2.5-pro-preview-05-06"
Input: $ARGUMENTS
EOF
Befehl „Vorher- und Nachher-Überprüfung“
Erstellen Sie einen Befehl zum Vergleichen von Codeänderungen:
# Create the diff-review.md file
cat > .claude/commands/diff-review.md << 'EOF'
I'll review the changes you've made to a file using an alternative LLM model.
This will:
1. Identify what was changed between versions
2. Evaluate if the changes address the intended purpose
3. Check for any new issues introduced
4. Suggest potential improvements to the changes
I'll need to know which file to examine. If you've been working on a file with Claude Code, I'll automatically find the changes.
Model to use (optional): $ARGUMENTS
EOF
Verwenden benutzerdefinierter Schrägstrichbefehle
Sobald Sie diese Befehle erstellt haben, können Sie sie in Claude Code verwenden, indem Sie /project: gefolgt vom Befehlsnamen eingeben. Beispiel:
/project:list-review-models
/project:review-with gemini-2.5-pro-preview-05-06
/project:structured-review o4-mini
/project:security-review
/project:review-file src/utils.js gemini-2.5-flash-preview-04-17
Tipps für benutzerdefinierte Befehle
Befehlserkennung : Geben Sie /project: in Claude Code ein, um eine Liste der verfügbaren Befehle anzuzeigen
Standardmodelle : Wenn Sie kein Modell angeben, verwendet der Befehl das Standardmodell (normalerweise o4-mini, falls verfügbar).
Mehrere Bewertungen : Sie können mehrere Perspektiven erhalten, indem Sie Bewertungen mit verschiedenen Modellen durchführen
Projektkontext : Für die relevantesten Überprüfungen verwenden Sie Befehle, die den Projektkontext enthalten
Spezialisierter Fokus : Verwenden Sie die fokusspezifischen Befehle, wenn Sie besondere Bedenken hinsichtlich Sicherheit, Leistung usw. haben.
Beispiel-Workflow
Ein typischer Arbeitsablauf könnte folgendermaßen aussehen:
Arbeiten Sie mit Claude Code an Code
Führen Sie /project:list-review-models aus, um die verfügbaren Optionen anzuzeigen
Führen Sie /project:structured-review gemini-2.5-pro-preview-05-06 aus, um eine strukturierte Überprüfung vom Google-Modell zu erhalten
Vergleichen Sie mit Claudes Vorschlägen
Nehmen Sie Verbesserungen auf der Grundlage beider Perspektiven vor
Führen Sie /project:diff-review aus, um die Änderungen zu überprüfen
Diese benutzerdefinierten Befehle ermöglichen eine reibungslose Integration zwischen Claude Code und dem Claude-Code-Review-MCP-Server und bieten wertvolle „Zweitmeinungen“ für Ihren Code.
Beispielverwendung
Starten des MCP-Servers
# Start with OpenAI API key (using exports, recommended)
export OPENAI_API_KEY=<key>
npx -y claude-code-review-mcp
# Or with inline environment variables
OPENAI_API_KEY=<key> npx -y claude-code-review-mcp
# Start with Google Gemini API key
export GOOGLE_API_KEY=<key>
npx -y claude-code-review-mcp
# Start with Anthropic Claude API key
export ANTHROPIC_API_KEY=<key>
npx -y claude-code-review-mcp
# Use multiple API keys for more model options
export OPENAI_API_KEY=<key>
export GOOGLE_API_KEY=<key>
export ANTHROPIC_API_KEY=<key>
npx -y claude-code-review-mcp
# Use custom port and host
export OPENAI_API_KEY=<key>
export PORT=8080
export HOST=0.0.0.0
npx -y claude-code-review-mcp
Verwendung mit MCP-Clients
Sobald der Server läuft, können Sie sich von jedem MCP-Client wie Claude Code, Claude Desktop, Cursor oder Windsurf über die Server-URL mit ihm verbinden. Der Server zeigt die aktuelle URL und den Port in seinen Startprotokollen an (um Konflikte zu vermeiden, wird ein dynamisch zugewiesener Port verwendet).
Eingabeschema
Alle Überprüfungstools akzeptieren die folgenden Eingaben:
{
code: string; // Required: The code to review
filename?: string; // Optional: The filename with extension
language?: string; // Optional: Programming language
model: string; // Required: Model ID to use for review
projectContext?: { // Optional: Additional context
projectStructure?: string; // Directory structure
relatedFiles?: Array<{ // Related code files
name: string; // Filename with path
language?: string; // File language
content: string; // File content
}>;
commitMessage?: string; // Purpose of changes
dependencies?: Record<string, string>; // Project dependencies
}
}
Ausgabeschema
Strukturierte Überprüfungsausgabe
{
review?: { // Present on success
summary: string; // Overall assessment
quality: {
strengths: string[]; // Good aspects
weaknesses: string[]; // Areas for improvement
};
bugs: Array<{
description: string; // Issue description
severity: "Low" | "Medium" | "High"; // Impact level
suggestion: string; // How to fix
}>;
improvements: string[]; // Enhancement suggestions
securityIssues?: string[]; // Security concerns if any
};
modelUsed: string; // Human-readable model name
error?: string; // Present on error
availableModels?: Record<string, string>; // Present on error or listModels
}
Freiform-Überprüfungsausgabe
{
reviewText?: string; // Present on success
modelUsed: string; // Human-readable model name
error?: string; // Present on error
availableModels?: Record<string, string>; // Present on error or listModels
}
Ausgabe der Listenmodelle
{
availableModels: Record<string, string>; // Model ID to name mapping
modelUsed: string; // Always "None" for this tool
}
MCP-Client-Integration
Claude Code
Fügen Sie den MCP-Server hinzu:
claude mcp add code-review -s user npx -y claude-code-review-mcp
Verwendung im Claude-Code:
/code-review:reviewCodeStructured --model o4-mini
Claude Desktop
Konfigurieren Sie das MCP in den Claude Desktop-Einstellungen wie folgt:
"claude-code-review-mcp": {
"command": "npx",
"args": ["-y", "claude-code-review-mcp"],
"env": {
"OPENAI_API_KEY": "your-openai-key",
"GOOGLE_API_KEY": "your-google-key",
"ANTHROPIC_API_KEY": "your-anthropic-key"
}
}
Der Server verwendet eine erweiterte JSON-Ausgabebereinigung für die vollständige Kompatibilität mit allen MCP-Clients, einschließlich Claude Desktop.
Cursor und Windsurf
Befolgen Sie die spezifischen MCP-Konfigurationsrichtlinien für Ihren Client und verwenden Sie dieselben Befehle und Umgebungsvariablen.
Fehlerbehebung
Probleme mit API-Schlüsseln
„Modell X ist nicht verfügbar“ : Stellen Sie sicher, dass Sie den entsprechenden API-Schlüssel für das Modell angegeben haben.
Keine API-Schlüssel angegeben : Sie müssen mindestens einen der folgenden Schlüssel angeben: OPENAI_API_KEY, GOOGLE_API_KEY oder ANTHROPIC_API_KEY.
Modellvorschlag : Der Server schlägt alternative Modelle vor, wenn Ihr gewünschtes Modell nicht verfügbar ist.
Ratenbegrenzung und API-Fehler
Wenn Sie auf Ratenbegrenzungen oder API-Fehler stoßen, weist die Fehlermeldung auf das Problem hin.
Erwägen Sie die Verwendung eines anderen Modells, wenn bei einem Anbieter Probleme auftreten.
Sicherheitsüberlegungen
API-Schlüssel werden niemals protokolliert oder offengelegt
Codeinhalte werden aus Datenschutzgründen nur minimal protokolliert
Abhängigkeiten werden minimal gehalten, um die Sicherheitsfläche zu reduzieren
Die Anfragebearbeitung umfasst die Validierung und Bereinigung der Eingaben
Fehlermeldungen sollen verhindern, dass vertrauliche Informationen verloren gehen
Kompatibilität
Erfordert Node.js 18.0.0 oder höher
Funktioniert unter Linux, macOS und Windows (bei Bedarf über WSL)
Kompatibel mit allen MCP-Clients (Claude Code, Claude Desktop, Cursor, Windsurf)
Sanfte Handhabung großer Codedateien und Projektkontexte
Automatischer Wiederholungsmechanismus für vorübergehende API-Fehler
Entwicklung
# Install dependencies
npm install
# Start in development mode
npm run dev
# Build for production
npm run build
# Start in production mode
npm run start
Lizenz
MIT
Mitwirkende