mcpField
D
docs-search

docs-search

github.com/arabold開発1.9k60 回インストール3 日前に更新
リポジトリ

docs-search について

Docs Searchは、ライブラリ文書のローカルGrounded Docsインデックスを検索するコマンドラインスキルです。開発者向けに、登録済みライブラリやバージョンの確認、文書検索、バージョン条件に合う版の特定を行います。

主な機能

  1. 01登録済みライブラリと版の一覧表示
  2. 02自然言語による文書検索
  3. 03条件に合うインデックス版の特定
  4. 04JSON、YAML、TOON形式に対応

活用シーン

  1. 01インデックス文書でAPIの動作を調べる
  2. 02ライブラリの版が登録済みか確認
  3. 03条件に合う文書バージョンを選択

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/arabold/docs-mcp-server --skill docs-search

インストール後、Claude Code で/docs-searchを入力して読み込まれたか確認します。

詳細

Docs Search

ローカルの Grounded Docs インデックスを検索して、ライブラリのドキュメントを確認します。これらのコマンドは、デフォルトで JSON を出力し、インデックスを変更しません。

使用するタイミング

  • ライブラリの API や動作について質問に答える必要があるとき。
  • インデックスに登録されているライブラリとバージョンを確認したいとき。
  • バージョン制約に最適な、インデックス登録済みのバージョンを確認したいとき。

ライブラリがインデックスに登録されているか不明な場合は、まず list を実行してください。登録されていない場合は、検索する前に docs-manage スキルを使ってインデックスに登録してください。

コマンド

3 つのコマンドは、すべて次のフラグを受け付けます。

フラグ説明
--output json|yaml|toon出力形式(デフォルト:JSON)
--server-url <url>ローカルストアの代わりにリモートワーカーを使用します(例:http://localhost:8080/api)
--quietエラーのみをログに記録します
--verboseデバッグ出力をログに記録します
list

インデックス登録済みのすべてのライブラリとそのバージョンを一覧表示します。

npx @arabold/docs-mcp-server@latest list --output yaml

出力例:

- name: react
  versions:
    - id: 1
      version: 19.0.0
      documentCount: 412
      uniqueUrlCount: 198
      indexedAt: 2026-10-18T22:28:47.000Z
      status: completed
      sourceUrl: https://react.dev/reference/react
      preserveHashes: false

version が空の場合、そのライブラリのバージョン指定のないドキュメントを表します。status: completed のバージョンは、インデックス登録が完了しています。それ以外のステータス(queued、running、updating、failed、cancelled、not_indexed)では、コンテンツが欠落または不完全な可能性があり、そのようなバージョンには progress フィールドが含まれることがあります。空のインデックスは [] を出力します。

search

自然言語のクエリで、インデックス登録済みのライブラリを検索します。

npx @arabold/docs-mcp-server@latest search <library> "<query>" [options]
フラグ別名デフォルト説明
--version <ver>-v最新バージョン正確なバージョンまたは範囲(例:18.x、5.2.x)。正確なバージョンを指定した場合、最も近い古いバージョンにも一致します。
--limit <n>-l5結果の最大数(1~100)
--exact-match-efalse古いバージョンへのフォールバックを行わず、指定した --version にのみ一致させます。--version が必要です。
--embedding-model <model>埋め込みモデル。例:openai:text-embedding-3-small

例:

npx @arabold/docs-mcp-server@latest search react "useEffect cleanup" --version 18.x --limit 3 --output yaml

出力は一連の文章です。同じページ内で近接している一致箇所は 1 つの文章にまとめられ、離れた箇所は別々の項目として返されるため、url が複数回現れることがあります。各項目には次の内容が含まれます。

  • url:ページの URL
  • content:周辺のコンテキストを含む一致箇所。Markdown またはテキスト形式です
  • score:関連度スコア
  • mimeType、sourceMimeType:保存されたコンテンツと元のコンテンツの種類
  • contentUrl:コンテンツの取得元 URL が url と異なる場合に含まれます

一致する結果がない場合は [] を出力します。ライブラリがインデックスに登録されていない場合、コマンドは類似するライブラリ名を提案するエラーを出して失敗します。

find-version

パターンに最適な、インデックス登録済みのバージョンを特定します。

npx @arabold/docs-mcp-server@latest find-version <library> [--version <pattern>]
フラグ別名説明
--version <pattern>-v正確なバージョンまたは範囲。最新バージョンを使う場合は省略します

例:

npx @arabold/docs-mcp-server@latest find-version react --version "18.x" --output yaml
bestMatch: 18.3.1
hasUnversioned: false
message: "Best match: 18.3.1."

一致するバージョンがなく、バージョン指定のないドキュメントが存在する場合(hasUnversioned: true)、bestMatch は null になります。どちらも存在しない場合、コマンドは失敗します。

出力の解釈

--output で別の形式を指定しない限り、結果は JSON で stdout に出力されます。ログは stderr に出力され、ターミナル以外ではエラーのみがログに記録されます。進行状況のメッセージを表示するには、LOG_LEVEL=INFO を設定するか、--verbose を指定してください。コマンドが失敗すると、ゼロ以外のステータスで終了します。

一般的なワークフロー

# 1. Check what is indexed
npx @arabold/docs-mcp-server@latest list --output yaml

# 2. Search for relevant docs
npx @arabold/docs-mcp-server@latest search react "server components" --version 19.x --output yaml

# 3. If the library is missing, index it first (docs-manage skill), then search again

コメント