Published: May 18, 2026
WebMCP 有许多可能的用途。在本文档中,您将了解如何实现 WebMCP,以支持用户及其代理。您将从用户和客服人员的角度了解此过程,并获得有关可用于支持 关键用户历程 (CUJ) 的工具的建议。
帮助用户购物
零售商店的开发者非常适合使用 WebMCP。虽然在某些情况下,用户可能希望亲自挑选商品,例如寻找其收藏品中缺失的一件,但在其他情况下,用户只是需要完成任务。这可能是他们的每周购物清单、派对策划或重新订购喜爱的商品。
在这些购物 CUJ 中,我们的用户是 Jesse。Jesse 不想花时间在各个类别中搜索,以准确找到他们想要的东西。相反,他们依靠浏览器代理来满足购物需求,从而更快地找到想要的东西,并更快地结账。
支持购物历程
Jesse 决定为孩子的 10 岁生日派对购买用品。派对的主题是外太空,Jesse 已经写好购物清单。有些用品可能需要从专门的杂货店购买,有些需要从大型商店购买,还有一些需要从专门的派对用品供应商处购买。
Jesse 向浏览器代理询问:“请在两到三家本地商店中找到购物清单上商品的最优惠价格。为我创建心愿单,以便我完成结账。如果有找不到的商品,请告诉我。”
Jesse 在提出这个问题时做了一些假设。其中包括代理不会在多个购物车中添加相同的商品。如果两家商店都有某件商品,代理将确定哪家商店的价格较低,并将其添加到该购物车中。Jesse 还假设本地商店是 Springfield 的本地商店。
无论您是本地商家 Space Shoppe 的开发者,需要为儿童推荐大量派对用品,还是大型连锁杂货店的开发者,都可以构建工具来支持 Jesse 的代理。
search_products(),供 Jesse 在类别中查找符合购物清单预期的商品。例如,productType="wall-decorations"、category="planets"和age="child"。add_to_wishlist(),供 Jesse 在将所有商品添加到购物车之前查看这些商品。- 如果 Jesse 要求所有商品的价格都低于某个金额,您可以
提供一个工具来优化搜索,例如
refine_search(priceRange = "0-49.99")。
支持重复购买
Jesse 很喜欢 Example Grocery Company 的奶酪棒,但不太记得品牌名称了。Jesse 向代理询问:“你能重新订购我上个月买的奶酪棒吗?”
如果您不提供订阅服务,仍然可以帮助客户通过代理再次订购相同的商品。作为 Example Grocery Company 的开发者,您可能需要提供以下工具:
get_order_history(startdate="",enddate="",),用于返回商品的详细信息 ,包括订单日期和配送状态。add_to_wishlist(productId="XYZ", quantity = 1),供 Jesse 在将所有商品添加到购物车之前查看所有商品。delivery(method="pickup")
代理回复 Jesse:“我找到了您 3 月 7 日订购的 Cheddar Peelers。我已将一包添加到您的购物车中。您要继续结账吗?” 然后,Jesse 可以快速从 Example Grocery Company 结账,仅订购 Cheddar Peelers,也可以继续浏览和购买其他商品。
帮助用户填写表单
自动填充是一项非常实用的浏览器功能,如果部署正确, 可以将表单的放弃率降低 75%。 虽然我们建议您 构建带有自动填充功能的表单,但借助 WebMCP,我们可以 进一步提高表单的完成率。
WebMCP 支持用户的代理快速且正确地填写长表单。 在接下来的部分中,我们将引导 Charlie 填写各种复杂的表单。
管理工作
Charlie 在一家律师事务所的 IT 部门工作,他聘请了一位承包商为该事务所设计一个新网站。管理费用和时间表一直非常麻烦,尤其是因为律师的时间表有不同的预期。
您在一家工作管理软件公司工作,希望让所有供应商和律师都能更轻松地输入具有正确情境的时间表,以便公司向正确的部门收取正确的金额。 您可以添加一个 WebMCP 工具,以支持 Charlie 的承包商和律师使用代理输入每日时间表任务。
<form toolname="add-to-timesheet"
tooldescription="Report billing task and time to add to the timesheet."
toolautosubmit>
<fieldset>
<label for="date">Date</label>
<input name="date" type="datetime-local" toolparamdescription="Date of work.">
<label for="task_category">Task category</label>
<select id="task_category" name="task_category"
toolparamdescription="Type of task completed per time block">
<option value="admin">Admin</option>
<option value="billing">Billing</option>
<option value="client">Client meetings or communication</option>
<option value="development">Development</option>
</select>
<label for="minutes_worked">Minutes working on the task</label>
<input type="number" id="minutes_worked" name="minutes_worked" min="30" max="600"
toolparamdescription="Minutes worked on this date and task, with a minimum of 30 and maximum of 600."
placeholder="60">
<label for="work_details">Details</label>
<input name="work_details"
toolparamdescription="Additional details of work completed, for managerial review.">
</fieldset>
<button type="submit">Update timesheet</button>
</form>
购买汽车
Charlie 打算购买一辆二手车。他非常关心一些功能,例如汽车类型、座位数和首选燃料。其他功能(例如汽车颜色和备用摄像头等便利设施)则不太重要。Charlie 向代理询问:“你能帮我找一辆家用车吗?它必须有 7 个座位,使用普通汽油,并且是过去 10 年内的车型。”
如果您的网站已经有一个包含必填字段和可选字段的表单,只需两个步骤即可将表单转换为 WebMCP 工具。
HTML
<form toolname="search_cars"
tooldescription="Search for cars based on various criteria such as type, seats, year, fuel, and features."
toolautosubmit>
<fieldset>
<label for="car_type">Car Type</label>
<select id="car_type" name="car_type" toolparamdescription="Type of car">
<option value="">Any</option>
<option value="family">Family Car</option>
<option value="suv">SUV</option>
<option value="sedan">Sedan</option>
</select>
<label for="seats">Min Seats</label>
<input type="number" id="seats" name="seats" min="1" max="9"
toolparamdescription="Minimum number of seats required"
placeholder="7">
<label for="min_year">Minimum Year</label>
<input type="number" id="min_year" name="min_year" min="1900" max="2026"
toolparamdescription="Find cars made after a specific year"
placeholder="2016">
</fieldset>
<fieldset>
<legend>Preferences</legend>
<label for="fuel_type">Fuel Type</label>
<select id="fuel_type" name="fuel_type" toolparamdescription="Preferred fuel type">
<option value="">Unleaded regular</option>
<option value="">Unleaded premium</option>
<option value="diesel">Diesel</option>
...
</select>
<div>
<input type="checkbox" id="has_ac" name="has_ac" value="true"
toolparamdescription="Check if air conditioning is required">
<label for="has_ac">Air Conditioning (AC)</label>
</div>
</fieldset>
<button type="submit">Search Cars</button>
</form>
JavaScript
search_cars({car_type, seats, min_year, fuel_type, has_ac, ... })
质保服务申请
Charlie 想要为他的电视提交质保服务申请。他进入了订购电视的网站的主页。他立即向代理说明了自己的意图:
“前往支持页面,为我的电视提交质保服务申请。屏幕无法打开。序列号是 XYZ-987。其余信息请使用我保存的详细信息。”
使用 WebMCP 工具的代理会启动申请流程并填写所有所需的信息。如果代理需要更多信息,可以要求用户向代理提供信息,也可以要求用户手动填写表单并提交。
start_claim_process(),用于导航到正确的表单。populate_product_details(serial_number, purchase_date),用于输入特定商品和日期信息。describe_issue(issue_description),用于使用用户提示中的故障说明填充长文本字段。populate_contact_info(name, email, phone)
在这种情况下,我们通过提供 WebMCP 工具,帮助用户通过代理浏览网站,而无需了解在哪里可以找到质保服务申请表单。Charlie 能够成功完成用户历程,而无需详细了解网站结构。
活动服务请求
Charlie 和 Jesse 将于 9 月结婚,他们想聘请一家餐饮服务商。他们所在地区有数十家餐饮服务商,他们希望确保每个请求都包含所需的信息,并要求提供相同类型的服务。
Charlie 向代理询问:
“你能为我们 2026 年 9 月 8 日的婚礼提交一份餐饮服务商咨询吗?我们想要一份可供 100 位宾客享用的素食菜单。我们有两位宾客有饮食禁忌,需要特殊餐点,包括犹太洁食和无麸质餐点。我们只想要啤酒和葡萄酒。”
通过添加以下工具,帮助 Charlie 的代理向您的餐饮公司提交咨询:
start_event_request()create_wedding_reception(guests=100,date="September 8, 2026")add_dietary_restrictions(restrictions=["kosher","gluten-free"], guests = 2)select_drink_package(package = "Light")submit_event_request()
帮助用户过滤信息
有许多类型的网站包含大量商品,这些商品具有复杂的过滤条件。可能有成百上千个商品信息,每个商品信息都包含用户可能需要的独特功能组合。例如,这可以包括房屋租赁网站、酒店预订来源和票务网站。
在本部分中,我们将帮助 Dana 找到符合其特定偏好的相关选项。
查找相关的房屋信息
Dana 要和家人一起搬到一座新城市,需要找一套公寓。所有房屋网站列出的信息各不相同,有些网站有照片,有些网站有多种不同类型的过滤条件,包括价格、卧室、浴室和其他功能。有些商品信息包含确切的位置,而另一些可能只列出社区。
Dana 向代理询问:
“请向我展示布鲁克林可供出租的公寓,这些公寓距离 A 线地铁站步行不到 10 分钟,距离翠贝卡不到 1 小时。公寓必须至少有三间卧室和一个洗碗机。如果公寓内或大楼内有洗衣机和烘干机就更好了。我们的预算是 4,500 美元。”
您可以通过向房源网站添加对代理友好的过滤功能,帮助 Dana 的代理找到合适的、相关的出租房源:
搜索
search(
max-price=4500,
location="Brooklyn",
features=["dishwasher"],
rooms=3,
optionalFeatures=["washer-dryer"]
)
应用过滤器
apply_filters(
transit="train",
max_time="1 hour",
destination="Tribeca"
)
代理使用这些函数来解析房产元数据,并确保结果满足所有要求(包括 3 间卧室和一个洗碗机)。作为回应,代理会返回一张地图,其中包含指向特定商品信息的图钉,以及距离翠贝卡的总距离。如果商品信息中包含可选功能(洗衣机和烘干机),图钉将采用不同的颜色。
预订行程
Dana 和她的妻子 Rosario 计划前往德国柏林度假。Dana 希望找到符合其条件的酒店选项,以经济实惠的价格提供舒适的住宿。Dana 向代理询问:“请在德国柏林找到几家每晚价格低于 300 美元、带游泳池且包含早餐的酒店。”
您是旅行预订服务的开发者,旨在为用户找到优惠的旅行套餐:
搜索
search_hotels(location = "Berlin", guests = 2)
应用过滤器
filter_search_results(max_price=300,amenities=["pool","restaurant"])
Dana 的代理返回了三家符合条件的酒店,并询问:“您想让我向您展示更多选项吗?或者您还有其他需要考虑的条件吗?”
分享您的反馈
您认为哪些类型的用户历程可以从 WebMCP 中受益?是否可以向 API 添加其他功能来满足您的期望? 如果您尝试使用这些 API 并有反馈,我们很乐意倾听。
- 阅读 WebMCP 说明, 提出问题并参与讨论。
- 在 Chrome 状态中查看 Chrome 的实现。
- 加入抢先体验计划 抢先了解新 API 并访问我们的邮件列表。
- 如果您对 Chrome 的实现有反馈,请提交 Chromium bug。