## Issue Description
The `category` filter in Shopify’s MCP `search_shop_catalog` tool appears to be ignored or not working correctly. We’ve tested multiple ID formats and combinations, but the filter doesn’t seem to filter products as expected.
## What We’ve Tried
### 1. Collection ID Formats
**Test 1: Full Collection GID**
```json
{
“filters”: [
{
“category”: {
“id”: “gid://shopify/Collection/294971834481”
}
}
]
}
```
**Result:** Returns 8 products, but includes products NOT in the collection (e.g., ASICS running shoes when filtering for “formal shoes” collection)
**Test 2: Collection ID Number Only**
```json
{
“filters”: [
{
“category”: {
“id”: “294971834481”
}
}
]
}
```
**Result:** Returns 10 products (paginated), same as no filter - filter appears ignored
**Test 3: Collection as String (Invalid Format)**
```json
{
“filters”: [
{
“category”: “gid://shopify/Collection/294971834481”
}
]
}
```
**Result:** Error - “The property ‘#/filters/0/category’ of type string did not match the following type: object”
### 2. TaxonomyCategory ID Formats
**Test 4: Extracted TaxonomyCategory ID**
```json
{
“filters”: [
{
“category”: {
“id”: “aa-8-10”
}
}
]
}
```
**Result:** Returns 20 products (should be 6), same as no filter - filter appears ignored
**Test 5: Full TaxonomyCategory GID**
```json
{
“filters”: [
{
“category”: {
“id”: “gid://shopify/TaxonomyCategory/aa-8-10”
}
}
]
}
```
**Result:** Returns 20 products (should be 6), same as no filter - filter appears ignored
## Key Findings
1. **Filter Schema:** The tool schema shows `category` filter exists and expects `{“category”: {“id”: “string”}}` format
2. **Filter Ignored:** When query is empty, category filter appears to be completely ignored - returns same products as no filter
3. **Collection vs TaxonomyCategory:** Both Collection IDs and TaxonomyCategory IDs don’t work reliably
4. **Available Filters:** The `available_filters` response from MCP only includes “Availability” and “Price” - no category filters are returned
## Expected Behavior
When filtering by category, we expect:
- Products filtered to only those in the specified category/collection
- Consistent results regardless of query parameter
- Category filters to appear in `available_filters` response
## Actual Behavior
- Category filter is ignored when query is empty
- Category filter may have partial effect with query, but results are incorrect
- No category filters appear in `available_filters`
- Different ID formats return different (incorrect) results
Environment
- Shopify Storefront MCP endpoint: `https://{shop}.myshopify.com/api/mcp`
- Tool: `search_shop_catalog`
- Collection ID tested: `294971834481` (should contain 8 “formal shoes” products)
- TaxonomyCategory ID tested: `aa-8-10` (should contain 6 products)
## Questions
1. What is the correct format for category filter IDs?
2. Should Collections use a different filter type than TaxonomyCategory?
3. Why doesn’t the category filter work with empty queries?
4. Should category filters appear in `available_filters` response?
5. Is there a way to filter by Collection ID directly?