Vexor について
Vexor は、ファイルやコードを対象に再利用可能なインデックスを構築するセマンティック検索エンジンです。embedding と再ランキングのプロバイダーを設定でき、Python API、コマンドライン、MCP サーバーとして利用できます。ファイルの意味から検索したい開発者や コーディングエージェント に向けられています。
主な機能
- 01ファイルとコードの再利用可能なセマンティックインデックス
- 02設定可能な embedding と再ランキングのプロバイダー
- 03Python API、コマンドライン、MCP サーバーの各インターフェース
- 04ローカル embedding モデルによるオフライン利用
- 05キーワードと意味を組み合わせたハイブリッド順位付け
活用シーン
- 01ファイル名ではなく用途からソースファイルを探す
- 02コーディングエージェントがワークフロー内で関連ファイルを見つける
- 03CI パイプラインでインデックスを事前に構築する
MCP 対応
Vexor は組み込みの MCP stdio サーバーを備え、vexor_search と vexor_index を MCP クライアントにツールとして公開します。検索結果には一致したソースコードの本文が含まれます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx vexorVEXOR_API_KEYシークレットEmbedding provider API key (optional; overrides a stored key; providers can also be configured via `vexor init`)VEXOR_REMOTE_RERANK_API_KEYシークレットRemote reranker API key (optional; overrides a stored key; only needed when rerank is set to remote)VEXOR_CONFIG_JSONNon-secret Vexor config as a JSON object, e.g. {"provider": "gemini", "rerank": "bm25"} (optional; merged over ~/.vexor/config.json; credential fields are rejected, use the dedicated variables)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| top | integer | いいえ | 返す結果の数。 |
| mode | enum | いいえ | インデックスの粒度:auto はファイルの種類ごとに振り分けます。name はファイル名のみを埋め込みます。head/full/brief は内容の深さを指定します。code は AST に基づいて分割します。outline は Markdown の見出しごとに分割します。auto | brief | code | full | head | name | outline |
| path | string | いいえ | 操作対象のディレクトリ。絶対パス、またはサーバーのデフォルトパス(/tmp)からの相対パスを指定します。 |
| query | string | はい | 検索するファイルまたはコードの自然言語による説明。例:「API の再試行はどこで設定されているか」。 |
| no_cache | boolean | いいえ | この検索用に一時的なメモリ内インデックスを構築し、すべてのディスクキャッシュを無効にします。処理は遅くなり、埋め込みを再生成する場合があります。 |
| recursive | boolean | いいえ | サブディレクトリを再帰的に検索します(デフォルト)。false に設定すると、ディレクトリの最上位のみをスキャンします。 |
| extensions | array | いいえ | これらのファイル拡張子のみを対象にします。例:['.py', '.md']。 |
| content_budget | integer | いいえ | 1 回の応答で返せるソーステキストの総文字数です。関連度の高い結果から優先して割り当てます。 |
| include_hidden | boolean | いいえ | デフォルトでは除外される、.github や .env などのドットで始まるファイルやディレクトリを含めます。 |
| include_content | boolean | いいえ | 各検索結果のパスとともにソーステキストを返します。テキストは検索時にファイルから読み取られます。モードで行範囲が記録されていない場合、インデックス作成後にファイルが変更された場合、または予算を使い切った場合、代わりに content_unavailable が結果に含まれます。 |
| exclude_patterns | array | いいえ | 除外するファイルを指定する Gitignore 形式のパターン。 |
| respect_gitignore | boolean | いいえ | .gitignore のルールに従います(デフォルト)。false に設定すると、ビルド出力などの無視対象ファイルもスキャンします。 |
詳細
Vexor は、ファイルやコードを対象とした再利用可能なインデックスを構築するセマンティック検索エンジンです。 設定可能な埋め込みおよび再ランキングプロバイダーに対応し、Python API、CLI ツール、MCP サーバーから同じコア機能を利用できます。
Vexor のデモ動画掲載実績
Vexor はコミュニティから評価され、さまざまな場所で紹介されています。
- Ruan Yifeng's Weekly (Issue #379) - 中国の開発者コミュニティを代表するテクノロジーニュースレターです。
- Awesome Claude Skills - AI エージェント向けの優れたスキルを厳選したリストです。
- Awesome MCP Servers - Model Context Protocol サーバーを厳選したリストです。
- Awesome CLI Apps - コマンドラインアプリを厳選したリストです。
Vexor を選ぶ理由
ファイルの 役割 は覚えているのに、名前や場所を忘れてしまったとき、Vexor がすぐに見つけます。grep パターンもディレクトリの走査も必要ありません。
人間と AI コーディングアシスタントの両方を対象に設計されており、自律型エージェントのワークフローでセマンティックなファイル検索を可能にします。
インストール
リリースからスタンドアロンバイナリをダウンロードするか(Python は不要です)、次のコマンドを実行します。
pip install vexor # also works with pipx, uv
クイックスタート
0. ガイド付きセットアップ(推奨)
vexor init
設定ファイルが存在しない場合、最初の対話型操作コマンドを実行する前にもウィザードが自動で起動します。設定管理(vexor config)、MCP、ヘルプ、バージョンの各コマンドはそのまま実行されます。
1. 検索
vexor "api client config" # defaults to search current directory
# or explicit path:
vexor search "api client config" --path ~/projects/demo --top 5
# in-memory search only:
vexor search "api client config" --no-cache
Vexor は初回の検索時に自動でインデックスを作成します。出力例:
Vexor semantic file search results
──────────────────────────────────
# Similarity File path Lines Preview
1 0.923 ./src/config_loader.py - config loader entrypoint
2 0.871 ./src/utils/config_parse.py - parse config helpers
3 0.809 ./tests/test_config_loader.py - tests for config loader
2. 明示的なインデックス作成(任意)
vexor index # indexes current directory
# or explicit path:
vexor index --path ~/projects/demo --mode code
CI のウォームアップや、auto_index が無効になっている場合に便利です。
Python API
Vexor は Python から直接インポートして使用することもできます。
from vexor import index, search
index(path=".", mode="head")
response = search("config loader", path=".", mode="name")
for hit in response.results:
print(hit.path, hit.score)
設定は CLI と同じ方法で、グローバルおよびプロジェクトレベルの設定を解決します。
実行時のオーバーライド、キャッシュ制御、呼び出しごとのオプションについては、
docs/api/python.md を参照してください。
AI エージェントスキル
このリポジトリには、AI エージェントが Vexor を効果的に利用するためのスキルが含まれています。
vexor install --skills claude # Claude Code
vexor install --skills codex # Codex
スキルのソース:plugins/vexor/skills/vexor-cli
MCP サーバー
メモ
Agent Skill と MCP サーバーは同じ主要機能を提供します。エージェントごとにどちらか一方を選んでください。 このスキルは、シェルを利用できるエージェント(Claude Code、Codex)にフル CLI の操作方法を教えるもので、
vexorが PATH にインストールされていることを前提とします。MCP サーバーは検索をネイティブツールとして公開するため、あらゆる MCP クライアント(Cursor、Windsurf、Zed など)で動作し、uvxと環境変数を使えば事前のセットアップなしで初期化できます。
Vexor には組み込みの MCP stdio サーバーが含まれているため、MCP 対応エージェントはセマンティックファイル検索をネイティブツールとして利用できます。
claude mcp add vexor -- vexor mcp # Claude Code
codex mcp add vexor -- vexor mcp # Codex
または、任意の MCP クライアントで手動設定できます。必要に応じて、env 経由で API キーや設定のオーバーライドを指定できます(vexor init は不要です)。
{
"mcpServers": {
"vexor": {
"command": "vexor",
"args": ["mcp"],
"env": {
"VEXOR_API_KEY": "sk-...",
"VEXOR_CONFIG_JSON": "{\"provider\": \"gemini\", \"rerank\": \"bm25\"}"
}
}
}
}
サーバーは 2 つのツールを公開します。vexor_search(セマンティックファイル検索。該当するソーステキストを返すため、エージェントが追加でファイルを読み込む必要はほとんどありません)と、vexor_index(明示的なインデックスのウォームアップ)です。追加の依存関係は不要です。Vexor は公式 MCP レジストリに io.github.scarletkc/vexor として登録されています。ツールのスキーマ、環境変数、クライアントの設定方法については、docs/mcp.mdを参照してください。
設定
vexor init # guided setup (recommended)
vexor config --set-api-key "YOUR_KEY" # or env: VEXOR_API_KEY / OPENAI_API_KEY / ...
vexor config --set-provider openai # default; also gemini/voyageai/custom/local
vexor config --rerank hybrid # optional: fuse exact keyword + semantic ranking
vexor config --show # view effective settings and origins
グローバル設定は ~/.vexor/config.json に保存されます。最も近い
<project>/.vexor/config.json では、そのプロジェクトに限り、制限された動作フィールドをオーバーライドできます。シークレットではないフィールドは VEXOR_CONFIG_JSON 経由でも渡せます(MCP クライアントや CI に便利です)。ローカルの埋め込みモデルを使った完全オフラインでの利用にも対応しています。
完全なリファレンスについては、docs/configuration.mdを参照してください。プロジェクト設定のフィールドと優先順位、すべての設定コマンド、API キーと環境変数、再ランク付け方式(ハイブリッド/BM25/FlashRank/リモート)、リモートとローカルのプロバイダー、埋め込み次元、オフラインでのローカルモデルの設定について説明しています。
CLI リファレンス
日常的な使い方は vexor "query"、vexor search、vexor index で完結します(クイックスタートを参照)。コマンドの一覧、一般的なフラグ、インデックスモード(--mode auto/name/head/brief/full/code/outline)、.vexorignore ファイル、プロジェクトローカルのインデックス(vexor index --local)、キャッシュの動作、ポーセリン出力形式については、docs/cli.mdに記載されています。
ドキュメント
- 設定 — プロバイダー、API キー、再ランク付け、埋め込み次元、ローカルモデル
- CLI リファレンス — コマンド、フラグ、インデックスモード、キャッシュの動作
- MCP サーバー — クライアントの設定方法、環境変数、ツールのスキーマ
- Python API — プログラムからの利用方法
- Collections API — データベースを利用したテキストレコードとフィルタリング検索
コントリビューション
コントリビューション、イシュー、PR を歓迎します!コミットメッセージと PR タイトルはConventional Commitsに従ってください(例:feat(mcp): add stdio server)。役に立った場合はスターを付けてください。
スター履歴
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。