Claude-Code-MCP-Projekt
[0.1.3] - 08.05.2025
Geändert
Verbesserte Sicherheit durch strenge Validierung der Umgebungsvariable
CLAUDE_BIN. Der Server überprüft nun vor der Verwendung Pfad, Name, Existenz und Berechtigungen der ausführbaren Datei.
Behoben
Eine potenzielle Sicherheitslücke bei der Befehlseingabe im Zusammenhang mit der Umgebungsvariable
CLAUDE_BINwurde behoben.
Related MCP server: Fused MCP Agents
Überblick
Das Claude-Code-MCP-Projekt ist ein MCP-Server für Claude Code.
Es ruft den lokal installierten Claude Code-Befehl auf und bietet die folgenden Tools: explain_code , review_code , fix_code , edit_code , test_code , simulate_command und your_own_query . Der Server wird mit Node.js und dem MCP SDK implementiert und empfängt Anfragen im JSON-Format von Clients über stdio. Intern verwendet er Base64-Kodierung, um Sonderzeichen (Zeilenumbrüche, Anführungszeichen usw.) in natürlichsprachlichem Text reibungslos zu verarbeiten, was zu verbesserter Stabilität und Flexibilität führt. Seine Hauptaufgaben sind das Empfangen von Anfragen, das Kodieren von Eingaben, das Generieren und Ausführen von Befehlen sowie das Zurückgeben von Ausführungsergebnissen im JSON-Format. Es wurde bestätigt, dass dieses Projekt in Claude Code CLI-Umgebungen (Ubuntu/WSL2 usw.) funktioniert.
💡 MCP-Host mit weniger leistungsfähigem LLM kann Claudes Leistung zähmen und nutzen💪! Mit claude-code-mcp kannst du Claude Code auch von Claude Desktop aus aufrufen!! 😇😜😎 (unbestätigt)
Funktionen
Die Hauptrollen des Servers sind:
Anforderungsempfang: Empfangen Sie Toolanforderungen im JSON-Format von Clients (z. B.
code,context,focus_areasusw.).Eingabeverarbeitung: Der empfangene Text in natürlicher Sprache wird intern mit Base64 kodiert.
Werkzeugauswahl und Befehlsgenerierung: Stellen Sie basierend auf dem Werkzeugnamen in der Anforderung eine Befehlszeichenfolge für die Abfrage zusammen. Verwenden Sie dazu eine feste Vorlage oder ein freies Format (
your_own_query).Befehlsausführung: Verwenden Sie
child_process.spawnvon Node.js, um den zusammengestellten Befehl auszuführen und das Ergebnis aus der Standardausgabe abzurufen.Ergebnisrückgabe: Gibt das Ausführungsergebnis im JSON-Format an den Client zurück.
Erste Schritte
Voraussetzungen
Node.js (>= v18 empfohlen, getestet mit v22.14.0)
npm (oder Garn)
Claude Code-Befehl installiert und Authentifizierung abgeschlossen. https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview
Installation und Verwendung
Es gibt mehrere Möglichkeiten claude-code-mcp zu verwenden:
1. Verwenden von npx (empfohlen für den schnellen Einsatz)
Sie können den Server ohne Installation direkt mit npx ausführen:
npx @kunihiros/claude-code-mcp2. Globale Installation
Installieren Sie das Paket global:
npm install -g claude-code-mcpAnschließend können Sie es als Befehl ausführen:
claude-code-mcp3. Lokale Installation (für die Entwicklung)
Klonen Sie das Repository und installieren Sie Abhängigkeiten:
git clone https://github.com/KunihiroS/claude-code-mcp.git
cd claude-code-mcp/claude-code-server
npm install
npm run buildSie können das erstellte Skript dann direkt ausführen:
node build/index.jsKonfiguration
Umgebungsvariablen:
Unabhängig von der Installationsmethode müssen Sie die Umgebungsvariablen konfigurieren. Erstellen Sie eine der folgenden Dateien:
Verwenden der MCP-Host-Einstellungen (empfohlen für Konfigurieren Sie Umgebungsvariablen direkt in den Einstellungen Ihres MCP-Hosts (siehe „MCP-Host-Konfiguration“ weiter unten). Dies ist der einfachste Weg bei Verwendung
npx.Verwenden einer Erstellen Sie eine
.envDatei in dem Verzeichnis, in dem Sie dennpx @kunihiros/claude-code-mcpausführen.Verwenden einer globalen Konfigurationsdatei: Erstellen Sie eine Datei
.claude-code-mcp.envin Ihrem Home-Verzeichnis (~/.claude-code-mcp.env).
Wenn Sie eine Datei ( .env oder ~/.claude-code-mcp.env ) verwenden, fügen Sie den folgenden Inhalt hinzu und passen Sie den CLAUDE_BIN Pfad an:
# .env or ~/.claude-code-mcp.env
CLAUDE_BIN=/path/to/your/claude/executable # REQUIRED: Set the full path to your Claude CLI
LOG_LEVEL=info # Optional: Set log level (e.g., debug, info, warn, error)MCP-Hostkonfiguration (empfohlen für
Fügen Sie Folgendes zu den Einstellungen Ihrer MCP-Hostanwendung hinzu (z. B. zu den Claude-Desktop-Einstellungen). Mit dieser Methode können Sie Umgebungsvariablen direkt festlegen.
"claude-code-server": {
"command": "npx",
"args": [
"-y",
"@kunihiros/claude-code-mcp"
],
"env": {
"CLAUDE_BIN": "/path/to/your/claude/executable", // REQUIRED: Set the absolute path
"LOG_LEVEL": "info" // Optional: Set log level
},
"disabled": false
}(Möglicherweise ist ein Neustart der Hostanwendung erforderlich.)
Alternative MCP-Hostkonfiguration (Globale Installation / Lokale Entwicklung):
Wenn Sie das Paket global installiert haben oder es lokal aus dem geklonten Repository ausführen und sich der Befehl claude-code-mcp im PATH Ihres Systems befindet, können Sie Folgendes verwenden:
"claude-code-server": {
"command": "claude-code-mcp",
"disabled": false
}In diesem Fall müssen Sie Umgebungsvariablen mithilfe einer .env Datei oder der globalen Datei ~/.claude-code-mcp.env konfigurieren, wie oben beschrieben.
Details zu Umgebungsvariablen
Dieser Server verwendet die folgenden Umgebungsvariablen (festgelegt über die MCP-Host env , .env oder ~/.claude-code-mcp.env ):
CLAUDE_BIN: Gibt den Pfad zur ausführbaren Datei der Claude-CLI an. (Erforderlich) Beispiel:/home/linuxbrew/.linuxbrew/bin/claudeoderC:\Users\YourUser\AppData\Local\bin\claude.exeLOG_LEVEL: Gibt die Protokollebene an. (Optional, standardmäßiginfo“). Mögliche Werte:debug,info,warn,error.
Verfügbare Tools
Der claude-code-mcp Server bietet die folgenden Tools:
explain_code: Bietet eine detaillierte Erklärung des angegebenen Codes.review_code: Überprüft den angegebenen Code.fix_code: Behebt Fehler oder Probleme im angegebenen Code.edit_code: Bearbeitet den angegebenen Code basierend auf Anweisungen.test_code: Generiert Tests für den angegebenen Code.simulate_command: Simuliert die Ausführung eines bestimmten Befehls.your_own_query: Sendet eine benutzerdefinierte Abfrage mit Kontext.
Notiz
Speicherort der Protokolldatei (
claude-code-mcp.log):Versucht zuerst, es im Projektstamm zu erstellen.
Fällt auf das Home-Verzeichnis des Benutzers zurück (
~/.claude-code-mcp.log).Fällt schließlich auf
/tmp/claude-code-mcp.logzurück.
Die Protokollrotation ist noch nicht implementiert (achten Sie auf die Größe der Protokolldatei).
Hauptsächlich mit Claude CLI auf Ubuntu/WSL2 getestet.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten siehe unten.
MIT License
Copyright (c) 2024 KunihiroS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.Haftungsausschluss
Diese Software dient ausschließlich Bildungs- und Forschungszwecken. Dieses Projekt steht in keiner offiziellen Verbindung zu Anthropic und wird auch nicht von Anthropic unterstützt. Claude ist eine Marke von Anthropic.
Das Projekt nutzt die Claude CLI als Abhängigkeit, ist aber ein unabhängiges, von der Community betriebenes Projekt. Nutzer sollten bei der Nutzung dieses Projekts die Nutzungsbedingungen von Anthropic einhalten.
Die Betreuer dieses Projekts sind nicht für den Missbrauch der Software oder Verstöße gegen die Nutzungsbedingungen von APIs oder Diensten Dritter verantwortlich.