HUSKY - WooCommerce Product Filter Professional

MCP 服务器:让顾客通过 Claude 和 ChatGPT 搜索你的商店

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. 开启

  1. 打开 HUSKY 设置,进入 MCP Server 标签页。
  2. 将 Enable MCP server 设为 Yes。
  3. 点击 Save changes。保存之前,该地址不会响应。

此时标签页会显示 Your MCP server address,旁边有一个 Copy 按钮。

HUSKY 设置中的 MCP Server 标签页

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)

  1. 打开 Customize → Connectors(claude.ai/customize/connectors)。
  2. 点击 Add custom connector 并粘贴地址。
  3. OAuth 字段留空,点击 Add。

在聊天中,从工具菜单里打开该连接器,然后提问,例如:“帮我找 42 码、150 欧元以内的红色运动鞋。”

ChatGPT

  1. 打开 chatgpt.com/plugins,点击 +,选择 Add custom MCP server。
  2. 输入名称,把地址粘贴到 Server URL,并选择 No authentication。
  3. 确认后选择 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 也可以将它们对外提供。