Re Reference AI

エージェント

WebMCPとは

Web Model Context Protocol

Webページ自身がツールをブラウザ内のAIエージェントへ公開できる、W3C Web Machine Learning Community Groupが策定中のブラウザAPI仕様

プロトコルツール連携ブラウザ

概要

WebMCPは、Webページが自らの機能を「ツール」としてブラウザに公開し、ブラウザに組み込まれたAIエージェント(または埋め込まれたエージェント)がそれを呼び出せるようにするJavaScript APIの仕様。AnthropicのMCP(Model Context Protocol)から名称と語彙(tool・schema・parameter等)の着想を得ているが、アーキテクチャは別物だ。サーバー間通信を前提とするMCPに対し、WebMCPはオリジン(origin)・ブラウザの権限管理・DOM統合・タブのライフサイクルといったWebプラットフォーム固有の概念にネイティブ対応する。GoogleとMicrosoftのエンジニアが中心となり、W3CのWeb Machine Learning Community Groupで策定が進められている。

背景

AIプラットフォーム(Copilot・ChatGPT・ClaudeGemini等)は、MCPやOpenAPIのような「バックエンド統合」を通じて外部サービスのツールを呼び出せるようになってきた。しかしこの方式では、Web UIやブラウザ体験を経由せずエージェントが外部サービスのバックエンドと直接通信するため、UIが置き去りになって文脈が失われたり、開発者がユーザーの状態や認証情報をバックエンド統合ごとに複製する必要が生じたりする課題があった。WebMCPは、既存のクライアント側アプリケーションロジックとUIを再利用しながら、ユーザーとエージェントが同じWebインターフェース上で協調して作業できるようにする目的で提案された。

歴史

2026年、GoogleとMicrosoftのエンジニアが中心となり、W3CのWeb Machine Learning Community GroupでWebMCPの仕様策定が始まった。2026年8月14日時点でDraft Community Group Reportとして公開されており、W3C Standard Trackにはまだ乗っていない。Chromeでは試験用フラグ経由でWebMCPの一部機能を利用できる。

アーキテクチャ

中核となるのは`document.modelContext`インターフェース。Webページは`registerTool()`を呼び出し、名前・説明文・JSON Schemaによる入力スキーマ・実行関数(`execute`)を持つツールをブラウザに登録する。ブラウザに組み込まれたAIエージェントは、`document.modelContext`経由でページが登録したツールを検出・実行し、UIの更新やAPI呼び出しをページ自身のロジックを通じて行う。アクセスはPermissions Policyの`tools`機能でオリジン単位に制御され、既定では同一オリジンの`Window`と同一オリジンのiframeのみ有効になる。`exposedTo`オプションを使うと、信頼する別オリジンのiframe(ページに埋め込まれたエージェント等)にも選択的にツールを共有できる。

ワークフロー

Webページはロード時に`document.modelContext.registerTool()`で自身のツールを登録する。ユーザーがエージェントに指示を出すと、エージェントはWebページが公開しているツール一覧を取得し、ユーザーの意図に合うツールをJSON Schemaに従った引数で呼び出す。ツールの`execute`関数はWebページの既存のクライアント側ロジックを再利用してUIを更新したりAPIを呼び出したりし、結果をエージェントに返す。ツールが不要になった場合は、登録時に渡した`AbortSignal`を中止して登録解除する。

コード例

ツールの登録(document.modelContext.registerTool)

await document.modelContext.registerTool({
  name: "add-todo",
  description: "Add a new item to the user's active todo list",
  inputSchema: {
    type: "object",
    properties: {
      text: { type: "string", description: "The text content of the todo item" }
    },
    required: ["text"]
  },
  async execute({ text }) {
    // 既存のクライアント側ロジックを再利用してUIを更新
    await addTodoItemToCollection(text);

    return {
      content: [
        { type: "text", text: `Added todo item: "${text}" successfully.` }
      ]
    };
  }
});

利点

  • ページ自身が用意した既存のクライアント側ロジックとUIをそのまま再利用でき、エージェント専用のバックエンド統合を別途用意する必要がない
  • オリジン単位のPermissions Policyでアクセスを制御し、既定では同一オリジンのみに限定されるため、アクセス範囲を絞り込みやすい
  • MCPと語彙(tool・schema・parameter)を共有しているため、既存のMCPエコシステムの知識をWebページ側のツール実装にも応用しやすい

欠点

  • 2026年8月時点でDraft Community Group Reportの段階でありW3C Standard Trackに入っておらず、仕様変更の可能性がある
  • クロスオリジンのiframeへのツール共有や、複数オリジンをまたいだエージェントの状態の持ち運びに伴うセキュリティ・プライバシー上のリスクなど、仕様書内に未検討の項目が残っている
  • 対応ブラウザが限定的で、現時点ではChromeが試験用フラグで一部サポートするのみ

比較

  • MCPMCPがサーバー間通信を前提にAIプラットフォームと外部サービスのバックエンドを繋ぐのに対し、WebMCPはWebページ自身がブラウザ内でツールを公開し、オリジンやDOM統合といったWebプラットフォーム固有の概念にネイティブ対応するという違いがある
  • Browser UseBrowser UseがAIエージェントによるDOM解析やクリックなど視覚的・自律的なブラウザ操作技術であるのに対し、WebMCPはWebページ側が明示的に登録したツールをエージェントが呼び出す、開発者主導の連携方式であるという違いがある

関連用語

MCPBrowser Useツールコーリング

よくある質問

WebMCPとMCP(Model Context Protocol)は同じものか?

名称と語彙(tool・schema・parameter等)を共有しているが別物。MCPはサーバー間通信を前提としたバックエンド統合のためのプロトコルで、WebMCPはWebページがブラウザ内のエージェントにツールを公開するためのJavaScript API仕様。

WebMCPは誰が策定しているか?

GoogleとMicrosoftのエンジニアが中心となり、W3CのWeb Machine Learning Community Groupで策定している。2026年8月時点でDraft Community Group Reportの段階。

WebMCPはどのブラウザで使えるか?

2026年8月時点でW3C Standard Trackの正式仕様ではなく、Chromeが試験用フラグで一部サポートしている段階。

参考文献