Lybrary について
Lybrary は、Codex、Claude Code などの MCP コーディングエージェント向けのローカルコードベース索引・検索サーバーです。リポジトリのシンボルとソース位置を対応付け、変更を監視し、完全一致・語句・セマンティック検索を組み合わせます。
主な機能
- 01リポジトリ構造とシンボルの索引作成
- 02完全一致とセマンティック検索
- 03順位付きパスと行抜粋の提示
- 04ファイル監視と索引の更新
- 05パーサー、埋め込みモデル、除外設定
活用シーン
- 01コード編集前の関数特定
- 02複数ファイルにまたがる機能の追跡
- 03ファイル変更に応じた索引更新
- 04索引済みリポジトリのコマンドライン検索
MCP 対応
Lybrary は `lybrary mcp` でローカルの stdio MCP サーバーを実行します。ツールからコードベースメモリを検索し、索引状態を確認し、差分・全体・パス指定の再索引を実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| params | any | はい |
詳細
Lybrary — コーディングエージェント向けのローカルコードベースメモリ
Lybrary は、コード構造に基づいてリポジトリをインデックス化し、Codex、Claude Code、その他の MCP クライアントに、関数、クラス、ファイルを検索できるマップとして提供します。ローカルで動作し、変更を監視するため、エージェントはファイル全体を開く前に、関連するソースコードの行を見つけられます。
PyPI · ドキュメント · エージェントのセットアップガイド · ソース · 課題
コーディングエージェントにセットアップを依頼する場合は、リポジトリ用のローカル MCP コード検索ツールを見つけてインストールし、エージェントのセットアップガイドを参照するように伝えてください。このガイドには、PyPI パッケージ、ソースリポジトリ、インストールコマンド、およびエージェントがこのリポジトリのインデックスを使用していることを確認する手順が記載されています。
任意のリポジトリですぐに使う
一度インストールしたら、インデックス化したい各フォルダーで lybrary start を実行します。
pip install lybrary
cd /path/to/your/repo
lybrary start
lybrary status
start は必要に応じて .lybrary/ を作成し、インデックスを構築して、バックグラウンドでファイル監視デーモンを実行します。ターミナルを閉じた後も動作し続けます。停止するには、そのリポジトリで lybrary stop を実行してください。初回のインデックス作成ではローカル埋め込みモデルがダウンロードされることがあります。以降の実行ではキャッシュが使用されます。
各リポジトリには独自のインデックスと .lybrary/config.toml があります。インデックスはお使いのマシンに保存され、API キーもホスト型データベースも必要ありません。
エージェントを接続する
MCP サーバーをお使いのマシンに一度登録します。インデックス化されたリポジトリでエージェントを起動し、memory_status を呼び出してルートとチャンク数を確認するよう依頼してください。
Codex
Codex ユーザーは、リポジトリのプラグインマーケットプレイスから Lybrary のセットアップスキルをインストールできます。
codex plugin marketplace add vibhu-dixit/lybrary
codex plugin add lybrary@lybrary
プラグインはセットアップを支援します。ローカル MCP サーバーは別途登録してください。
codex mcp add lybrary -- lybrary mcp
codex mcp list
Codex にメモリを一貫して使用させたい場合は、そのリポジトリの AGENTS.md に次の内容を追加します。
When .lybrary/index.db exists, use Lybrary memory_query before broad code searches or reading multiple files. Inspect the returned source paths and lines before editing. If the index is absent or the tool fails, use normal search.
Claude Code
Claude Code ユーザーは、MCP サーバーを登録し、セットアップスキルも含むリポジトリのプラグインをインストールできます。
claude plugin marketplace add vibhu-dixit/lybrary
claude plugin install lybrary@lybrary
Python パッケージも pip install lybrary でインストールする必要があります。または、プラグインを使わずに MCP サーバーを直接登録できます。
claude mcp add --scope user --transport stdio lybrary -- lybrary mcp
claude mcp list
Claude Code では、/mcp で接続状況を確認できます。同じ指示をリポジトリの CLAUDE.md に記載してください。登録するとツールが利用可能になります。指示を記載すると、エージェントが必要に応じてツールを選択しやすくなります。
その他の stdio MCP クライアントでは、コマンドを lybrary、引数を mcp として設定してください。セットアップガイドを参照してください。
エージェントが利用できる機能
memory_query は、まずシンボルの完全一致と SQLite FTS5 インデックスを確認します。語句の一致度が高い場合は埋め込みモデルを読み込まず、コードの表現と検索語句が一致しない場合の代替手段として、セマンティック検索を使用します。デフォルトの応答では、ランキングされたパス、シンボル、行範囲、および簡潔な番号付き抜粋を返します。トレースが最初の結果に含まれていない名前付き呼び出しをたどる場合は、そのシンボルを一度だけ検索してください。チャンク全体が必要な場合は、include_content=true を設定します。
memory_status は、アクティブなリポジトリとインデックスの状態を報告します。memory_update は、増分、全体、またはパスを指定した再インデックス作成を実行します。
これにより、広範な検索や大きなファイルの読み込みを何度も行う必要が減ります。特に、エージェントが複数のセッションにまたがって機能を探す場合に役立ちます。実際のトークン使用量は、タスク、エージェントが選択するツール、さらに調査が必要なソースコードの量によって異なります。ベンチマークガイドでは、単一の応答サイズから削減量を推測するのではなく、実行全体を比較する方法を説明しています。
リポジトリに合わせる
.lybrary/config.toml を編集して、埋め込みモデルとデバイス、チャンクサイズ、インデックス対象の言語、除外するパス、ファイル監視のデバウンス時間を選択します。Git 形式の無視パターンを .lybrary/ignore に追加します。保存済みのチャンクや埋め込みに影響する設定を変更した場合は、lybrary index --full を再実行してください。
対応しているパーサーは、Python、JavaScript、TypeScript、TSX、Go、Rust、Java、C、C++ です。インデクサーは tree-sitter の境界を使用し、デーモンの実行中に変更されたファイルを更新します。
CLI
| コマンド | 目的 |
|---|---|
lybrary start | 現在のリポジトリを初期化し、インデックスを作成して監視します |
lybrary stop | バックグラウンドデーモンを停止します |
lybrary status | デーモンとインデックスの状態を表示します |
lybrary query "authentication flow" | ターミナルから検索します |
lybrary index --full | インデックスを再構築します |
lybrary logs | デーモンのログを表示します |
lybrary mcp | stdio MCP サーバーを実行します |
エージェントがインデックス対象のリポジトリより上の階層から起動する場合は、MCP ツールの repo_root にそのリポジトリの絶対パスを渡すか、エージェントをリポジトリ内で起動してください。
効果を測定する
ソースコードをチェックアウトした状態で、Lybrary の使用時と不使用時について、同じ読み取り専用の質問を比較します。
python benchmark.py /path/to/indexed/repo "Trace how interview invitations are sent"
スクリプトは、両方の回答、ツール呼び出し、入力トークンの合計数・キャッシュ済み数・未キャッシュ数を .lybrary/benchmarks/ に記録します。まず回答の正確性を確認してください。質問が1つだけでは、一般的な削減効果を判断できません。
コントリビュート
Issue とプルリクエストを歓迎します。ローカルでチェックアウトした場合は、次のようにします。
pip install -e ".[dev]"
pytest
Lybrary は MIT ライセンスです。リリースについては変更履歴をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。