mcpField
W
WebMCP Demo Store

WebMCP Demo Store

远程服务
demowithmcp.converso.work开发工具01 周前更新

关于 WebMCP Demo Store

WebMCP Demo Store 是面向 Agent 的商店服务器与基准测试项目,提供普通网页和 MCP 两种模式,用于比较目录数据的访问方式。

主要功能

  1. 01普通网页与 WebMCP 模式
  2. 02商品搜索和购物车工具
  3. 03支持 Chrome 原生 WebMCP
  4. 04DOM 与 Token 基准测试
  5. 05仅依赖标准库的服务器

适用场景

  1. 01比较网页抓取与 MCP 调用
  2. 02测试商品目录上的 Agent 工作流
  3. 03衡量任务数据量和输入 Token

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 演示商店——单文件服务端、两种模式、一项基准测试

已收录于 mcpservers.org

同一家商店、同一组工具、两种交付模式:

  • WebMCP 模式——页面通过 MCP 工具调用公开商品目录(MCP-over-HTTP /mcp,以及 Chrome 原生的 document.modelContext),因此 Agent 只读取任务所需的内容。
  • 普通模式——同一家商店作为普通网站运行;Agent 解析完整 HTML 页面,这也是目前每个 Agent 都必须采用的方式。

基准测试(150 件商品的目录,任务相同):操作字节数减少 79%,输入 token 减少 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 install,无依赖项。

在线演示

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 移出)。
  • 要点:该演示的工具契约兼容 Chrome 原生 WebMCP,而不仅是我们的 JSON-RPC 适配层。Chrome 发布客户端 Agent(Gemini-in-Chrome)后,这家商店便已做好迎接 Agent 的准备。

仓库布局

路径内容
server.py完整实现:商店 + 购物车 + 订单 + MCP 传输(MCP=1)+ 静态内容/报告服务
catalog.json / catalog_10.json150 件商品 / 10 件商品的演示目录
compare.py、compare_llm.py、browser_llm.py基准测试工具(DOM 模式 Agent、LLM token 统计、浏览器原生流程)
make_report.py从 results.json / agg_150_vs_30.json 重新生成 HTML/PDF 报告
whitepaper.html、report*.html、*.pdf、chart_*.png策略与证据资料(包含启动演示文稿)
weekly_recap.py计数器 + 实时 URL 摘要(供运维 cron 使用)

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。