Skip to main content
Glama

CodeWeave

CI License: MIT Rust Model Context Protocol

CodeWeave ist ein lokaler MCP-Server, der einem KI-Coding-Client präzise Suche, geschützte Bearbeitungen, Git-Operationen, semantische Intelligenz und begrenzte Bash-Ausführung innerhalb eines Repositorys bietet.

Es wurde für Entwickler entwickelt, die leistungsfähige Coding-Tools wünschen, ohne stillschweigend Repositorys zu wechseln, teilweise Bearbeitungen zu verstecken oder eine gesamte Maschine an einen entfernten Dienst zu senden.

Schnellstart

Sie benötigen Rust, Git und Bash. Windows-Benutzer können die mit Git für Windows gebündelte Bash verwenden.

cargo install --git https://github.com/abhij1306/codeweave --locked
codeweave install

Der interaktive Installer:

  • fragt, welches Repository CodeWeave bedienen soll;

  • empfiehlt lokales stdio oder konfiguriert Loopback-HTTP;

  • erstellt config.json und einen privaten Origin-Token;

  • prüft Git, Bash, den Arbeitsbereich, die Konfiguration, Token-Berechtigungen, Port und den Eager-Index-Start;

  • gibt einen bereit zum Einfügen MCP-Client-Befehl aus.

Für Automatisierung überspringen Sie den Assistenten:

codeweave init --path /absolute/path/to/repository --config config.json
codeweave doctor --config config.json

Related MCP server: DevToolkit MCP Server

Einen Client verbinden

Lokale Clients: stdio

Stdio ist der einfachste und sicherste Transport. Der Installer gibt einen Block wie diesen aus:

{
  "command": "/absolute/path/to/codeweave",
  "args": ["serve", "--transport", "stdio", "--config", "/absolute/path/to/config.json"]
}

Fügen Sie ihn in jeden MCP-Client ein, der einen lokalen Befehl akzeptiert.

Loopback-HTTP

codeweave serve --transport http --config config.json

Der lokale Endpunkt ist standardmäßig http://127.0.0.1:8813/mcp. HTTP erfordert den in .mcp-token gespeicherten Bearer; der Token ist eine private Origin-Anmeldeinformation, kein LLM-API-Schlüssel und keine externe Benutzerauthentifizierung.

Remote-Clients

Veröffentlichen Sie den Loopback-Origin niemals, indem Sie seinen Bearer einfach in jede öffentliche Anfrage einfügen. Ein öffentliches Gateway muss zuerst jeden externen Aufrufer authentifizieren und dann den privaten Origin-Bearer für den Hop zu CodeWeave hinzufügen.

Das gebündelte PowerShell-Helfer-Skript verwendet obligatorische HTTP-Basic- Authentifizierung bei ngrok, bevor es den Origin-Bearer einsetzt:

.\start-ngrok.ps1 -Config .\config.json

PowerShell fragt nach dem öffentlichen Benutzernamen und Passwort. Verwenden Sie dieses Helfer-Skript nur mit Clients, die Basic-Anmeldeinformationen unterstützen. Nur-URL-gehostete Connectors benötigen stattdessen ein OAuth-fähiges MCP-Gateway. Siehe ChatGPT-Setup und Claude-Setup.

Was CodeWeave bereitstellt

CodeWeave bietet eine feste Oberfläche mit 25 Tools:

  • Erkennung: workspace, code_retrieve, code_intelligence;

  • geschützte Bearbeitung: code_write, code_replace, code_replace_range, code_insert, code_delete, code_rename, code_preview, code_transaction;

  • Git: git_status, git_diff, git_log, git_show, git_blame, git_preflight, git_stage, git_commit, git_restore, git_push;

  • Befehle: bash, bash_status, bash_output, bash_cancel.

Das Repository ist für die gesamte Prozesslebensdauer festgelegt. Alle verbundenen Clients teilen sich dieselben Arbeitsbereichsmutationen, Generierung und Bash-Ausführungen.

Sicherheitsmodell

CodeWeave ist ein privilegiertes Entwickler-Tool. Ein authentifizierter Client kann unsandboxed Bash als Ihr Betriebssystem-Benutzerkonto ausführen, daher verbinden Sie nur Clients und Modelle, denen Sie vertrauen.

Der Server erzwingt dennoch engere Invarianten um dieses Vertrauen herum:

  • Datei-Lese- und Schreibvorgänge sind fähigkeitsbeschränkt auf den konfigurierten Arbeitsbereich;

  • Snapshot-Hashes, Bereichs-Handles und erwartete Inhaltsprüfungen schützen Bearbeitungen;

  • Multi-Datei-Bearbeitungen melden ehrlich teilweise Anwendung und Wiederherstellungsfehler;

  • Git-Pfad-Argumente und destruktive Operationen verwenden Validierung und explizite Bestätigung;

  • HTTP-Authentifizierung erfolgt vor einem begrenzten 4-MiB-Anforderungskörper- Lesevorgang;

  • der Origin akzeptiert nur HTTP/1 und begrenzt gleichzeitige Verbindungen;

  • Bearer-Dateien verwenden 0600 auf Unix und eine geschützte explizite DACL auf Windows.

Lesen Sie SECURITY.md, bevor Sie HTTP über Loopback hinaus exponieren.

Konfiguration

codeweave install erstellt eine strikte configVersion: 2-Konfiguration. Unbekannte Felder werden abgelehnt, einschließlich unbekannter verschachtelter Felder. Siehe config.example.json für jede Option.

Nützliche Befehle:

codeweave doctor --config config.json
codeweave serve --transport stdio --config config.json
codeweave serve --transport http --config config.json

Optionale semantische Backends sind rust-analyzer, basedpyright-langserver und typescript-language-server. Sie sind deaktiviert, bis sie in der generierten Konfiguration aktiviert werden.

Committen Sie config.json, .mcp-token oder .codeweave-cache/ nicht.

Aktualisieren

Installieren Sie die neueste Version von GitHub:

cargo install --git https://github.com/abhij1306/codeweave --locked --force
codeweave doctor --config /path/to/config.json

Ältere Windows-Versionen erstellten Bearer-Dateien mit vererbten Berechtigungen. Wenn doctor eine solche Datei ablehnt, stoppen Sie CodeWeave, entfernen Sie nur die konfigurierte Token-Datei und starten Sie es erneut, sodass der Token mit einer geschützten DACL rotiert wird.

Entwickeln

git clone https://github.com/abhij1306/codeweave.git
cd codeweave
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets

Architektur- und Nebenläufigkeitsgarantien finden Sie in docs/architecture.md. Tool-Verträge sind in docs/tools.md dokumentiert, und Beiträge sind über CONTRIBUTING.md willkommen.

Related MCP Connectors

Related MCP Servers