mcpField
C
CodeWeave Mcp

CodeWeave Mcp

ローカル
github.com/semihkayan開発ツール422 週間前に更新

CodeWeave Mcp について

CodeWeave Mcpは、コーディングエージェント向けにローカル索引から構造化されたコード検索を提供するMCPサーバーです。AST、呼び出しグラフ、型グラフ、ハイブリッドセマンティック検索を組み合わせ、7言語に対応します。

主な機能

  1. 01意味とキーワードによるコード検索
  2. 02AST・呼び出し・型グラフの構築
  3. 03ファイル監視と差分再インデックス
  4. 04索引の状態と言語別情報の確認

活用シーン

  1. 01大規模コードベースで関連関数を発見
  2. 02モノレポの複数ワークスペースを検索
  3. 03コード変更後にローカル索引を更新

MCP 対応

stdio経由で、セマンティック検索、再インデックス、索引状態のツールをMCPクライアントに公開します。Claude Code、VS Code、Cursorなどのクライアントに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"codeweave": {
"command": "npx",
"args": [
"-y",
"@codeweave/mcp"
]
}
}
}
起動コマンドnpx -y @codeweave/mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@codeweave/mcp0.1.20

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

@codeweave/mcp

ファイルをただダンプするのではなく、AI エージェントに構造化されたコード理解を提供します。

npm バージョン ライセンス node バージョン 対応言語 ステータス


CodeWeave は、AI エージェントに低コストで精度の高いコードインテリジェンスを提供する MCP サーバーです。ファイル全体をコンテキストに流し込む代わりに、エージェントはローカルインデックス(AST、呼び出しグラフ、型グラフ、ハイブリッドセマンティック検索)を照会し、必要な情報だけを取得します。

トークンを減らし、関連性の高いコンテキストを増やし、より良い判断を実現します。

セマンティック検索パイプラインは、このシステムの中核です。ベクトル埋め込み、全文検索、構造密度スコアリングを組み合わせた6段階のハイブリッドエンジンです。Java モノリス、TypeScript モノレポ、Python ML パイプライン、Go マイクロサービスなど、大規模な本番コードベースで広範にテストされ、一貫して高い検索精度を実現しています。

現在も活発に開発中です。 新しいツールや改善を定期的にリリースしています。コントリビューションやフィードバックを歓迎します。

クイックスタート

cd your-project
npx @codeweave/mcp

以上です。セットアップウィザードがすべて処理します。

  1. @codeweave/mcp をグローバルにインストールします
  2. 必要に応じて Ollama をインストールします
  3. 埋め込みモデルをダウンロードします
  4. MCP クライアント(Claude Code、VS Code)を設定します
  5. プロジェクトをインデックス化します

注: 初回実行時には、Ollama と埋め込みモデルを一度ダウンロードする必要があります。数分かかりますが、必要なのは一度だけです。

Claude Code または VS Code でプロジェクトを開き、質問を始めましょう。

ツール

コード理解ワークフローに沿って整理された3つのツールです。

ツール目的
semantic_search意味で検索します。正確な名前がわからなくても関数を見つけられます。密度ベースの再ランキングを備えた、ベクトルとキーワードのハイブリッド検索です。
reindexインデックスの更新を手動で開始します。通常は不要です。ファイルウォッチャーが変更を検出すると自動で再インデックスします。
get_index_statusインデックスの健全性ダッシュボードです。ファイル数/関数数、埋め込みの状態、呼び出しグラフの統計、言語の内訳を確認できます。

仕組み

Source Code
    │
    ▼
tree-sitter AST  ───>  Function Index (in-memory)
                              │
                   ┌──────────┼──────────┐
                   ▼          ▼          ▼
              Call Graph  Type Graph  Embeddings
              (JSON)      (JSON)     (LanceDB)
                   │          │          │
                   └──────────┼──────────┘
                              ▼
                       3 MCP Tools  ───>  AI Agent
  1. 解析 — tree-sitter が7つの言語にわたるすべての関数、クラス、メソッド、インターフェースを抽出します
  2. 埋め込み — Qwen3-Embedding-0.6B がセマンティック検索用のベクトル埋め込みを生成します
  3. インデックス化 — LanceDB がベクトルを保存し、BM25 全文検索インデックスも併せて保持します
  4. グラフ化 — 呼び出しグラフは型を考慮した解決によって呼び出し元と呼び出し先を追跡します。型グラフは継承と実装を追跡します(ランキングとインデックス状態のレポートに活用されます)
  5. 監視 — ファイルウォッチャーが変更を検出し、影響を受けるファイルを段階的に再インデックスします
  6. 提供 — 3つのツールを MCP プロトコル(stdio)経由で公開し、インデックス化の完了前から利用できます

セマンティック検索

検索パイプラインこそが、CodeWeave の真価を発揮する部分です。単なるベクトル類似度ではなく、最も関連性が高く、重要なコードを見つけ出すよう設計された、多段階のシステムです。

6 段階のパイプライン:

  1. 名前の完全一致 — 関数名がわかっている場合の高速検索(スコア 0.95 以上)
  2. ベクトル検索 — クエリを埋め込み表現に変換し、意味的に類似した関数を検索します(再ランク付けの余裕を持たせるため、取得件数を 3 倍にします)
  3. 全文検索 — BM25 によるキーワードマッチングで、埋め込み表現では見つからない結果を検出します
  4. RRF による統合 — Reciprocal Rank Fusion により、スコアの調整を必要とせず、両方の結果リストを統合します
  5. 完全一致の加点 — 名前がクエリと一致する関数を優先します
  6. 密度による再ランク付け — 構造的なシグナルで情報密度を判定し、単純なコードの順位を下げます

密度スコアリングでは、言語に依存しない 7 つの構造的シグナルを使用します。

シグナル測定内容
本体のサイズ大きな関数ほど多くの動作を担います(対数スケーリング)
Docstring の有無ドキュメントがあるコードは重要である可能性が高くなります
Docstring の充実度タグ、依存関係、副作用は、適切に保守されたコードであることを示します
パラメーター数パラメーターが多いほど、動作が複雑になります
呼び出しグラフの中心性多くの関数から呼び出される関数は、アーキテクチャの要となります
可視性public > protected > private
種類クラス > メソッド/関数 > インターフェース

ペナルティを適用して、ノイズが検索結果を支配しないようにします。

  • アクセサー(ゲッター/セッター) — 純粋なデータアクセスであり、動作を伴いません
  • コンストラクター — パラメーターが多いとスコアが高くなりますが、実際には代入処理にすぎません
  • テストファイル — 本体が大きくても、重要な動作を意味するとは限りません(テストを検索している場合を除く)

適切なフォールバック: Ollama が利用できない場合、検索は全文検索のみで実行されます。

これらのテクノロジーを選んだ理由

すべてのテクノロジーの選択は、ローカルで高速、設定不要なコード理解という中核的な目標に沿ったものです。

テクノロジー理由
tree-sitter7 つすべての言語に対応する単一の構文解析フレームワークです。成熟しており、高速で、実績も十分です。7 種類のパーサーを一から作成することなく、完全な AST にアクセスできます。
LanceDB組み込み型ベクトルデータベースです。外部サーバーも Docker も設定も不要で、ディスク上のディレクトリだけで利用できます。単一のエンジンでベクトル検索と BM25 全文検索の両方をサポートします。
Qwen3-Embedding-0.6B隠れた強みです。パラメーター数はわずか 0.6B ですが、コード理解では 10 倍のサイズのモデルに匹敵する埋め込み品質を実現します。Java のエンタープライズ向けモノリス、TypeScript のモノレポ、Python のデータパイプラインなど、大規模な本番コードベースでテストされており、一貫して優れた検索精度を発揮しています。Ollama 経由でローカルに実行でき、リアルタイムの再インデックス作成に十分な速度を備え、あらゆる開発者のマシンで使える軽量さです。
RRF(Reciprocal Rank Fusion)情報検索の研究で実証された手法です。スコアの調整を必要とせず、異なるスコアリング方式(ベクトル類似度と BM25 の関連性)による順位付きリストを統合します。シンプルで、堅牢かつ効果的です。
MCP ProtocolAI ツール連携の標準インターフェースです。1 つのサーバーで Claude Code、VS Code、Cursor、および MCP 互換のあらゆるクライアントに対応します。

対応言語

言語関数呼び出しインポート型テスト検出
Python関数、メソッド、クラス呼び出し箇所import/from-importクラスの継承、型ヒントpytest、unittest
TypeScript関数、アロー関数、メソッド、クラス、インターフェース呼び出し箇所名前付き/デフォルト/名前空間インポートimplements、extends、メンバー型jest、vitest、playwright
JavaScript(TypeScript と同じ)(TypeScript と同じ)(TypeScript と同じ)(TypeScript と同じ)jest、vitest、mocha
Go関数、メソッド(レシーバー)、構造体呼び出し箇所import 宣言暗黙のインターフェース、構造体testing、testify
Rust関数、メソッド(impl)、構造体、列挙型呼び出し箇所use 宣言型に対する impl Trait#[test]、#[cfg(test)]
Javaメソッド、コンストラクター、クラス、インターフェースメソッド呼び出しimport 宣言extends、implementsJUnit、Mockito、AssertJ
C#メソッド、コンストラクター、クラス、構造体、インターフェース、レコード呼び出しusing ディレクティブ基底型、インターフェース実装NUnit、xUnit、Moq

各言語パーサーは、次の機能も提供します。

  • ノイズフィルタリング — 依存関係の分析から除外される標準ライブラリ呼び出し(例:console.log、fmt.Println、System.out.println)の組み込みリスト
  • 構造ヒント — 密度スコアリングに利用される、AST で確認された分類(コンストラクター、抽象、ゲッター/セッター、テスト)

設定

CodeWeave は設定不要ですぐに使用できます。カスタマイズするには、.code-context/config.yaml を作成します。

workspaces:
  - .                                  # Root workspace
  - clients/web                        # Web client
  - clients/mobile                     # Mobile client

embedding:
  model: "qwen3-embedding:0.6b"     # Embedding model name
  ollamaUrl: "http://localhost:11434" # Ollama API endpoint
  dimensions: 1024                    # Vector dimensions
  batchSize: 50                       # Embedding batch size

parser:
  sourceRoot: "src"                   # Strip this prefix from module paths
  ignore:
    - "**/*.generated.*"              # Additional ignore patterns
    - "**/vendor/**"

search:
  rrfK: 60                           # RRF smoothing constant
  expandCamelCase: true               # Expand camelCase in search chunks
  density:
    enabled: true                     # Density-based reranking
    accessorPenalty: 0.6              # Penalty for getters/setters
    constructorPenalty: 0.7           # Penalty for constructors
    testFilePenalty: 0.5              # Penalty for test files

watcher:
  debounceMs: 500                     # File change debounce
  minIntervalMs: 2000                 # Minimum reindex interval

indexing:
  maxFileSizeKb: 500                  # Skip files larger than this

CLI ツール

# Full project initialization (AST + embeddings + graphs)
codeweave-init [path] [--force] [--no-embed]

# Incremental reindex (only changed files)
codeweave-reindex [--all] [--files=path1,path2] [--stdin]

手動セットアップ

npx @codeweave/mcp を使わず、手順に沿ってセットアップする場合:

# 1. Install globally
npm install -g @codeweave/mcp

# 2. Install Ollama and pull the embedding model
# macOS
brew install ollama
# Linux
curl -fsSL https://ollama.com/install.sh | sh

ollama pull qwen3-embedding:0.6b

# 3. Index your project
cd your-project
codeweave-init
4. MCP クライアントを設定する

Claude Code — プロジェクトのルートに .mcp.json を追加します。

{
  "mcpServers": {
    "codeweave": {
      "command": "codeweave-server"
    }
  }
}

VS Code — .vscode/mcp.json を追加します。

{
  "servers": {
    "codeweave": {
      "command": "codeweave-server"
    }
  }
}

モノレポのサポート

CodeWeave は、マニフェストファイル(package.json、build.gradle、pom.xml、go.mod、Cargo.toml、pyproject.toml など)を検索し、モノレポ内のワークスペースを自動検出します。

my-project/
├── backend/build.gradle    → workspace "backend"
├── mobile/package.json     → workspace "mobile"
└── shared/package.json     → workspace "shared"

各ワークスペースには、独立したインデックス、呼び出しグラフ、型グラフ、ベクトルストアが用意されます。ツールでは任意の workspace パラメーターを指定できます。省略すると、すべてのワークスペースが検索対象になります。

Git Worktree のサポート

CodeWeave は、Git worktree(Claude Code の /worktree を含む)を自動検出します。worktree で初めて起動すると、メインリポジトリのキャッシュをコピーして高速にウォームスタートします(30 秒以上ではなく約 2 秒)。その後、各 worktree は完全に独立したインデックスを保持します。

  • 自動 — 設定は不要です
  • 独立 — worktree の変更はメインリポジトリのキャッシュに影響しません
  • 差分更新 — メインブランチと異なるファイルのみが再解析および再埋め込みされます

要件

  • Node.js 20 以降
  • Ollama — セマンティック検索の埋め込みに使用します。セットアップウィザードからインストールするか、ollama.com から手動でインストールしてください。Ollama がない場合、セマンティック検索は全文検索のみで動作します。

ステータス

CodeWeave は活発に開発中です。コアのインデックス作成パイプラインと 3 つすべてのツールは安定しており、対応する 7 言語すべての本番コードベースでテスト済みです。

フィードバック、バグ報告、貢献を歓迎します。github.com/semihkayan/codeweave-mcp で issue を作成してください。

ライセンス

Apache 2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。