Integrations
Shell- und Coding-Agent für Claude und andere MCP-Clients
Ermöglicht das Codieren, Erstellen und Ausführen von Chat-Anwendungen auf Ihrem lokalen Computer.
wcgw ist ein MCP-Server mit eng integrierten Shell- und Codebearbeitungstools.
⚠️ Warnung: Lassen Sie das BashCommand-Tool nicht zu, ohne den Befehl zu überprüfen, da dies zu Datenverlust führen kann.
Demo
Aktualisierungen
- [27. April 2025] Unterstützung für GPTs über Relay-Server entfernt. Nur MCP-Server werden in Version >= 5 unterstützt.
- [24. März 2025] Verbessertes Schreib- und Bearbeitungserlebnis für Sonett 3.7, CLAUDE.md wird automatisch geladen.
- [16. Februar 2025] Sie können sich nun mit dem von der KI verwendeten Arbeitsterminal verbinden. Siehe den Abschnitt „Mit Terminal verbinden“ weiter unten.
- [15. Januar 2025] Neue Modi: Architekt, Code-Writer und der leistungsstarke WCGW-Modus.
- [8. Januar 2025] Kontextspeicher-Tool zum Speichern relevanter Dateipfade zusammen mit einer Beschreibung in einer einzigen Datei. Kann als Aufgabenkontrollpunkt oder zum Wissenstransfer verwendet werden.
- [29. Dez. 2024] Die Syntaxprüfung beim Schreiben und Bearbeiten von Dateien ist nun stabil. Der Aufruf des
initialize
ist nun nützlich; die intelligente Repo-Struktur wird an Claude gesendet, wenn auf ein Repo verwiesen wird. Auch die Handhabung großer Dateien wurde verbessert. - [9. Dez. 2024] Vscode-Erweiterung zum Einfügen von Kontext in die Claude-App
🚀 Highlights
- ⚡ Erstellen, Ausführen, Iterieren : Bitten Sie Claude, die Compilerprüfungen so lange auszuführen, bis alle Fehler behoben sind, oder bitten Sie ihn, den Status eines Befehls mit langer Ausführungsdauer so lange zu prüfen, bis dieser abgeschlossen ist.
- ⚡ Große Dateibearbeitung : Unterstützt inkrementelle Bearbeitungen großer Dateien, um Probleme mit dem Token-Limit zu vermeiden. Wählt intelligent aus, wann kleine Bearbeitungen oder große Umschreibungen basierend auf dem Prozentsatz der erforderlichen Änderungen durchgeführt werden sollen.
- ⚡ Syntaxprüfung bei Änderungen : Gibt dem LLM Feedback, wenn seine Änderungen Syntaxfehler enthalten, damit er sie wiederholen kann.
- ⚡ Interaktive Befehlsverarbeitung : Unterstützt interaktive Befehle mit Pfeiltasten, Interrupts und ANSI-Escape-Sequenzen.
- ⚡ Dateischutz :
- Die KI muss eine Datei mindestens einmal lesen, bevor sie sie bearbeiten oder überschreiben darf. Dies verhindert versehentliches Überschreiben.
- Verhindert das Auffüllen des Kontexts beim Lesen sehr großer Dateien. Die Dateien werden basierend auf der Tokenlänge in Blöcke aufgeteilt.
- Bei der Initialisierung wird die Verzeichnisstruktur des bereitgestellten Arbeitsbereichs zurückgegeben, nachdem wichtige Dateien ausgewählt wurden (basierend auf .gitignore sowie einem statistischen Ansatz).
- Die Dateibearbeitung basierend auf Suchen und Ersetzen versucht, den richtigen Suchblock zu finden, wenn es mehrere Übereinstimmungen basierend auf vorherigen Suchblöcken gibt. Andernfalls schlägt sie fehl (aufgrund der Korrektheit).
- Die Dateibearbeitung erfolgt mit abstandstoleranter Übereinstimmung und warnt bei Problemen wie nicht übereinstimmenden Einrückungen. Falls keine Übereinstimmung gefunden wird, wird die beste Übereinstimmung an die KI zurückgegeben, um die Fehler zu beheben.
- Verwenden Sie die Aider-ähnliche Such- und Ersetzungsfunktion, die eine bessere Leistung bietet als die auf Toolaufrufen basierende Such- und Ersetzungsfunktion.
- ⚡ Shell-Optimierungen :
- Es kann immer nur ein Befehl ausgeführt werden. Dies vereinfacht die Verwaltung und vermeidet unerwünschte Prozesse. Es gibt immer nur eine Shell-Instanz.
- Um zu verhindern, dass AI verloren geht, wird nach jedem Shell-Befehl immer das aktuelle Arbeitsverzeichnis zurückgegeben.
- Die Befehlsabfrage wird nach einem kurzen Timeout beendet, um langsames Feedback zu vermeiden. Die Statusprüfung verfügt jedoch über eine Wartetoleranz, die auf dem aktuellen Ausgabestream eines Befehls basiert. Beide Ansätze kombiniert sorgen für eine gute Shell-Interaktion.
- ⚡ Speichern des Repo-Kontexts in einer einzigen Datei : Das Task-Checkpointing mit dem Tool „ContextSave“ speichert den detaillierten Kontext in einer einzigen Datei. Aufgaben können später in einem neuen Chat mit der Frage „
task id
fortsetzen“ fortgesetzt werden. Die gespeicherte Datei kann für andere Arten des Wissenstransfers verwendet werden, z. B. für die Unterstützung einer anderen KI. - ⚡ Einfaches Wechseln zwischen verschiedenen Modi :
- Lassen Sie es zur Planung im Architektenmodus laufen. Inspiriert von Adiers Architektenmodus, arbeiten Sie zunächst mit Claude zusammen, um einen Plan zu entwickeln. Dies führt zu höherer Genauigkeit und verhindert vorzeitige Dateibearbeitung.
- Lassen Sie es im Code-Writer-Modus laufen, um Code zu bearbeiten und Projekte zu erstellen. Sie können bestimmte Pfade mit Platzhaltern angeben, um die Bearbeitung anderer Dateien zu verhindern.
- Standardmäßig läuft es im „wcgw“-Modus, der keine Einschränkungen und volle Autorisierung bietet.
- Weitere Details im Abschnitt „Modi“
- ⚡ Läuft im Multiplex-Terminal. Führen Sie
screen -x
aus, um eine Verbindung zum Terminal herzustellen, auf dem die KI Befehle ausführt. Sie können den Verlauf einsehen, Prozesse unterbrechen oder mit demselben Terminal interagieren, das die KI verwendet.
Beispiele für die wichtigsten Anwendungsfälle
- Lösen Sie Problem X mit Python, erstellen und führen Sie Testfälle aus und beheben Sie alle Probleme. Führen Sie dies in einem temporären Verzeichnis aus.
- Suchen Sie in meinem Repository nach Codeinstanzen mit X-Verhalten
- Git-Klon https://github.com/my/repo in meinem Home-Verzeichnis, dann verstehen Sie das Projekt, richten Sie die Umgebung ein und bauen Sie
- Erstellen Sie eine Golang-HTMX-Tailwind-Webanwendung und öffnen Sie dann den Browser, um zu sehen, ob sie funktioniert (mit Puppeteer MCP verwenden).
- Bearbeiten oder Aktualisieren einer großen Datei
- Erstellen Sie in einem separaten Zweig die Funktion Y und verwenden Sie dann die GitHub-CLI, um einen PR für den ursprünglichen Zweig zu erstellen
- Befehl X schlägt im Verzeichnis Y fehl. Bitte führen Sie ihn aus und beheben Sie die Probleme.
- Führen Sie mithilfe der virtuellen Umgebung X den Befehl Y aus
- Erstellen, erstellen und testen Sie mithilfe von CLI-Tools eine Android-App. Führen Sie sie anschließend mit einem Emulator aus, damit ich sie verwenden kann.
- Beheben Sie alle Mypy-Probleme in meinem Repo unter Pfad X.
- Mit 'screen' führe ich stattdessen meinen Server im Hintergrund aus, dann einen weiteren API-Server in bg und schließlich den Frontend-Build. Überprüfe weiterhin die Protokolle auf Probleme in allen drei
- Erstellen Sie Repository-weite Unittest-Fälle. Iterieren Sie kontinuierlich durch die Dateien und erstellen Sie Fälle. Führen Sie die Tests auch nach jedem Update weiter aus. Ändern Sie den Originalcode nicht.
Claude-Setup (mit mcp)
Mac und Linux
Installieren Sie uv
zunächst mit Homebrew brew install uv
( Wichtig: Verwenden Sie Homebrew, um UV zu installieren. Stellen Sie andernfalls sicher, dass uv
an einem globalen Speicherort wie /usr/bin/ vorhanden ist.)
Erstellen oder aktualisieren Sie dann claude_desktop_config.json
(~/Library/Application Support/Claude/claude_desktop_config.json) mit folgendem JSON.
Starten Sie dann die Claude-App neu.
Wenn beim Einrichten ein Fehler auftritt
- Wenn ein Fehler wie „uv ENOENT“ auftritt, stellen Sie sicher, dass
uv
installiert ist. Führen Sie anschließend „which uv“ im Terminal aus und verwenden Sie dessen Ausgabe anstelle von „uv“ in der Konfiguration. - Wenn das Problem weiterhin besteht, überprüfen Sie, ob
uv tool run --python 3.12 wcgw@latest
in Ihrem Terminal ausgeführt wird. Es sollte keine Ausgabe geben und nicht beendet werden. - Versuchen Sie, den Ordner ~/.cache/uv zu entfernen
- Versuchen Sie es mit
uv
Version0.6.0
, für die dieses Tool getestet wurde. - Debuggen Sie den MCP-Server mit
npx @modelcontextprotocol/inspector@0.1.7 uv tool run --python 3.12 wcgw@latest
Windows auf WSL
Dieser MCP-Server funktioniert nur auf WSL unter Windows.
Um es einzurichten, installieren Sie uv
Fügen Sie dann die Claude-Konfigurationsdatei %APPDATA%\Claude\claude_desktop_config.json
hinzu oder aktualisieren Sie sie mit dem folgenden
Verwendung
Warten Sie einige Sekunden. Wenn alles richtig läuft, sollte dieses Symbol angezeigt werden.
hier
Bitten Sie Claude dann, Shell-Befehle auszuführen, Dateien zu lesen, Dateien zu bearbeiten, Ihren Code auszuführen usw.
Aufgabenkontrollpunkt oder Wissenstransfer
- Sie können einen Aufgabenprüfpunkt oder eine Wissensübertragung durchführen, indem Sie die Eingabeaufforderung „KnowledgeTransfer“ mit der Schaltfläche „Von MCP anhängen“ anhängen.
- Beim Ausführen der Eingabeaufforderung „KnowledgeTransfer“ wird das Tool „ContextSave“ aufgerufen und speichert die Aufgabenbeschreibung und den gesamten Dateiinhalt in einer einzigen Datei. Eine ID für die Aufgabe wird generiert.
- Sie können in einem neuen Chat „Fortsetzen“ sagen, die KI sollte dann „Initialisieren“ mit der Aufgaben-ID aufrufen und den Kontext von dort laden.
- Oder Sie können die generierte Datei direkt öffnen und sie zur Hilfe mit einer anderen KI teilen.
Modi
Es gibt drei integrierte Modi. Sie können Claude in einem der Modi ausführen lassen, z. B. „Architektenmodus verwenden“.
Modus | Beschreibung | Ermöglicht | Verweigert | Eingabeaufforderung aufrufen |
---|---|---|---|---|
Architekt | Entwickelt, damit Sie mit Claude zusammenarbeiten können, um Ihr Repo zu untersuchen und zu verstehen. | Schreibgeschützte Befehle | Dateibearbeitungs- und Schreibwerkzeug | Ausführen im Modus „Architekt“ |
Code-Schreiber | Zum Schreiben und Entwickeln von Code | Angegebene Pfad-Globs zum Bearbeiten oder Schreiben, angegebene Befehle | FileEdit für Pfade, die nicht mit dem angegebenen Glob übereinstimmen, Write für Pfade, die nicht mit dem angegebenen Glob übereinstimmen | Im Code-Writer-Modus ausführen, nur „tests/**“ zulässig, nur UV-Befehl zulässig |
**wcgw** | Standardmodus mit allem erlaubt | Alles | Nichts | Keine Eingabeaufforderung oder „Im WCGW-Modus ausführen“ |
Hinweis: Im Code-Writer-Modus sind entweder alle Befehle oder derzeit keine zulässig. Wenn Sie eine Liste zulässiger Befehle angeben, wird Claude angewiesen, nur diese Befehle auszuführen, es findet jedoch keine tatsächliche Überprüfung statt. (In Arbeit)
Zur Untersuchung an das Arbeitsterminal anschließen
Wenn Sie screen
-Befehl installiert haben, wird WCGW automatisch auf einer Screen-Instanz ausgeführt. Wenn Sie den WCGW-MCP-Server gestartet haben, können Sie die Screen-Sitzungen auflisten:
screen -ls
Und notieren Sie sich den WCGW-Bildschirmnamen, der etwa 93358.wcgw.235521
lautet, wobei die letzte Zahl im Format Stunde-Minute-Sekunde angegeben ist.
Sie können dann mit screen -x 93358.wcgw.235521
eine Verbindung zur Sitzung herstellen.
Sie können jeden laufenden Befehl sicher unterbrechen.
Sie können mit dem Terminal interagieren. Beachten Sie jedoch, dass die KI möglicherweise parallel läuft und es zu Konflikten mit Ihren Aktivitäten kommen kann. Es wird empfohlen, Ihre Interaktionen auf ein Minimum zu beschränken.
Sie sollten die Sitzung nicht mit exit
oder „Strg+d“ beenden. Verwenden Sie stattdessen ctrl+a+d
, um die Verbindung sicher zu trennen, ohne die Bildschirmsitzung zu zerstören.
[Optional] Vs-Code-Erweiterung
https://marketplace.visualstudio.com/items?itemName=AmanRusia.wcgw
Befehle:
- Wählen Sie einen Text aus, drücken Sie
cmd+'
und geben Sie anschließend Anweisungen ein. Dadurch wechselt die App zu Claude und fügt einen Text mit Ihren Anweisungen, dem Dateipfad, dem Arbeitsbereichsverzeichnis und dem ausgewählten Text ein.
Beispiele
Verwenden des MCP-Servers über Docker
Erstellen Sie zuerst das Docker-Image docker build -t wcgw https://github.com/rusiaaman/wcgw.git
Anschließend können Sie /Users/username/Library/Application Support/Claude/claude_desktop_config.json
aktualisieren, um
[Optional] Lokaler Shell-Zugriff mit OpenAI-API-Schlüssel oder Anthropic-API-Schlüssel
Openai
Fügen Sie die Umgebungsvariablen OPENAI_API_KEY
und OPENAI_ORG_ID
hinzu.
Dann lauf
uvx wcgw@latest wcgw_local --limit 0.1
# Kostenlimit $0.1
Sie können jetzt direkt Nachrichten schreiben oder die Eingabetaste drücken, um Vim zum Einfügen mehrzeiliger Nachrichten und Texte zu öffnen.
Anthropisch
Fügen Sie die Umgebungsvariable ANTHROPIC_API_KEY
hinzu.
Dann lauf
uvx wcgw@latest wcgw_local --claude
Sie können jetzt direkt Nachrichten schreiben oder die Eingabetaste drücken, um Vim zum Einfügen mehrzeiliger Nachrichten und Texte zu öffnen.
Werkzeuge
Der Server stellt die folgenden MCP-Tools bereit:
Shell-Operationen:
Initialize
: Shell zurücksetzen und Arbeitsbereichsumgebung einrichten- Parameter:
any_workspace_path
(Zeichenfolge),initial_files_to_read
(Zeichenfolge[]),mode_name
("wcgw"|"architect"|"code_writer"),task_id_to_resume
(Zeichenfolge)
- Parameter:
BashCommand
: Führen Sie Shell-Befehle mit Timeout-Steuerung aus- Parameter:
command
(Zeichenfolge),wait_for_seconds
(int, optional) - Parameter:
send_text
(Zeichenfolge) odersend_specials
(["Eingabe"|"Taste loslassen"|...]) odersend_ascii
(int[]),wait_for_seconds
(int, optional)
- Parameter:
Dateioperationen:
ReadFiles
: Inhalt aus einer oder mehreren Dateien lesen- Parameter:
file_paths
(Zeichenfolge[])
- Parameter:
WriteIfEmpty
: Neue Dateien erstellen oder in leere Dateien schreiben- Parameter:
file_path
(Zeichenfolge),file_content
(Zeichenfolge)
- Parameter:
FileEdit
: Bearbeiten Sie vorhandene Dateien mithilfe von Such-/Ersetzungsblöcken- Parameter:
file_path
(Zeichenfolge),file_edit_using_search_replace_blocks
(Zeichenfolge)
- Parameter:
ReadImage
: Bilddateien zur Anzeige/Verarbeitung lesen- Parameter:
file_path
(Zeichenfolge)
- Parameter:
Projektmanagement:
ContextSave
: Speichern Sie Projektkontext und Dateien für den Wissenstransfer oder speichern Sie Task-Checkpoints, um sie später fortzusetzen- Parameter:
id
(Zeichenfolge),project_root_path
(Zeichenfolge),description
(Zeichenfolge),relevant_file_globs
(Zeichenfolge[])
- Parameter:
Alle Tools unterstützen absolute Pfade und verfügen über integrierten Schutz vor häufigen Fehlern. Detaillierte Protokollinformationen finden Sie in der MCP-Spezifikation .
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Die Shell- und Dateibearbeitungsfunktionen sind eng miteinander verknüpft, um ein leistungsstarkes Codierungserlebnis zu bieten.
Sie können mit verschiedenen Modi arbeiten: Architekt und Code-Autor für separate Planungs- und Implementierungsphasen.
Sie können es dazu bringen, jeden CLI-Befehl aufzurufen, z. B. Kompilieren, Typprüfung, Linting, GitHub CLI, Python
- Demo
- Aktualisierungen
- 🚀 Highlights
- Beispiele für die wichtigsten Anwendungsfälle
- Claude-Setup (mit mcp)
- Beispiele
- Verwenden des MCP-Servers über Docker
- \[Optional] Lokaler Shell-Zugriff mit OpenAI-API-Schlüssel oder Anthropic-API-Schlüssel
- Werkzeuge
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityLeverages Vim's native text editing commands and workflows, which Claude already understands, to create a lightweight code assistance layer.Last updated -869129TypeScriptMIT License
- AsecurityFlicenseAqualityA CLI command execution server that enables running shell commands with structured output, providing detailed execution results including stdout, stderr, exit code, and execution duration.Last updated -216TypeScript
- AsecurityFlicenseAqualityA CLI tool that runs a Model Context Protocol server over stdio, enabling interaction with specification documents like business requirements, product requirements, and user stories for the Specif-ai platform.Last updated -90TypeScript
- AsecurityAlicenseAqualityAllows Claude desktop app to execute terminal commands and edit files on your computer through MCP, with features including command execution, process management, and diff-based file editing.Last updated -1915,9562,540JavaScriptMIT License