ドキュメント検索をAIに公開する

「〇〇の設定方法は?」に、該当ドキュメントへのリンクを返す構成です。

ライブデモ

対応環境では search_docs ツールが登録されます。未対応の環境では、同じ検索フォームが通常UIとして動きます。

Live tool

search_docs

対応状況を確認中
input{"type":"object","properties":{"query":{"type":"string","description":"調べたい機能や設定のキーワード"}},"required":["query"],"additionalProperties":false}
result

入力例を選ぶか、フォームから実行できます。

実装コード

検索対象は静的なインデックスでも、既存の検索APIでも構いません。大事なのは、 通常UIと同じ処理を使い、同じ結果を返すことです。

JavaScriptImperative API
await document.modelContext.registerTool({
  name: "search_docs",
  title: "ドキュメントを検索",
  description:
    "公開ドキュメントをキーワードで検索する。変更や送信は行わない。",
  inputSchema: {
    type: "object",
    properties: {
      query: { type: "string", description: "調べたい機能や設定のキーワード" },
    },
    required: ["query"],
    additionalProperties: false,
  },
  annotations: { readOnlyHint: true },
  execute: async ({ query }) => {
    if (typeof query !== "string" || query.length > 80) {
      throw new Error("queryには80文字以内の文字列を指定してください。");
    }
    return searchDocs(query);
  },
});

安全設計

  • 検索は読み取り専用。ドキュメントの変更はしない
  • 非公開ページやドラフトは検索対象にしない
  • 通常UIの検索フォームと同じ処理を使い、結果を一致させる
  • 未対応ブラウザでは通常UIの検索をそのまま使える
次の行動

あなたのサイトを診断する

公開URLから、WebMCPの導入候補を確認できます。

対応を診断