Coderag について
Locusは、コーディングエージェント向けのローカルBM25コード検索MCPサーバーです。リポジトリ検索と関連コードの検索に対応し、対象ルートやファイルを指定できます。
主な機能
- 01BM25によるコード検索
- 02ファイル位置に関連するコードの検索
- 03拡張子とパスによる絞り込み
- 04リポジトリルートの設定
活用シーン
- 01クエリに合うリポジトリ内コードの検索
- 02特定行に関連するコードの調査
- 03検索対象のファイル形式やパスの限定
MCP 対応
MCPクライアントに `codebase_search` と `find_related` ツールを提供します。標準のstdioに加え、HTTPトランスポートも選択できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Locus (@sylphx/locus)
コーディングエージェント向けのローカル BM25 検索です。ツールは codebase_search と find_related の 2 つです。ルート ID の rust-tfidf は、このランカーの以前の名称です。
npx -y @sylphx/locus --root=/absolute/path/to/project
正式なパッケージは @sylphx/locus、バイナリは locus、MCP 名は io.github.SylphxAI/locus です。ドキュメント:https://sylphxai.github.io/locus/.
@sylphx/coderag-mcp はインストールしないでください。この ID は廃止されています。
ルート
Locus はデフォルトで現在のディレクトリを使用しません。
- ツール呼び出し時の
root - 起動時の
--root(--root=PATHまたは--root PATH) LOCUS_ROOTが未設定の場合はLOCUS_ROOT、次にCODERAG_ROOT
起動引数は doctor と --root のみです。
codebase_search
query は必須です(空でない文字列)。limit のデフォルトは 10 で、1〜100 の整数である必要があります。include_content のデフォルトは true です。
任意のフィルターは、上限を適用する前に実行されます。
file_extensions:tsと.tsはどちらも.tsのみに一致し、.tsxには一致しません。大文字と小文字を区別します。空の配列は拒否されます。path_filter:大文字と小文字を区別するパスの部分文字列です。バックスラッシュはスラッシュに変換されます。exclude_paths:同じ部分文字列ルールを除外条件として適用します。
ランキングは、1 文字を超える ASCII トークンを対象とした BM25(k1 = 1.2、b = 0.75)です。login では authenticate は見つかりません。結果の route は文字列 rust-tfidf です。
find_related
リポジトリ相対パス(スラッシュを使用)と、チャンク内の正の行番号を渡します。limit のデフォルトは 10 で、100 に制限されません。結果の route は文字列 rust-related です。一致する項目がない場合は、No related chunks found for that location エラーになります。
インデックス
インデックス対象の拡張子:.ts、.tsx、.js、.jsx、.mjs、.cjs、.rs、.md、.py、.go。
スキップされるパスセグメント:node_modules、dist、target、.git。gitignore は適用されません。1,048,576 バイトを超えるファイルはスキップされます。新しいインデックスは .locus/rust-index.json と .locus/file-hashes.json に書き込まれます。.locus/rust-index.json が存在しない場合に限り、.coderag/ が読み込まれます。どちらのディレクトリもコミットしないでください。
プラットフォーム
@sylphx/locus-darwin-arm64、@sylphx/locus-darwin-x64、@sylphx/locus-linux-x64-gnu、@sylphx/locus-linux-arm64-gnu。Windows 版は公開されていません。
デフォルトのトランスポートは stdio です。MCP_TRANSPORT=http(または CODERAG_MCP_TRANSPORT=http)の場合のみ、HTTP は 127.0.0.1:8080 でリッスンします。
npx -y @sylphx/locus doctor
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。