Citepath について
Citepathは、AIコーディングエージェントを使う開発者やAIアプリの構築者向けのセルフホスト可能なドキュメント検索ツールです。ウェブサイトやローカルファイルを索引化し、埋め込みではなくキーワード検索で、引用付きの順位化された箇所を返します。
主な機能
- 01ドキュメントサイトとフォルダーの索引化
- 02キーワードや識別子による検索
- 03正確な引用付き箇所の返却
- 04最新の索引ページを優先
- 05CLIとローカルHTTP APIの提供
活用シーン
- 01コーディング中に最新のフレームワーク文書を確認
- 02非公開Wikiや手順書をローカル検索
- 03AIアプリに引用付き検索を追加
- 04プロジェクト文書をアシスタントに接続
MCP 対応
Citepathは、AIアシスタントがローカルのドキュメント索引を検索し、引用付きの箇所を取得するMCPサーバーを提供します。アシスタントのアクセスは読み取り専用です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 抜粋数(デフォルト 5、最大 25)。 |
| query | string | はい | 検索する内容:質問、キーワード、識別子。 |
| source_ids | array | いいえ | これらのソース ID のみを検索します(list_sources が返す ID)。省略すると、すべてのソースを検索します。 |
| path_prefix | string | いいえ | URL(ウェブソース)またはルート相対パス(ローカルソース)がこのプレフィックスで始まる段落のみを対象にします。たとえば、ドキュメントのセクションや、以前の検索で返された other_versions path_prefix などです。 |
詳細
Citepath
AI アシスタントやアプリ向けに、引用付きでドキュメントをセルフホスト検索できます。
ドキュメントサイトやローカルフォルダーをインデックス化し、Claude、Cursor、または任意の MCP クライアントから最新のドキュメントを検索して、使用した各セクションへのリンク付きで回答できます。
クイックスタート · デモ · RAG ではなく、なぜこれを使うのか? · コマンド · ドキュメント · コントリビューション
ステータス:プレリリース(0.1)。 1.0 より前に互換性を破る変更が行われる可能性があります。
できること
- 📚 ドキュメントをインデックス化: ドキュメントサイト(サイトマップから、またはリンクをたどって取得し、robots.txt の設定を遵守)と、ローカルの Markdown、MDX、テキストフォルダーに対応します。
- 🔗 引用付きの箇所を返します: 各検索結果から、該当するページの正確なセクションまたはファイルの行にリンクできます。
- 🧠 コードと平易な英語を理解します:
getUserName、--dry-run、「キャッシュを設定するにはどうすればよいですか」のいずれも検索できます。 - 🤖 AI アシスタントと連携: Claude Code、Cursor、その他の MCP クライアントからドキュメントを検索できます。独自のツールからは CLI またはローカル HTTP API を使用できます。
- 🔒 ローカルで動作: アカウント、API キー、テレメトリーは不要です。アシスタントには読み取り専用アクセスが付与され、同期に失敗しても正常なデータが削除されることはありません。
Citepath は該当箇所を見つけますが、回答は作成しません。アシスタントが該当箇所をもとに回答を作成し、それらを引用するため、すべての主張を確認できます。
デモ
最新の Next.js ドキュメントを一度インデックス化してから、検索します。
citepath add nextjs --url https://nextjs.org/docs/app --include '/docs/app/**' --sync

同じ検索をアシスタント内でも実行できます。
あなた: citepath を使って、Next.js でキャッシュデータの有効期間を設定する方法を教えてください。
Claude: 関数に
'use cache'を追加してcacheLife('hours')を呼び出すか、{ stale, revalidate, expire }を渡します。これにはnext.config.tsでcacheComponents: trueを設定する必要があります。 参照元:cacheLife、use cache、cacheComponents
対象ユーザー
- AI コーディングアシスタントを使う開発者: モデルの記憶ではなく、フレームワークやサービスの最新ドキュメントに基づいた回答を得られます。
- AI ツールの開発者: あらゆるモデルで使える、ランキング付き引用箇所を JSON で返す検索レイヤーです。
- 小規模チーム: ホスト型プラットフォームを使わずに、社内 Wiki、ランブック、ドキュメントフォルダーをアシスタントから検索できます。
- オープンソースのメンテナー: ユーザーがプロジェクトのドキュメントをアシスタントに接続する簡単な方法を提供できます。
RAG やウェブ検索ではだめですか?
これは RAG の検索部分をローカルで実行するものです。 埋め込みとベクトルデータベースの代わりに、Citepath はキーワードインデックスを使用します。そのため、埋め込み API やキーは不要で、cacheLife のような識別子に完全一致し、同じクエリには同じ結果が返され、セクション単位で引用できます。トレードオフとして、意味ではなく単語に一致するため、「sign in」では「authentication」としか書かれていないページは見つかりません。
幅広い単発の質問には、ウェブ検索のほうが適しています。 次のような場合は Citepath のほうが適しています。
- ドキュメントが非公開の場合: 内部 Wiki、ランブック、リポジトリのドキュメントはウェブ上にありません。
- バージョンが重要な場合: インデックス対象を選択でき、検索では古いバージョンより、ページの最新のコピーが優先されます。
- 読む量を減らしたい場合: Next.js のドキュメントでは、「キャッシュの有効期間を設定するには?」への引用付きの抜粋 5 件は約 4,200 文字です。それに対し、抜粋元の 5 ページには合計約 51,000 文字のテキストが含まれています(
cacheLifeのページだけでも HTML が約 1 MB あります)。 - オフラインの場合、 またはアシスタントにウェブ検索機能がない場合。
「モデルはすでにドキュメントを知っています。」 知っているのは、トレーニングに使用された時点のバージョンだけです。Next.js の cacheLife、cacheComponents、新しい 2 引数版の revalidateTag のように更新の速い API では、モデルが古い記憶に基づいて回答することがあります。
「ドキュメントをプロンプトに貼り付ければよいのでは?」 数ページならそれでうまくいきます。Next.js のドキュメントは 845 ページあるため、検索を使えば関連する抜粋を選び出せます。
コストと制限事項。 Next.js と Vercel のドキュメントを使い、ノート PC で測定しました。
- 実行無料: アカウント、API キー、検索ごとの料金は不要です。検索にかかる時間はミリ秒単位です(約 30,000 件の抜粋で p95 は 13 ms)。
- セットアップ時間とディスク容量: Next.js の 845 ページの同期には、控えめなデフォルト設定の 1 秒あたり 2 リクエストで約 7.5 分かかりました。2 つのサイトで 83 MB を使用します。
- 最新性: 結果は最後に同期した時点の内容になります。スケジューラーは組み込まれていないため、cron から
citepath syncを実行してください。 - インデックス対象外: レンダリングに JavaScript が必要なサイト、PDF、ログインが必要なドキュメント。
- 単一ユーザー: API トークンは 1 つで、ユーザーごとの権限設定はありません。
幅広い質問には別の手段(ウェブ検索)、意味に基づく検索には別の手段(埋め込み)、チームでのアクセス制御には別の手段を使用してください。既知の制限事項を参照してください。
クイックスタート
Node.js 22.16 以降が必要です。
npm install -g citepath
citepath add my-docs --path ~/work/project/docs --sync
citepath search "how do I configure authentication"
# Connect Claude Code (all projects)
claude mcp add citepath -s user -- citepath mcp
Claude Code で /mcp を実行して接続を確認してください。他のアシスタントやスコープの設定については、MCP のセットアップを参照してください。ソースから実行する場合は、CONTRIBUTING.mdを参照してください。
コマンド
| コマンド | 機能 |
|---|---|
citepath init | 設定ファイルを作成します。 |
citepath add <id> --url <url> | ドキュメントサイトを追加します。複数追加するには --url を繰り返し指定します。すぐにインデックスを作成するには --sync を追加します。 |
citepath add <id> --path <dir> | ローカルのドキュメントフォルダーを追加します。複数追加するには --path を繰り返し指定します。 |
citepath remove <id> | ソースと、そのインデックス済みコンテンツを削除します。 |
citepath sync [id...] | ソースを取得してインデックスを作成し、進行状況をリアルタイムで表示します。変更を取得したり、失敗した処理を再試行したりするには、再度実行します。 |
citepath sources | ソースを、ドキュメント数と最終同期ステータスとともに一覧表示します。 |
citepath status [id] | インデックスの場所、またはソースの最終同期状況(失敗、削除、警告)を表示します。 |
citepath search "<query>" | 引用付きで一致する抜粋を検索します。--source、--path-prefix、--limit で絞り込みます。 |
citepath get <passage-id> | 抜粋全体を表示します。周辺のセクションも表示するには --neighbors <n> を指定します。 |
citepath mcp | AI アシスタント向けの MCP サーバーです。アシスタントが起動するため、自分で実行する必要はありません。 |
citepath serve | 読み取り専用のローカル HTTP API を 127.0.0.1:7345 で起動します。 |
citepath export, eval, compact, unlock | JSONL としてエクスポート、検索品質の測定、インデックスの最適化、停止した同期ロックの解除を行います。 |
グローバルオプション:--json、--quiet、--config <file>、--data-dir <dir>。すべてのオプションについては、CLI リファレンスを参照してください。
ドキュメント
CLI · 設定 · 同期の仕組み · MCP のセットアップ · ローカル API · 結果の仕様 · 評価 · 制限事項 · 設計
コントリビューション
コントリビューションを歓迎します。CONTRIBUTING.mdを読み、大規模な機能に取り組む前にissueを作成し、セキュリティ上の問題はSECURITY.mdに記載された方法で非公開で報告してください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。