MCP 服务器:让顾客通过 Claude 和 ChatGPT 搜索你的商店
越来越多的人开始在聊天窗口里购物。他们向 Claude 或 ChatGPT 提问,比如“43 码、120 欧元以内的防水登山靴”,并期望助手给出可以购买的商品。助手只能推荐它读得到的内容。普通网站只会被偶尔抓取一次,而拥有自己 MCP 服务器的商店,每次有人提问时都会被实时搜索,用的是商店真实的筛选条件、价格和库存。
从 3.4.7 版本起,HUSKY 会为你的 WooCommerce 商店添加一个 MCP 服务器。MCP(Model Context Protocol)是 AI 助手连接外部数据的标准方式。开启后,连接到你商店的助手会按照 HUSKY 筛选表单的方式筛选商品目录,并返回你的商品、价格和链接。之后顾客照常打开你的商品页,在你的网站上下单。
在我们的演示商店里试一试:在 Claude 或 ChatGPT 中把 https://demo.products-filter.com/hello-mcp 添加为连接器,然后随便问点什么,例如“30 美元以内的红色衣服”。
你能得到什么
- 为顾客提供购物助手,你和顾客都不用花钱。你不需要为 AI 服务付费。顾客使用自己已有的助手,添加一个地址,就能用自己的语言和习惯的说法与你的商品目录对话。
- 大型商品目录变得容易搜索。商品成千上万、属性几十个的商店里,很多人会在冗长的筛选表单前放弃。助手会读取你所有的筛选条件,组合使用,并一步步缩小结果:“只要有货的”“便宜一点的”“同款蓝色的”。
- 值得信赖的答案。助手不会根据你网站的旧副本去猜。每次搜索都走与筛选表单相同的查询,所以它看到的筛选条件、逻辑(OR、AND、NOT IN)、取值和数量,与访客看到的完全一致。
- 为商品页带来流量。每条结果都链接到你的商品页。如果搜索把一个可变商品缩小到某个变体,链接打开时会已经选中该变体,例如
?attribute_pa_color=red&attribute_pa_size=42。 - 你的语言和货币。配合 WPML 或 Polylang,助手可以用顾客的语言搜索。配合 FOX Currency Switcher,它可以用顾客的货币显示价格,商品链接也会以该货币打开。
- 清楚的提示。你网站上的一个提示框会告诉顾客可以用 AI 助手购物,AI 工具则通过标准的发现文件自行找到你的服务器。
对我的商店安全吗?
这个服务器只展示公开的商品目录,别无其他。
- 默认关闭。在你开启之前,服务器、它的地址、发现文件、head 链接、llms.txt 中的相关段落以及短代码提示框,在你的网站上都不存在。
- 只读。三个工具都只读取数据。通过服务器无法购买、加入购物车、编辑或删除任何东西,也不会返回任何结账链接。
- 以访客身份工作。它不会返回草稿、私有商品、受密码保护的商品,也不会返回在目录中隐藏的商品。如果 WooCommerce 隐藏缺货商品,服务器也会隐藏。在 WooCommerce 的“Coming soon”模式下,这些工具会拒绝回答。
- 无需账户、密钥,不涉及个人数据。服务器只读取任何访客都能看到的内容,所以不需要登录。它不设置 cookie,也不保存调用方的任何信息。
- 速率限制。每个地址都有严格的限制,默认每分钟 60 个请求,突发上限 20 个。超过限制时,调用方会收到 HTTP 429 以及需要等待的秒数。封锁是临时的,会自动解除,无需手动解锁。
- AI 平台单独的限制。使用 claude.ai 或 ChatGPT 的顾客是从助手自己的服务器访问你的商店的,所以许多顾客共用少数几个地址。Anthropic 和 OpenAI 为此公布的地址段有独立的、更高的限制,因此热门商店不会把自己的顾客挡在门外。
- 缓存。重复的相同搜索来自一个短期缓存(默认 90 秒),所以同一个问题被问一百次,也不会执行一百次数据库查询。商品、库存、价格、分类项或筛选设置的任何变动都会清空缓存。
- 浏览器来源。如果你不希望其他网站上基于浏览器的 MCP 客户端使用你的服务器,请列出你允许的来源。
要求
HUSKY 3.4.7 或更高版本,WordPress 6.0 或更高版本,WooCommerce,PHP 7.4 至 8.5。在 WordPress 6.9 及更高版本上,这些工具还会注册到 WordPress Abilities API。
1. 开启
- 打开 HUSKY 设置,进入 MCP Server 标签页。
- 将 Enable MCP server 设为 Yes。
- 点击 Save changes。保存之前,该地址不会响应。
此时标签页会显示 Your MCP server address,旁边有一个 Copy 按钮。

2. 你的服务器地址
| 地址 | 适用情况 |
|---|---|
https://your-shop.com/wp-json/husky/v1/mcp |
默认地址,始终可用 |
https://your-shop.com/index.php?rest_route=/husky/v1/mcp |
使用朴素固定链接时的默认地址 |
https://your-shop.com/ai-shop |
你自己的短地址(如果设置了的话) |
你自己的地址。在 Your own address (pretty URL) 中输入任何未被占用的路径,例如 ai-shop。该字段会在你输入时检查,如果已有页面、文章、分类或文件使用了这个路径,就会提醒你。短地址更便于告诉顾客。默认地址仍然可用,而 server card、llms.txt、head 链接和短代码提示框都会改用短地址。它适用于任何固定链接结构(包括朴素固定链接),前提是网络服务器会把未知地址交给 WordPress 处理(标准的 .htaccess 和 nginx try_files 规则就是这样做的)。
对于 MCP 客户端:传输方式为 Streamable HTTP,无需认证,同一地址支持 2026-07-28、2025-11-25 和 2025-06-18 三个协议版本。
3. 告诉你的顾客
没人知道的服务器对谁都没有帮助。HUSKY 提供两种宣传方式:一种面向人,一种面向 AI 工具。
页面上的提示框
把短代码 [woof_mcp_connect] 放在任何地方:页面里、文章里,或者侧边栏、页脚的 Text 或 Shortcode 小工具里。在区块编辑器中,使用区块 AI assistant connection (HUSKY MCP)。提示框会显示你的服务器地址和一个 Copy 按钮,以及针对 Claude、ChatGPT 和其他助手的三个简短步骤。

标题和文字可以在 MCP Server 标签页的 Box for your shop pages 下统一设置,也可以在每次使用时单独指定:
[woof_mcp_connect title="Shop with your AI assistant" text="Add this address to Claude or ChatGPT and just say what you are looking for."]
这些文字可以像筛选器的其他内容一样,通过 HUSKY 的分类标签翻译字段进行翻译。
提示框适合放在商店侧边栏、页脚,或者放在菜单里链接的一个简短页面上,比如“用 AI 购物”。
面向 AI 工具的发现文件
AI 代理和目录站点会查找网站的机器可读描述。服务器开启期间,HUSKY 会为你发布这些文件:
- llms.txt。这是放在网站根目录的纯文本文件,告诉 AI 工具这个网站是什么、该去哪里查看。HUSKY 会在其中加入一段关于你的 MCP 服务器的内容:
- 如果你的 llms.txt 由 Rank Math 或 Website LLMs.txt 插件生成,这一段会加到它们的文件中;
- 如果你的网站没有 llms.txt,服务器开启期间,HUSKY 会在
/llms.txt提供一个; - 实际存在的
llms.txt文件绝不会被修改。标签页会显示这段内容,可以直接粘贴进去。 - Server card 位于
<your address>/server-card,包含服务器名称、描述和地址。 /.well-known/ai-catalog.json,指向 server card。- 每个页面 head 中的链接(
<link rel="ai-catalog">和<link rel="service-desc">)。
你可以在标签页的 Discovery 下关闭 llms.txt 段落和 head 链接。
4. 顾客如何连接
标签页会显示下面的每一段代码,其中已经填好了你的地址,每段旁边都有 Copy 按钮。请把 https://your-shop.com/ai-shop 替换成你自己的地址。
Claude (claude.ai, Claude Desktop)
- 打开 Customize → Connectors(
claude.ai/customize/connectors)。 - 点击 Add custom connector 并粘贴地址。
- OAuth 字段留空,点击 Add。
在聊天中,从工具菜单里打开该连接器,然后提问,例如:“帮我找 42 码、150 欧元以内的红色运动鞋。”
ChatGPT
- 打开
chatgpt.com/plugins,点击 +,选择 Add custom MCP server。 - 输入名称,把地址粘贴到 Server URL,并选择 No authentication。
- 确认后选择 Create as a plugin,然后在聊天中输入
@并选中它。
哪些套餐和工作区角色可以添加自定义连接器,由 Anthropic、OpenAI 和工作区管理员决定,与你的商店无关。
Claude Code
claude mcp add --transport http my-shop https://your-shop.com/ai-shop
Cursor
项目内使用 .cursor/mcp.json,对所有项目生效则使用 ~/.cursor/mcp.json:
{
"mcpServers": {
"my-shop": {
"url": "https://your-shop.com/ai-shop"
}
}
}
VS Code (GitHub Copilot)
使用 .vscode/mcp.json,或者使用命令 MCP: Add Server → HTTP:
{
"servers": {
"my-shop": {
"type": "http",
"url": "https://your-shop.com/ai-shop"
}
}
}
其他 MCP 客户端
将其添加为远程服务器:Streamable HTTP,无需认证。要在终端中检查服务器:
npx @modelcontextprotocol/inspector --cli https://your-shop.com/ai-shop --transport http --method tools/list
5. 助手能做什么
| 工具 | 作用 |
|---|---|
husky_get_filter_schema |
按顺序列出你筛选表单中的各个筛选条件:分类、属性、品牌、价格、库存、促销、元字段、文本搜索等,并给出每项的取值、商品数量和逻辑,以及排序方式、语言和货币。 |
husky_search_products |
用这些筛选条件的任意组合进行搜索。返回一页商品,包含名称、价格、促销价、库存、图片、评分、属性和链接,以及其余取值的数量,方便助手继续缩小范围。没有结果时,它会说明应该去掉哪个筛选条件,并推荐最接近的替代商品。 |
husky_get_product |
按 ID、URL 或 SKU 获取单个商品:描述、图库、分类、属性、带价格和库存的变体,以及链接。 |
顾客可以提出的请求:
- “16 GB 内存、800 以内、有现货的笔记本电脑。”
- “类似这件夹克,但要防水,蓝色的。”
- “促销中最便宜的耳机,附上链接。”
- "Gibt es diese Schuhe in Größe 42? Preise bitte in Euro."
Instructions for agents。每个助手都会收到一段关于如何使用这些工具的简短文字:先调用 schema,只使用真实的筛选值,并给出链接。你可以在标签页的 Instructions for agents 下编辑它,例如加入退货政策或你想要的语气。Reset to default 会恢复你当前 HUSKY 版本自带的文字。只要保留默认文字,更新时就会同步得到它的改进。
展示给代理的名称、标题和描述取自你的网站标题,可以在标签页上修改。
6. 语言和货币
- WPML 和 Polylang。助手可以传入语言。此后结果、数量、名称和链接都使用该语言,并且只返回该语言的商品。未指定语言时,使用默认语言。
- FOX Currency Switcher。除非助手要求其他货币,否则价格使用你的基础货币。顾客自己选择的货币、geo-IP 和 cookie 都不会影响服务器。请求某种货币时,价格由 FOX 按照与你店面完全相同的方式换算,包括按货币固定的价格,商品链接也会带上货币(
?currency=EUR),因此商品页打开时的价格与助手报出的价格一致。

7. 速率限制和缓存设置
| 设置 | 默认值 |
|---|---|
| 每个 IP 地址 | 每分钟 60 个请求,突发 20 个 |
| AI 平台(每个公布的地址段) | 每分钟 1200 个请求,突发 300 个 |
| 相同搜索的缓存 | 90 秒 |
| 每页最多商品数 | 50(可设为 1 到 100) |
- 默认的 AI 平台列表只包含厂商在自己文档中公布的地址段:Anthropic(Claude)和 OpenAI(ChatGPT 连接器)。只要保留默认列表,它就会随 HUSKY 更新而更新。如果你编辑了它,你的列表会被保留,而 Reset to default 会载入你当前 HUSKY 版本的列表。
0表示关闭对应的一项限制。Rate limit: Off 会关闭所有限制。- 计数器存放在你的持久对象缓存(Redis、Memcached)中,有 APCu 时也可用 APCu,否则存放在数据库中。
8. 故障排查
| 现象 | 检查什么 |
|---|---|
| 地址返回 404 | 服务器处于关闭状态,或者开启后没有保存设置。 |
| 短地址返回 404 | 其他页面或文件占用了该地址(标签页会显示冲突),或者网络服务器没有把未知地址交给 WordPress。默认地址仍然可用。 |
找不到 /.well-known/ai-catalog.json |
WordPress 安装在子目录中,无法在域名根目录响应。server card 和 head 链接仍然可用。 |
/.well-known/ai-catalog.json 返回 403 |
你的 nginx 配置屏蔽了所有以点开头的地址。请把 location ^~ /.well-known/ { try_files $uri $uri/ /index.php?$args; } 加到该规则之前。 |
| 在浏览器中打开该地址,或把它粘贴到聊天中,返回 405 | 这是正常现象。该地址不是网页:它只响应 MCP 请求。请把它作为连接器添加到助手中(见第 4 节)。 |
| 助手提示“too many requests” | 达到了速率限制。请在标签页上调高数值,或加入该平台公布的地址段。 |
| 价格是基础货币 | 这是正常现象。请让助手换算成其他货币(例如“用欧元”)。 |
| 防火墙或安全插件拦截了助手 | 对非浏览器请求放行 MCP 地址。claude.ai 和 ChatGPT 是从它们自己的服务器发起调用的。 |
| 结果与你在商店里看到的不一致 | 受密码保护的商品永远不会出现在 MCP 结果中。同时请确认你已退出登录:有些商品只对已登录用户可见。 |
9. 面向开发者
| 过滤器 | 用途 |
|---|---|
woof_mcp_filters |
修改提供给代理的筛选条件列表 |
woof_mcp_product_card |
修改搜索结果中的商品卡片 |
woof_mcp_product_details |
修改 husky_get_product 的返回内容 |
woof_mcp_product_is_public |
决定某个商品是否可以展示 |
woof_mcp_server_card |
修改 server card |
woof_mcp_llms_txt |
修改 llms.txt 段落 |
woof_mcp_default_ai_ranges |
修改默认的 AI 平台地址段 |
woof_mcp_client_ip |
在代理之后,告诉 HUSKY 调用方的真实 IP |
woof_mcp_respect_coming_soon |
在“Coming soon”模式下允许使用这些工具 |
在 WordPress 6.9 及更高版本上,同样的三个操作也注册在 WordPress Abilities API 中(husky/get-filter-schema、husky/search-products、husky/get-product),因此 WordPress MCP Adapter 也可以将它们对外提供。