For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション

サイトツール

WebMCP を使って、AI エージェントがウェブサイトを直接操作できるようにします

サイトツールは、提案段階の WebMCP 標準を ChatGPT に実装したものです。WebMCP を使うと、 ウェブサイトは、ユーザーが普段使っているインターフェースに加えて、 便利な操作を AI エージェントに直接提供できます。ユーザーとエージェントは、同じページの現在の状態と ログイン済みセッションを共有して作業できます。

ChatGPT デスクトップアプリの内蔵ブラウザでは、 ChatGPT Work と Codex が、利用可能なサイトツールを検出して使用できます。

サイトツールには GPT-5.6 Sol または GPT-5.6 Terra を使用してください。GPT-5.6 Luna では現在 WebMCP が無効になっています。ChatGPT デスクトップアプリを最新バージョンに更新してください。エンタープライズまたは Edu のワークスペースでは、サイトツールを利用できません。また、利用できるかどうかは、段階的な提供の状況や、現在のページが提供するツールにも左右されます。

WebMCP と MCP の違い

Model Context Protocol (MCP) は、 AI アプリケーションをローカルまたはリモートのサーバーに接続します。そのツールは、 開いているウェブページとは独立して動作し、サービスの検索や、 API を通じたレコード管理などを行えます。

WebMCP を使うと、ウェブサイトの機能を、 あらかじめ定義した一連のツールとしてエージェントに提供できます。エージェントは サイトを訪れたときにツールを検出できるため、ユーザーはそれらの機能を使うために 別の MCP サーバーをインストールしたり、別途接続を設定したりする必要がありません。

この方法は、キャンバスの編集やダッシュボードの確認など、 ユーザーとエージェントが同じ内容を見る必要がある場合に役立ちます。 MCP サーバーを備えたプラグインでは、 開いているページに依存しない連携を提供できます。ウェブサイトは両方に対応できます。

ブラウザでの動作

内蔵ブラウザでウェブサイトを開き、ChatGPT Work または Codex にタスクの手伝いを依頼します。そのページがサイトツールを提供していれば、エージェントは閲覧中のウェブサイトでタスクに合う操作を検出して使用できます。たとえば、ドキュメントエディターでは、エージェントがセクションを探したり、ユーザーのレビュー用にコメントを残したりできる場合があります。

ブラウザのアドレスバーで サイトツール を選ぶと、ウェブサイトが提供する機能を確認できます。 利用可能なサイトツール を選ぶと、個々のツールを確認できます。 ウェブサイトがリクエストを実行する前に、ブラウザが各リクエストをチェックします。エージェントは ページを確認して変更内容を把握できます。最近のアクティビティがある場合は、 最近使用した項目 を選ぶと 情報源 が開き、ツールの呼び出しを確認できます。

この例では、 利用可能なサイトツール を展開すると、 Margin が提供するツールを確認できます。

サイトツール
サイトツールは、ChatGPT がこのウェブサイトを使い、より正確に、より少ない手順でタスクを完了するのに役立ちます。 詳しく見る

ツールは、提供元のページに紐付いています。ページを閉じたり、別のページへ移動したりすると、そのツールが使えなくなる場合があります。適切なツールがなくても、エージェントが通常のブラウザ操作機能を使える場合があります。

例:OpenAI ドキュメントの閲覧

ChatGPT Learn と OpenAI Developers は、ドキュメントを検索して読むためのサイトツールを提供しています。 コンポーザーで ChatGPT で開く を選ぶと、デスクトップアプリのブラウザで Learn が開き、 その横には、このプロンプトを送信できる状態の新しいチャットが表示されます。

エージェントは次のツールを使って、関連するページを検索し、内容を読み取り、開くことができます。

ツール機能
search_openai_docsOpenAI のドキュメントを検索します。
lookup_pageパスまたは URL を指定して、ドキュメントページを読み取ります。
lookup_context現在のドキュメントページのルートと、選択したテキストを読み取ります。
navigate_to_page現在のドキュメントサイトで、該当するページを開きます。
generate_custom_guideカスタムの開発ガイドまたは学習ガイドの生成を開始し、その状態とリンクを返します。

ドキュメントエージェントはカスタムガイドを非同期で生成します。リンクを受け取っても、生成が完了したとは限りません。

セキュリティとユーザーによる制御

ウェブサイトが提供するツールの定義や結果は、信頼できないコンテンツです。ツールの名前や、データを読み取るだけだという説明は、実際の動作を保証するものではありません。ウェブサイトの指示によって、エージェントに無関係な情報の共有や慎重な扱いが必要な操作の実行が許可されることはありません。

組み込みブラウザでは、ツール呼び出しは毎回、実行前に安全性のレビューを受けます。ウェブサイトへのアクセスや確認に関する通常のポリシーは引き続き適用され、メッセージの送信、購入、データの削除、権限の変更など、影響の大きい操作もその対象です。ブラウザは各呼び出しを、提供元のページとツールの登録情報にひも付けます。これらのチェックでリスクは減りますが、ウェブサイトやその出力が信頼できるようになるわけではありません。

サイトツールを有効にする は、 設定 > ブラウザ > 権限でオフにできます。 機密情報を共有したり、変更結果を信頼して利用したりする前に、 サイト、リクエストされた操作、実行結果を確認してください。

セキュリティの脆弱性は、OpenAI の セキュリティバグバウンティプログラムを通じて報告してください。 AI の安全性に関するリスクについては、 安全性バグバウンティプログラムをご覧ください。 各プログラムの対象範囲と報告手順に従ってください。

制限事項

現在、ChatGPT の組み込みブラウザが対応しているのは WebMCP API の一部です。次の機能には対応していません。

  • 宣言的 API: HTML フォームの属性で定義されたツールは、 サイトツールとしては利用できません。
  • iframe 内のツール: 同一オリジン、クロスオリジンのいずれの場合も、 ブラウザは iframe 内に登録されたツールを検出しません。

次のセクションの例のように、 JavaScript を使ってトップレベルのページにツールを登録してください。ChatGPT Work と Codex は、 ブラウザの通常の機能でフォームを操作することもありますが、 これらの操作は WebMCP のツール呼び出しではありません。

WebMCP の仕様と Chrome の開発者ガイドでは、組み込みブラウザが現在対応していない機能も含め、より広範な API が説明されています。

ウェブサイトへの WebMCP の追加

開発中のウェブアプリや Site に WebMCP 対応を追加するよう、Codex に依頼できます。 エージェントができるようにしたいことを説明し、アプリケーションの既存のロジックと権限を再利用するよう Codex に依頼してください。

アプリケーションがすでに対応している操作から始めてください。たとえば、次のようなものがあります。

  • エージェントが日付範囲を設定し、グラフの元データを確認できるダッシュボード
  • エージェントがセクションを探したり、編集を提案したり、レビュー用のコメントを残したりできるドキュメントエディター
  • ユーザーが地図を確認している間に、エージェントが候補を比較し、旅程を更新できる旅行プランナー

自分でコードを書くこともできます。ページの JavaScript モジュールでブラウザの対応状況を確認し、ツールを登録します。以下の読み取り専用の例では、現在のページのタイトルを返します。

if (typeof document.modelContext?.registerTool === "function") {
  await document.modelContext.registerTool({
    name: "get_page_title",
    description: "Read the title of the current page.",
    inputSchema: {
      type: "object",
      properties: {},
      additionalProperties: false,
    },
    annotations: { readOnlyHint: true },
    execute: async () => ({ title: document.title }),
  });
}

対応するエージェントは get_page_title を検出し、 ページの現在のタイトルを取得できます。引数を受け取るツールでは、 入力スキーマに引数を記述し、execute ハンドラー内でその引数を使って、 アプリケーションの既存のロジックを呼び出してください。

受け付ける入力の範囲を絞り、副作用を説明して、結果の検証に十分な情報を返してください。アプリケーションの既存の認証、認可、入力検証を使用してください。人が操作する場合や WebMCP に対応していないブラウザでも使えるように、通常のインターフェースを維持してください。

API の詳細や例については、 WebMCP の仕様Chrome の開発者ガイドをご覧ください。