編集

WebMCP早期プレビュー版公開

エージェントがウェブサイトとやり取りする上で、ウェブサイト側から構造化されたツールを公開するための標準的な方法を提供するWebMCPの早期プレビュー版が公開。

WebMCPは、W3C Community Groupで策定中のウェブ標準。schema.orgがウェブ上のエンティティ(名詞)を定義したのに対し、WebMCPはAIエージェント向けにアクション(動詞)を標準化するものとして位置づけられる。MCP(Model Context Protocol)の考え方をウェブブラウザ向けに応用しており、ブラウザ(navigator.modelContext APIなど)がインターフェイスとなる。

従来の生DOM操作や視覚的なスクレイピングに頼る方法と比較して、複数AIエージェント対応の開発が簡素化され、より高速かつ信頼性の高い確実な操作の実行が可能。

提案されている新しいAPI:

  • 宣言型API:HTMLフォームで直接定義できる標準アクションを実行
  • 命令型API:JavaScriptの実行を必要とする動的なインタラクションを実行

ウェブサイトをエージェント対応にすることで、Agentic CROなど今後のテクニカルSEO領域への影響も予想される。早期プレビュープログラム参加者はプロトタイピングに利用可能。

現在提案されている宣言型API例(HTMLフォームの属性でツールを定義):

html
<!-- toolname / tooldescription でフォーム全体をツールとして宣言 -->
<form
  id="reservationForm"
  toolname="book_table"
  tooldescription="レストランのテーブルを予約する"
>
  <!-- toolparamdescription で各フィールドのパラメータ説明を付与 -->
  <input
    type="text"
    name="name"
    toolparamdescription="予約者の氏名(2文字以上)"
  />
  <input
    type="date"
    name="date"
    toolparamdescription="予約日(YYYY-MM-DD)。今日以降の日付を指定"
  />
  <button type="submit">予約する</button>
</form>

現在提案されている命令型API例(navigator.modelContext へのツール登録):

js
// navigator.modelContext.registerTool() でエージェントが呼び出せるツールを登録する
navigator.modelContext.registerTool({
  name: 'searchFlights',
  description: '指定条件でフライトを検索する',
  inputSchema: {
    type: 'object',
    properties: {
      origin:      { type: 'string', description: '出発地の IATA コード(例: HND)' },
      destination: { type: 'string', description: '目的地の IATA コード(例: SFO)' },
      date:        { type: 'string', description: '出発日(YYYY-MM-DD 形式)' },
    },
    required: ['origin', 'destination', 'date'],
  },
  // execute はエージェントがツールを呼び出したときに実行されるコールバック
  execute: async ({ origin, destination, date }) => {
    const results = await fetchFlights(origin, destination, date);
    return JSON.stringify(results);
  },
});

出展:WebMCP は早期プレビュー版でご利用いただけます

編集