Nexus-MCP について
Nexus-MCPは、コーディングエージェント向けのローカルコード検索MCPサーバーです。ハイブリッド検索とコードグラフで関連コードを直接取得し、複数言語のプロジェクトをローカルで索引化します。
主な機能
- 01セマンティック検索とキーワード検索
- 02シンボルと呼び出し関係の検索
- 03コードグラフと変更影響の確認
- 04プロジェクト層と入口の把握
- 05増分および複数フォルダーの索引化
活用シーン
- 01機能を実装するファイルの特定
- 02関数の呼び出し元と呼び出し先の確認
- 03リファクタリングの影響範囲の評価
- 04不慣れなコードベースの構造把握
MCP 対応
MCPサーバーとして、コード検索、シンボル検索、コードグラフ、プロジェクトマップ、索引化のツールをコーディングエージェントに提供します。stdioトランスポートを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx nexus-mcp-ciNEXUS_STORAGE_DIRFolder for the index, memories and graph (default: .nexus in the project)NEXUS_OFFLINESet to 1 to block the embedding model download after the first runローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
8掲載時のツール一覧 · 4 日前に更新
このツールにパラメーターはありません。
詳細
Nexus-MCP
コーディングエージェントが、トークンを95%削減して適切なファイルを見つけます。 Nexus-MCP は、Claude Code、Codex、Cursor、およびあらゆる MCP クライアントに、ハイブリッドコード検索とコードグラフを提供するローカル MCP サーバーです。エージェントは質問を1つするだけでコードを取得でき、grep やファイルの読み取りを一通り試す必要はありません。API キー不要、クラウド不要、MIT ライセンスです。
uvx --python 3.12 nexus-mcp-ci setup
setup はお使いのマシン上の MCP クライアントを見つけ、変更内容をそれぞれ表示し、書き込む前に確認を求めます。uv が必要です。または、エージェントに次のように伝えてください:
「https://github.com/jaggernaut007/Nexus-MCP から Nexus-MCP をインストールして」。
⭐ Nexus-MCP によってトークンを節約できたら、リポジトリにスターを付けてください。 ほかの開発者がこのプロジェクトを見つけやすくなります。
結果
10言語のオープンソースリポジトリ12個で、組み込みの Grep と Read だけを使うエージェントと比較して測定しました。ここに推定値はありません。各数値から、固定されたリポジトリと実行結果を確認できます。
10言語のオープンソースリポジトリ10個で、Nexus-MCP はトークンを95%削減(中央値)しながら適切なファイルにたどり着き、Grep と Read より9倍高速に検索しました。11個のリポジトリで Claude Code を実際に実行したところ、8個でタスクあたりのコストが低く、正解数は66タスク中64件で、Grep と Read の61件を上回りました。
適切なファイルを見つける(nexus-mcp-ci eval:オフライン、LLM 不使用)。Grep と Read → Nexus-MCP:
| 言語 | リポジトリ | 最初に適切なファイルを発見 | 適切なファイルまでのトークン数 | 検索時間 |
|---|---|---|---|---|
| Python | pallets/flask(83ファイル) | 20% → 93% | 26,720 → 1,388 | 108 → 23 ms |
| TypeScript | vitejs/vite(429ファイル) | 43% → 83% | 16,520 → 1,286 | 159 → 25 ms |
| JavaScript | webpack/webpack(822ファイル) | 37% → 67% | 25,634 → 1,251 | 564 → 34 ms |
| Java | apache/commons-lang(264ファイル) | 23% → 87% | 48,176 → 1,241 | 201 → 31 ms |
| C# | JamesNK/Newtonsoft.Json(242ファイル) | 23% → 73% | 14,004 → 1,547 | 154 → 25 ms |
| PHP | laravel/framework(1,751ファイル) | 50% → 83% | 13,479 → 1,086 | 712 → 39 ms |
| C++ | chromium/chromium(3,641ファイル) | 43% → 80% | 19,768 → 1,243 | 1,851 → 88 ms |
| Go | prometheus/prometheus(201ファイル) | 40% → 83% | 41,034 → 1,195 | 600 → 24 ms |
| C | redis/redis(229ファイル) | 40% → 87% | 37,139 → 988 | 331 → 34 ms |
| Rust | tokio-rs/tokio(381ファイル) | 33% → 93% | 21,138 → 830 | 215 → 27 ms |
エージェントの実行結果(Claude Sonnet を使用した Claude Code、中程度の労力、ヘッドレス、リポジトリごとに6タスクを各3回実行、タスクごとの中央値)。Grep と Read → Nexus-MCP:
| 言語 | リポジトリ | タスクあたりのトークン数 | タスクあたりのコスト | ターン数 | 正解数 |
|---|---|---|---|---|---|
| Python | home-assistant/core | 65,990 → 42,458 (-36%) | $0.050 → $0.037 (-27%) | 7 → 3 | 6 → 6 of 6 |
| Python | django/django | 45,102 → 41,916 (-7%) | $0.048 → $0.035 (-26%) | 5.5 → 2.5 | 5 → 6 of 6 |
| TypeScript | vitejs/vite | 69,790 → 52,411 (-25%) | $0.059 → $0.046 (-22%) | 5.5 → 4 | 6 → 6 of 6 |
| JavaScript | webpack/webpack | 100,320 → 74,638 (-26%) | $0.077 → $0.068 (-11%) | 6 → 4.5 | 6 → 6 of 6 |
| Java | apache/commons-lang | 50,448 → 32,862 (-35%) | $0.044 → $0.022 (-49%) | 4.5 → 2 | 6 → 6 of 6 |
| C# | JamesNK/Newtonsoft.Json | 41,929 → 42,139 (+1%) | $0.030 → $0.030 (+1%) | 3 → 2.5 | 6 → 6 of 6 |
| PHP | laravel/framework | 52,919 → 51,994 (-2%) | $0.051 → $0.039 (-24%) | 5 → 3 | 5 → 5 of 6 |
| C++ | chromium/chromium | 70,495 → 60,622 (-14%) | $0.065 → $0.055 (-16%) | 6.5 → 4.5 | 6 → 6 of 6 |
| Go | prometheus/prometheus | 52,014 → 45,214 (-13%) | $0.047 → $0.037 (-22%) | 4.5 → 2.5 | 5 → 6 of 6 |
| C | redis/redis | 41,752 → 50,578 (+21%) | $0.031 → $0.030 (-3%) | 3.5 → 3 | 6 → 6 of 6 |
| Rust | tokio-rs/tokio | 41,188 → 61,816 (+50%) | $0.029 → $0.041 (+42%) | 3.5 → 4.5 | 4 → 5 of 6 |
まだ改善が必要です:C(redis/redis、トークン数 +21%、ビルド 2.2.2+e5a9d9a)とRust(tokio-rs/tokio、トークン数 +50%、ビルド 2.2.2+0430f01)です。これらの実行結果は古く、現行ビルドでの再実行を予定しています。各行はそのリポジトリの最新の実行結果です。各行のビルドはベンチマークページに記載されています。同じコードでも、タスクごとに3回実行するとコストは約20%変動することがあります(2026-10-28に測定)。
すべての数値、手法、実行結果の生データ:ベンチマークページ · JSON · CSV · 実行結果。
数値の意味:
- 最初に正しいファイルを提示: 最初の結果が、回答を定義するファイルである質問の割合です。正しいファイルはパーサーによって特定され、Nexus-MCP のランキングは使用されません。
- 正しいファイルまでのトークン数: エージェントがそのファイルにたどり着くまでに読み取る量です。
- 検索時間: インデックス作成後、ノートPCで1回検索するのにかかる時間です。
- タスクあたりのトークン数とコスト: 実際の質問に対する実際の Claude Code セッションの数値です。どちらの条件でも同じモデル、プロンプト、ツールを使用します。節約の大部分はターン数の減少によるものです。各ターンで会話全体を再び読み込むためです。
まず自分のコードで測定する
このチェックは無料で、オフラインで実行され、LLM を呼び出さず、数分で完了します:
uvx --python 3.12 nexus-mcp-ci eval # the current folder
uvx --python 3.12 nexus-mcp-ci eval https://github.com/pallets/flask # a public repo
uvx --python 3.12 nexus-mcp-ci eval --example # the Nexus-MCP source
コードから作成した約30個の質問を提示し、「高い適合性」「適合する可能性あり」「適合性が低い」という判定を返します。ごく小規模なプロジェクトでは Grep と Read が優れており、レポートにもそのように表示されます。実際のエージェントのコストを確認するには、nexus-mcp-ci eval --agent claude を実行すると、手元の Claude Code ログインを使用して有料のA/Bテストを行います。コストを表示してから、実行するかどうかを確認します。ガイド:docs/EVALUATE.md。
インストール
| クライアント | 方法 |
|---|---|
| マシン上の任意のクライアント | uvx --python 3.12 nexus-mcp-ci setup(変更内容を確認するには --dry-run を追加し、削除するには --uninstall を追加します) |
| Claude Code プラグイン | /plugin marketplace add jaggernaut007/Nexus-MCP、続けて /plugin install nexus-mcp@nexus-mcp |
| VS Code | VS Code にインストール |
| Cursor | ウェブサイトの「Add to Cursor」リンク |
| Claude Desktop | 最新リリースから nexus-mcp.mcpb を開きます |
| Gemini CLI | gemini extensions install https://github.com/jaggernaut007/Nexus-MCP |
| Docker | docker run -i --rm -v "$PWD:/workspace" -v nexus-data:/data ghcr.io/jaggernaut007/nexus-mcp |
| 手動 | pip install nexus-mcp-ci を実行し、続けて claude mcp add nexus-mcp -- nexus-mcp-ci を実行します |
Claude Code では setup またはプラグインのどちらかを使用し、両方は使わないでください。その後、新しいセッションを開始して、たとえば 「失敗した決済はどこで再試行していますか?」 のように、コードについて質問してください。エージェントはバックグラウンドでプロジェクトを一度インデックス化し、ファイル監視ツールがインデックスを最新の状態に保ちます。すべての配布方法については、docs/DISTRIBUTION.mdをご覧ください。Python 3.10~3.12に対応しています。uvx での起動では 3.12 が固定されます。
エージェントが利用できる機能
サーバーはデフォルトで5つのツールを表示します。それぞれが複数回の grep や読み取りの呼び出しを置き換えます。
| ツール | 用途 |
|---|---|
search(query) | 「…はどこにある?」「…はどのように動く?」という質問に使います。ハイブリッド検索で、意味(ローカル埋め込み)とキーワード(BM25)を組み合わせます。上位の結果にはコード全体が含まれます。 |
find_symbol(symbol_name) | 既知の名前を検索します。複数の関数やクラスのコードを、呼び出し元や呼び出し先とともに1回の呼び出しで取得できます。長いクラスは概要として返されます。 |
graph(symbol_name) | 「Xを呼び出しているのは誰?」「Xを変更すると何が壊れる?」という質問に使います。リファクタリング前に、呼び出し元、呼び出し先、推移的な影響範囲を確認できます。 |
map(detail) | 「どこから始めればいい?」というときに使います。リポジトリのレイヤー、エントリーポイント、ハブとなるシンボル、言語を確認できます。 |
index(path) | プロジェクトで最初に呼び出します。その後は差分更新され、モノレポでは複数フォルダーにも対応します。 |
memory(action) | オプトインです。セッションをまたいで保持される決定事項やメモを扱います。メモリーが存在する場合はデフォルトで有効です。 |
analyze(path) | オプトインです。指定したパスの複雑度、コードの問題点、依存関係の指標を分析します。 |
status() | オプトインです。インデックスの健全性と古さを示すフラグを確認できます。 |
NEXUS_EXTRA_TOOLS=all を設定すると、オプトインの3つのツールが表示されます。サーバーは接続時に独自のルーティング指示を送信するため、エージェントはどの質問にどのツールを使うかを把握できます。詳しくは、docs/USAGE_GUIDE.mdをご覧ください。
エージェントに備わっている grep はそのまま使ってください。入力できる正確な名前や文字列の検索には grep を使い、意味や構造を理解する必要がある質問には Nexus-MCP を使います。
言語
| 対応範囲 | 言語 |
|---|---|
| 検索、シンボル、呼び出しグラフ | Python、TypeScript、JavaScript、Go、Java、Rust、C、C++、C#、PHP |
| 検索とシンボル | Bash、Kotlin |
| 検索(テキストと埋め込み) | tree-sitter を通じて25以上の言語 |
上記の結果は、グラフに対応する10言語を対象としています。呼び出しグラフの対応範囲が最も広いのは Python です。
プライバシー
コードはマシン上にとどまります。サーバーはネットワークへの呼び出しを行わず、テレメトリもありません。
- 取り込み時(1回のみ): PyPI のパッケージと Hugging Face の埋め込みモデルを取得します。その後は
NEXUS_OFFLINE=1を設定してください。 - 外部送信: 何もありません。ただし、
eval --agent(自身の Claude または Codex CLI を通じて)やeval share(数値のみ)を実行する場合を除きます。どちらも事前に確認を求めます。 - 保存先: インデックスは
<project>/.nexus/に保存されます(.gitignoreに追加してください)。nexus-mcp-ci data whereはすべてのファイルを一覧表示し、nexus-mcp-ci data clearはファイルを削除します。
詳しくは、docs/PRIVACY.mdをご覧ください。
既知の制限事項
- 呼び出しグラフは静的です。 エッジはコードの実行ではなく、解析によって得られます。動的ディスパッチ、コールバック、リフレクションは表示されないため、
graphの結果は下限として扱ってください。 - C と Rust のライブ実行では、古い 2.2.2 ビルドで Grep と Read よりも多くのトークンを使用しました(「結果」を参照)。現行ビルドでの再実行は保留中です。
- メモリ: アイドル時は約 90 MB、埋め込みモデルの読み込み時は約 460 MB です (測定値)。
- 更新の反映: 編集内容は数秒のデバウンス後に反映され、即時には反映されません。
- トランスポート: stdio のみです。
ドキュメント
- ベンチマーク:すべての数値、各行のビルド、手法、生データ
- 評価、インストール、使用方法、設定、トラブルシューティング、FAQ
- アーキテクチャ、他のツールとの比較、意思決定記録、変更履歴
- すべてのドキュメント:docs/README.md。エージェント向け:llms.txt。
コントリビューション
Issue とプルリクエストを歓迎します。CONTRIBUTING.mdと 開発者ガイドから始めてください。
git clone https://github.com/jaggernaut007/Nexus-MCP.git && cd Nexus-MCP
pip install -e ".[dev]"
pytest -v && ruff check .
変更を取り込むのは、エージェントのトークン使用量を減らし、検索精度の基準(python -m evals.retrieval.run)を維持できる場合に限ります。このルールはCONTRIBUTING.mdに記載されています。
Nexus-MCP は、2 つの MIT プロジェクトを基に開発されました。rdondetiによるCodeGrok MCPと、entrepeneur4lyfによるcode-graph-mcpです(ADR-001)。
ライセンス
MIT。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。