WebMCP Demo Store
RemoteAbout WebMCP Demo Store
WebMCP Demo Store is a small store server and benchmark for agents, with plain-page and MCP-backed modes for comparing catalog access.
Key features
- 01Plain and WebMCP modes
- 02Product search and cart tools
- 03Chrome-native WebMCP support
- 04DOM and token benchmark
- 05Standard-library-only server
Use cases
- 01Compare page scraping with MCP calls
- 02Test agent workflows on a product catalog
- 03Measure task bytes and input tokens
MCP support
In WebMCP mode, the store exposes catalog and shopping operations through an MCP-over-HTTP `/mcp` endpoint. It also registers tools through Chrome's `document.modelContext` API.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://demowithmcp.converso.work/mcpclaude mcp add --transport http kamatanuj-webmcp-store https://demowithmcp.converso.work/mcp{"mcpServers":{"kamatanuj-webmcp-store":{"type":"http","url":"https://demowithmcp.converso.work/mcp"}}}Open in Cursor{"servers":{"kamatanuj-webmcp-store":{"type":"http","url":"https://demowithmcp.converso.work/mcp"}}}Open in VS Code{"mcpServers":{"kamatanuj-webmcp-store":{"type":"http","url":"https://demowithmcp.converso.work/mcp"}}}{"mcpServers":{"kamatanuj-webmcp-store":{"serverUrl":"https://demowithmcp.converso.work/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEWebMCP Demo Store — one-file server, two modes, one benchmark
Same store, same tools, two delivery modes:
- WebMCP mode — the page exposes its catalog through MCP tool calls (MCP-over-HTTP
/mcp, plus Chrome-nativedocument.modelContext), so an agent reads only what the task needs. - Plain mode — the same store as an ordinary website; the agent parses full HTML pages, as every agent must today.
Benchmark (150-product catalog, identical tasks): 79% less action bytes, 42% fewer input tokens, 8/8 tasks correct in both modes. DOM mode wins on small catalogs then collapses; WebMCP wins with age. Crossover report: report.html → WebMCP_Comparison_Report.pdf.
Run it
python3 server.py # plain mode → http://localhost:9501
MCP=1 PORT=9502 python3 server.py # WebMCP mode → http://localhost:9502 + /mcp
stdlib-only (http.server, json, uuid, threading) — no pip install, no dependencies.
Live demos
- plain: https://demonomcp.converso.work
- WebMCP: https://demowithmcp.converso.work (
.well-known/mcpdiscovery,/mcpendpoint) - launch package (deck, whitepaper, reports): https://demowithmcp.converso.work/launch.html
Chrome-native WebMCP test (13 Oct 2026)
Chrome 154 + --enable-features=WebMCP exposes document.modelContext on HTTPS origins (about:blank excluded).
- Registered the 5-tool store contract via the IMPERATIVE API (
registerTool): search_products, add_to_cart, get_cart, checkout (server-backed; all fetches in-page). - Standard client flow verified:
getTools()discovery →executeTool()calls → orders 1017/1018 placed, T2/T4/T8 picks correct (HP Pavilion 14, Razer DeathAdder, OnePlus 12R). - 154 build quirks found & worked around:
executeTool(tool, args)requires args as a JSON string (object form throws "Failed to parse input arguments"); return values are JSON strings too — JSON.parse both sides.- Tools can't be re-registered under the same name (InvalidStateError) — reload the page to reset.
- Flag/feature name:
--enable-features=WebMCPworks headless; docs'chrome://flags/#enable-webmcp-testingis the manual path. Note: API isdocument.modelContext(moved from navigator since July 2026 build).
- Takeaway: the demo's tool contract is compatible with Chrome's native WebMCP, not just our JSON-RPC shim. When Chrome ships the client agent (Gemini-in-Chrome), the store is already agent-ready.
Repo layout
| path | what |
|---|---|
server.py | the whole thing: store + cart + orders + MCP transport (MCP=1) + static/report serving |
catalog.json / catalog_10.json | 150-product / 10-product demo catalogs |
compare.py, compare_llm.py, browser_llm.py | benchmark harnesses (DOM-mode agent, LLM-token accounting, browser-native flow) |
make_report.py | regenerates the HTML/PDF reports from results.json / agg_150_vs_30.json |
whitepaper.html, report*.html, *.pdf, chart_*.png | strategy + evidence artifacts (launch deck included) |
weekly_recap.py | counters + live-URL digest (used by the ops cron) |
License
MIT.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.