Hi Shopify team,
I’m testing Storefront MCP on a single store endpoint and seeing that search_catalog appears to ignore category and price filters.
Context:
tools/listshowssearch_catalogis available.- This appears to replace/ supersede
search_shop_catalogfor this storefront MCP server.
What I tested:
- Baseline query:
- query: “iphone”
- Returns mixed categories, e.g.:
- gid://shopify/TaxonomyCategory/el-4-8-5 (Mobile & Smart Phones)
- gid://shopify/TaxonomyCategory/el-7-11-5 (Screen Protectors)
- gid://shopify/TaxonomyCategory/na
- Category filter with query:
- query: “iphone”
- filters.categories: [“gid://shopify/TaxonomyCategory/el-4-8-5”]
- Expected: only smartphone category results.
- Actual: same mixed-category result profile as baseline.
- Different category filter with query:
- query: “iphone”
- filters.categories: [“gid://shopify/TaxonomyCategory/el-7-11-5”]
- Expected: screen protectors only.
- Actual: same mixed-category profile as baseline.
- Filter-only browse:
- filters.categories: [“gid://shopify/TaxonomyCategory/el-4-8-5”]
- Expected: smartphone browse set only.
- Actual: mixed unrelated categories (phones/laptops/tablets/na).
- Price filter:
- query: “iphone”
- filters.price.max: 500 with context.currency: “AUD”
- Expected: no iPhone products or only <= AUD 5.00 minor units if interpreted literally.
- Actual: normal high-priced iPhones returned (e.g., 54,900+ minor units).
- Price filter (high minimum):
- query: “iphone”
- filters.price.min: 200000 with context.currency: “AUD”
- Expected: no results or only >= AUD 2,000 products.
- Actual: normal low/medium priced results still returned.
- Combined category + price:
- query: “iphone”
- filters.categories: [“gid://shopify/TaxonomyCategory/el-4-8-5”]
- filters.price: { min: 70000, max: 95000 }
- context.currency: “AUD”
- Expected: constrained subset by both filters.
- Actual: non-matching categories and prices still present.
- Invalid category:
- filters.categories: [“gid://shopify/TaxonomyCategory/does-not-exist”]
- Expected: zero results or warning/error message.
- Actual: generic browse results returned; messages empty.
Summary:
search_catalogreturns products successfully.filters.categoriesandfilters.priceseem ignored in this storefront MCP implementation.- Responses do not include warning messages when filters are not applied.
Could you confirm whether this is a known issue, expected behavior for Storefront MCP currently, or a bug in this store/server implementation?
Thanks!