mcpField
W
WebMCP Demo Store

WebMCP Demo Store

リモート
demowithmcp.converso.work開発ツール01 週間前に更新
リポジトリ公式サイト

WebMCP Demo Store について

WebMCP Demo Storeは、エージェント向けのストアサーバー兼ベンチマークです。通常のページとMCPモードを備え、商品カタログへのアクセス方法を比較できます。

主な機能

  1. 01通常ページとWebMCPモード
  2. 02商品検索とカートのツール
  3. 03ChromeネイティブWebMCP対応
  4. 04DOMとトークンのベンチマーク
  5. 05標準ライブラリのみのサーバー

活用シーン

  1. 01ページ解析とMCP呼び出しの比較
  2. 02商品カタログでのエージェント動作のテスト
  3. 03タスクのデータ量と入力トークンの測定

MCP 対応

WebMCPモードでは、MCP-over-HTTPの`/mcp`エンドポイントを通じて商品カタログと購入操作を提供します。Chromeの`document.modelContext` APIでツールを登録することもできます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://demowithmcp.converso.work/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

WebMCP Demo Store — 1 ファイルのサーバー、2 つのモード、1 つのベンチマーク

mcpservers.org に掲載

同じストア、同じツール、2 つの提供モード:

  • WebMCP モード — ページは MCP ツール呼び出し(MCP-over-HTTP /mcp と Chrome ネイティブの document.modelContext)を通じてカタログを公開するため、エージェントはタスクに必要な情報だけを読み取ります。
  • プレーンモード — 同じストアを通常のウェブサイトとして提供します。現在のすべてのエージェントと同様に、エージェントは HTML ページ全体を解析します。

ベンチマーク(150 商品のカタログ、同一タスク):アクションのバイト数を 79% 削減、入力トークンを 42% 削減し、両モードで 8/8 タスクに正解。 DOM モードは小規模なカタログでは優位ですが、その後は性能が急落します。WebMCP は時間とともに優位になります。クロスオーバーレポート:report.html → WebMCP_Comparison_Report.pdf

実行方法

python3 server.py                    # plain mode      → http://localhost:9501
MCP=1 PORT=9502 python3 server.py    # WebMCP mode     → http://localhost:9502 + /mcp

標準ライブラリのみ(http.server、json、uuid、threading)を使用します。pip のインストールや依存関係は不要です。

ライブデモ

Chrome ネイティブ WebMCP テスト(2026 年 10 月 13 日)

Chrome 154 と --enable-features=WebMCP により、HTTPS オリジンで document.modelContext が利用できます(about:blank は対象外です)。

  • IMPERATIVE API(registerTool)を使用して、5 つのツールからなるストアのコントラクトを登録しました:search_products、add_to_cart、get_cart、checkout(サーバー連携。すべての fetch はページ内で実行)。
  • 標準的なクライアントフローを検証しました:getTools() による検出 → executeTool() の呼び出し → 注文 1017/1018 を確定し、T2/T4/T8 の商品を正しく選択(HP Pavilion 14、Razer DeathAdder、OnePlus 12R)。
  • 154 ビルドで見つかった問題と回避策:
    1. executeTool(tool, args) では、args を JSON 文字列として渡す必要があります(オブジェクト形式では "Failed to parse input arguments" がスローされます)。戻り値も JSON 文字列なので、両方を JSON.parse します。
    2. 同じ名前でツールを再登録することはできません(InvalidStateError)。ページを再読み込みしてリセットしてください。
    3. フラグ/機能名:ヘッドレスでは --enable-features=WebMCP が動作します。ドキュメントにある chrome://flags/#enable-webmcp-testing は手動で設定する方法です。注:API は document.modelContext です(2026 年 7 月のビルド以降、navigator から移動)。
  • 要点:このデモのツールコントラクトは、JSON-RPC shim だけでなく、Chrome のネイティブ WebMCP とも互換性があります。Chrome がクライアントエージェント(Gemini-in-Chrome)をリリースする頃には、このストアはすでにエージェント対応済みです。

リポジトリ構成

パス内容
server.py全機能を収録:ストア、カート、注文、MCP トランスポート(MCP=1)、静的ファイル/レポートの配信
catalog.json / catalog_10.json150 商品/10 商品のデモカタログ
compare.py、compare_llm.py、browser_llm.pyベンチマーク用ハーネス(DOM モードのエージェント、LLM トークンの集計、ブラウザネイティブのフロー)
make_report.pyresults.json / agg_150_vs_30.json から HTML/PDF レポートを再生成
whitepaper.html、report*.html、*.pdf、chart_*.png戦略とエビデンスの成果物(起動スライドを含む)
weekly_recap.pyカウンターとライブ URL のダイジェスト(運用 cron で使用)

ライセンス

MIT。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。