ehunt/shopify/productQuery)
When the LinkFox "Third-Party Data Service" MCP is available, the corresponding gateway route ehunt/shopify/productQuery is called (MCP display name:Shopify product search; the exact tool name is subject to the tool metadata issued in the current environment). Authentication and upstream routing are handled by the gateway; if the response contains a root-level code field, whether it succeeds is subject to the live network.
Key points
- Pagination:
pagestarts from 1;pageSizedefaults to 20, maximum 100 (recommended ≤50). - Range parameters:
*Min/*Maxappear in pairs and form the upstream range; when only one side is filled, the upstream is "start~" or "~end". - Sorting:
sortByis an integer enum (default14=weekly sales descending, and also includes multiple values such as price/number of ads/competition level/sales amount; seereferences/api.md)。 - Boolean filters:
facebookAd(1=has ads),hasSupplier(1=has source, 0=none),showDeleted(1=include delisted) are all integer switches. - Shipping country:
countrypass a two-letter country code (such asUS)。
Script (optional)
Command-line debugging:python scripts/ehunt_shopify_product_query.py '<JSON>'(requires LINKFOXAGENT_API_KEY). See references/api.md at the end.
Reference
For the input/output parameter table, see references/api.md。
Handling Large Responses
To avoid overflowing the agent context, persist the response to disk and extract only the fields you need:
python scripts/response_io.py run --script scripts/ehunt_shopify_product_query.py --out-dir <DIR> '<params>'
python scripts/response_io.py read <file> --fields "<paths>" # or --path "<JMESPath>"
Pick
--out-diroutside any git working tree (e.g./tmp/...on Unix,%TEMP%/...on Windows). Persisted responses may contain PII, pricing, or auth-sensitive data — do not commit them. Files are not auto-deleted; clean up when the task is done.
run writes the full response to a file and emits only a schema preview + file path. read projects specific fields, with --limit/--offset for slicing and --format json|jsonl|csv|table for output.
When to prefer this pattern — apply your judgment based on the response characteristics, e.g.:
- High field count per record, or fields you don't need
- Batch/paginated results (multiple items per call)
- Long-text fields (descriptions, reviews, HTML, time series)
- Output reused across later steps rather than consumed immediately
For small, single-use responses, calling the main script directly is fine.
⚠️ The preview is a truncated schema + sample, not the full data. Any field-level decision must read from the persisted file via read.