## WebMCP とは？

WebMCP は、AI エージェントが別の API ではなく*ユーザーのブラウザを通じて*ウェブサイトと相互作用できるようにする W3C Community Group ドラフト提案です。サイトは既存の HTML フォームに、それらを呼び出し可能なツールとして宣言する属性を注釈付けします;ブラウザは新しい `navigator.modelContext` API を通じてそれらのツールをエージェントに公開します。提案は Google と Microsoft によって支援されており、現在 Chrome Canary の実験的フラグの後ろで利用可能です。

名前は [MCP](/kb/ja/mcp)（Anthropic の Model Context Protocol）の意図的な響きですが、2 つは異なる問題を解決する別個の仕様です。MCP はエージェントがサーバー上のツールを呼び出すための JSON-RPC プロトコルを定義します。WebMCP はエージェントがすでにページ上のフォームとして存在するツールを呼び出すためのブラウザ API を定義します。

## WebMCP が重要な理由

エージェント-ウェブサイト統合の伝統的なルートは：サイトが API（[OpenAPI](/kb/ja/openapi)）または MCP サーバーを公開し、エージェントが別途認証し、呼び出しがバックチャネルで実行されます。これはファーストパーティのエージェント統合では機能しますが、貴重な機能を持つが並行サーフェスを構築する API チームがないウェブサイトのロングテールでは破綻します。

WebMCP は逆のアプローチを取ります：サイトはすでにそのことをするフォームを持ち、ユーザーはすでにログインしており、ブラウザはすでにセッションを持っています。なぜ並行 API を構築するのか？既存のフォームをいくつかの属性で注釈付けすれば、ブラウザ内のエージェントが直接呼び出すことができます — ユーザーの認証、サイトの CSRF 保護、ブラウザの権限モデルを無料で継承します。

## WebMCP と [MCP](/kb/ja/mcp) の違い

| | MCP | WebMCP |
|---|---|---|
| 誰が誰を呼び出すか | エージェント → サーバー | エージェント → ブラウザ → サーバー |
| エージェントの実行場所 | ブラウザの外 | ブラウザ内またはと並んで |
| 認証 | OAuth 2.1 / API キー | ユーザーの既存のブラウザセッション |
| トランスポート | HTTP/SSE 上の JSON-RPC | ブラウザ内部 API（`navigator.modelContext`） |
| サイトで構築するもの | 専用 MCP エンドポイント | 既存 HTML フォーム上の属性注釈 |
| 接続の寿命 | セッション間で持続 | タブが閉じると終了 |
| 発見 | MCP レジストリ / well-known | DOM スキャン + `/.well-known/webmcp.json` マニフェスト |

アーキテクチャはほぼ反対です。MCP は外部エージェントに安定したバックエンドインターフェースを提供します;WebMCP はブラウザ内エージェントに既存のフロントエンドへのアクセスを提供します。

## WebMCP の仕組み

協力する 2 つの部分があります：**DOM 注釈**（ページごと）とオプションの**マニフェスト**（サイトごと）。

**1. 注釈付きフォーム。** サイトは 3 つのカスタム属性で任意の HTML フォームをエージェント呼び出し可能としてマークします：

```html
<form tool-name="search-products" tool-description="Search the catalog by keyword">
  <input type="text" name="q" tool-param-description="Search query, e.g. 'red shoes'">
  <button type="submit">Search</button>
</form>
```

ブラウザ側の WebMCP ランタイムは DOM を `tool-name` 要素についてスキャンし、ツールリストを構築し、エージェントに公開します。

**2. マニフェスト。** サイトは `/.well-known/webmcp.json` を公開して、すべてのページに表示されない可能性のあるツールを宣言できます：

```json
{
  "spec": "webmcp/0.1",
  "tools": [
    {
      "name": "search-products",
      "description": "Search the product catalog",
      "url": "/search",
      "method": "GET",
      "parameters": [
        {
          "name": "q",
          "type": "string",
          "description": "Search query"
        }
      ]
    }
  ]
}
```

## WebMCP と他のエージェント相互運用レイヤー

| 仕様 | エージェントの場所 | 公開されるもの | 認証 |
|---|---|---|---|
| **WebMCP** | ブラウザ内 | 注釈付き HTML フォーム | ユーザーのセッション |
| **[MCP](/kb/ja/mcp)** | ブラウザ外 | サーバー上の JSON-RPC ツール | OAuth / API キー |
| **[A2A](/kb/ja/a2a)** | どこでも | 名前付きスキルを持つエージェント全体 | エージェントレベル認証 |
| **[OpenAPI](/kb/ja/openapi)** | どこでも | スキーマ付き REST エンドポイント | エンドポイントごとのスキーム |
| **[SKILL.md](/kb/ja/skills)** | どこでも | 散文プレイブック | N/A |

WebMCP は唯一ユーザーのブラウザ内で実行されるものです。

## 現在のステータス

WebMCP は W3C Web Machine Learning Community Group の下の**ドラフト Community Group レポート**です。2026 年半ば時点で：

- 仕様は [webmachinelearning.github.io/webmcp](https://webmachinelearning.github.io/webmcp/) で公開されています。
- 参照実装は Chrome Canary の実験的フラグの後ろにあります。
- 任意の本番ブラウザで**配信されていません**。
- 仕様は W3C Working Draft ステータスに達する前に変更されることが予想されます。

今日 WebMCP を出荷するサイトは早期です — 仕様の安定化とブラウザの出荷に賭けています。

## WebMCP を支援しているのは誰か

- **Google** — Chrome チームが提案を公開し、プロトタイプを出荷しています。
- **Microsoft** — 仕様の共同編集者。
- **W3C Web Machine Learning Community Group** — ガバナンス本体。

## サイトに WebMCP を追加する方法

1. **重要なフォームを選ぶ。**
2. **属性を追加する。** `tool-name`、`tool-description`、`tool-param-description`。
3. **小文字ハイフン名を使う。** `search-products`、`searchProducts` ではない。
4. **エージェント向けに説明を書く、人間向けではない。**
5. **マニフェストを公開する。** `/.well-known/webmcp.json`。
6. **Chrome Canary でテスト** 実験的フラグを有効にして。

## スキャナーがフラグを立てる一般的なエラー

- **マニフェストがない** — `/.well-known/webmcp.json` が 404 を返す。
- **マニフェストが HTML を返す** — SPA キャッチオールルート。
- **説明なしのフォーム注釈。**
- **無効なツール名。**
- **非フォーム要素の注釈。**

## FAQ

**WebMCP は [MCP](/kb/ja/mcp) のフォークですか？**
いいえ。別々のワーキンググループからの別々の仕様で、別々のアーキテクチャを持ちます。

**Chrome の WebMCP は Firefox や Safari で動作しますか？**
現在は動作しません。

**MCP がすでにある場合、WebMCP を追加すべきですか？**
あなたのサービスに今日ユーザーが記入するフォームを持つウェブサイトがある場合は、はい。

**AgentGrade は WebMCP のないサイトにペナルティを課しますか？**
いいえ。

**WebMCP は安全ですか？**
セキュリティモデルはブラウザから継承されます：same-origin 強制、ユーザーの既存のセッション、CSRF 保護。

**iframe にフォームをホストする場合、`/.well-known/webmcp.json` を置き換えるものは？**
same-origin ルールが適用されます。

**WebMCP は SPA で動作しますか？**
はい、しかしエージェントがスキャンする時点でフォームが DOM に存在する必要があります。

**WebMCP は安定版 Chrome にいつ出荷されますか？**
公開タイムラインはありません。

## 仕様の成熟度

**ドラフト、未出荷。** WebMCP は W3C Community Group ドラフトで、Chrome Canary の実験的フラグの後ろでのみ利用可能です。

## 詳細

- [WebMCP 仕様](https://webmachinelearning.github.io/webmcp/) — W3C ドラフト
- [WebMCP GitHub リポジトリ](https://github.com/webmachinelearning/webmcp)
- [Chrome: WebMCP と MCP をいつ使うか](https://developer.chrome.com/blog/webmcp-mcp-usage)
- [MCP](/kb/ja/mcp) — サーバー側の対応物
- [A2A](/kb/ja/a2a) — エージェント間プロトコル
