Skip to main content
Glama

CodeWeave

CI License: MIT Rust Model Context Protocol

CodeWeaveは、AIコーディングクライアントに、1つのリポジトリ内での正確な検索、保護された編集、Git操作、セマンティックインテリジェンス、および制限付きBash実行を提供する、ローカルファーストのMCPサーバーです。

リポジトリを静かに切り替えたり、部分的な編集を隠したり、マシン全体をリモートサービスに送信したりすることなく、有能なコーディングツールを求める開発者のために構築されています。

クイックスタート

Rust、Git、およびBashが必要です。Windowsユーザーは、Git for WindowsにバンドルされているBashを使用できます。

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

対話型インストーラーは以下を行います:

  • CodeWeaveが提供するリポジトリを尋ねます;

  • ローカルのstdioを推奨するか、ループバックHTTPを設定します;

  • config.jsonとプライベートオリジントークンを作成します;

  • Git、Bash、ワークスペース、設定、トークンの権限、ポート、およびイーガーインデックス起動をチェックします;

  • 貼り付け可能なMCPクライアントコマンドを出力します。

自動化の場合は、ウィザードをスキップします:

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

Related MCP server: DevToolkit MCP Server

クライアントに接続する

ローカルクライアント:stdio

stdioは最もシンプルで安全なトランスポートです。インストーラーは以下のようなブロックを出力します:

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

ローカルコマンドを受け入れる任意のMCPクライアントに貼り付けてください。

ループバックHTTP

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

デフォルトのローカルエンドポイントはhttp://127.0.0.1:8813/mcpです。HTTPは.mcp-tokenに保存されたベアラーを必要とします。このトークンはプライベートオリジンの認証情報であり、LLM APIキーでも外部ユーザー認証でもありません。

リモートクライアント

ループバックオリジンを、そのベアラーをすべての公開リクエストに単に注入するだけで公開してはいけません。公開ゲートウェイは、まず各外部呼び出し元を認証し、次にCodeWeaveへのホップのためにプライベートオリジンベアラーを追加する必要があります。

バンドルされているPowerShellヘルパーは、ngrokで必須のHTTP Basic認証を使用してから、オリジンベアラーを置き換えます:

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

PowerShellは公開ユーザー名とパスワードを要求します。このヘルパーはBasic認証情報をサポートするクライアントでのみ使用してください。URLのみのホスト型コネクタには、代わりにOAuth対応のMCPゲートウェイが必要です。ChatGPTセットアップとClaudeセットアップを参照してください。

CodeWeaveが公開するもの

CodeWeaveは、固定された25ツールのサーフェスを提供します:

  • 発見:workspace、code_retrieve、code_intelligence;

  • 保護された編集: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;

  • コマンド:bash、bash_status、bash_output、bash_cancel。

リポジトリはプロセスの存続期間中固定されます。接続されたすべてのクライアントは、同じワークスペースの変更、生成、およびBash実行を共有します。

セキュリティモデル

CodeWeaveは特権的な開発者ツールです。認証されたクライアントは、あなたのOSアカウントとしてサンドボックス化されていないBashを実行できるため、信頼するクライアントとモデルのみを接続してください。

それでもサーバーは、その信頼の周りにより狭い不変条件を強制します:

  • ファイルの読み取りと書き込みは、設定されたワークスペースに機能制限されます;

  • スナップショットハッシュ、範囲ハンドル、および期待されるコンテンツチェックが編集を保護します;

  • 複数ファイルの編集は、部分的な適用と回復の失敗を正直に報告します;

  • Gitパス引数と破壊的な操作は、検証と明示的な確認を使用します;

  • HTTP認証は、制限された4 MiBのリクエストボディ読み取りの前に行われます;

  • オリジンはHTTP/1のみを受け入れ、同時接続数を制限します;

  • ベアラーファイルは、Unixでは0600、Windowsでは保護された明示的なDACLを使用します。

ループバックを超えてHTTPを公開する前に、SECURITY.mdをお読みください。

設定

codeweave installは、厳格なconfigVersion: 2設定を作成します。未知のフィールドは、未知のネストされたフィールドも含めて拒否されます。すべてのオプションについては、config.example.jsonを参照してください。

便利なコマンド:

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

オプションのセマンティックバックエンドは、rust-analyzer、basedpyright-langserver、およびtypescript-language-serverです。これらは、生成された設定で有効化されるまで無効になっています。

config.json、.mcp-token、または.codeweave-cache/をコミットしないでください。

更新

GitHubから最新のリリースをインストールします:

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

古いWindowsリリースでは、継承された権限でベアラーファイルが作成されていました。doctorがそのようなファイルを拒否した場合は、CodeWeaveを停止し、設定されたトークンファイルのみを削除して、再度起動してください。そうすることで、保護されたDACLでトークンがローテーションされます。

開発

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

アーキテクチャと並行性の保証についてはdocs/architecture.mdに、ツールの契約についてはdocs/tools.mdに記載されています。CONTRIBUTING.mdを通じての貢献を歓迎します。

Related MCP Connectors

Related MCP Servers