Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

MCP

最終更新 Markdown で表示Agent セットアップ

Model Context Protocol(MCP)エンドポイントを使うと、AI エージェントが AI Search のコンテンツを発見し、操作できます。このエンドポイントは MCP 仕様 に従い、インデックス済みコンテンツをクエリするツールを提供します。

前提条件

AI Search インスタンスで公開エンドポイントを有効にします。

  1. Cloudflare ダッシュボードで AI Search を開きます。 AI Search を開く ↗
  2. AI Search インスタンスを選択します。
  3. Settings > Public Endpoint を開きます。
  4. Enable Public Endpoint をオンにします。
  5. 公開エンドポイントの URL をコピーします。

名前空間の MCP エンドポイント

公開エンドポイントは、単一インスタンスでも、名前空間 全体でも有効にできます。名前空間エンドポイントも /mcp を提供し、その名前空間で許可したインスタンスを横断して検索します。ホスト名には ns- プレフィックスが付きます。

https://ns-<NAMESPACE_ENDPOINT_ID>.search.ai.cloudflare.com/mcp

ツールとリクエスト形式はどちらも同じです。このページの例では、インスタンスのホスト名を使います。

利用できるツール

AI Search の MCP エンドポイントは、インデックス済みコンテンツをクエリする search ツールを公開します。

ツール 説明
search 探している内容を正確に見つけます

AI Search インスタンスの設定でカスタマイズできます。詳細は 公開エンドポイントの設定 を参照してください。

MCP エンドポイントをテストする

Accept: application/json, text/event-stream ヘッダーを付けて /mcp エンドポイントにリクエストを送ります。

curl https://<PUBLIC_ENDPOINT_ID>.search.ai.cloudflare.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "search",
      "arguments": {
        "query": "How do I configure AI Search?"
      }
    }
  }'

独自ドメインを使う

生成されたホスト名ではなく、https://search.example.com/mcp など、所有するホスト名で MCP エンドポイントを提供できます。ホスト名は、同じ Cloudflare アカウント上のゾーンに属している必要があります。カスタムドメインを付ける手順は次のとおりです。

  1. Cloudflare ダッシュボードで AI Search を開きます。 AI Search を開く ↗
  2. インスタンスまたは名前空間を選択します。
  3. Public Endpoints を開き、公開エンドポイントを有効にします。カスタムドメインには、有効な公開エンドポイントが必要です。
  4. Custom Domains を開き、ホスト名を付けます。

カスタムドメインは自分のゾーン経由でリクエストをルーティングするため、エンドポイントの前に Cloudflare Access を置けます。MCP クライアントは Access の サービストークン で認証し、CF-Access-Client-IdCF-Access-Client-Secret ヘッダーとして送ります。トークンを発行したエージェントだけがエンドポイントに到達できます。Access が保護するのはカスタムホスト名だけなので、あわせて default_domain_enabledfalse にします。そうしないと、デフォルトの <PUBLIC_ENDPOINT_ID>.search.ai.cloudflare.com ホスト名が、未認証のリクエストに応答し続けます。

API でドメインを付ける場合は、カスタムドメイン を参照してください。

役に立ちましたか?