Neonjelly
What this MCP does
Analyzes Shopify stores, products, apps, traffic, competitors, catalog changes, market cohorts and outreach contacts across a large store dataset.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Assortment rows. Max 50.'}, 'since': {'type': 'string', 'description': 'Inclusive start date YYYY-MM-DD. Example: 2026-08-01'}, 'productType': {'type': 'string', 'description': 'Shopify product type. Example: T-Shirt or Hoodie'}, 'storeDomain': {'type': 'string', 'description': 'Limit to one merchant hostname. Example: gymshark.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'vertical': {'type': 'string', 'description': 'Catalog vertical. Example: Skincare, Apparel, Fashion'}, 'minVisits': {'type': 'number', 'description': 'Minimum monthly visits. Example: 10000'}, 'countryCode': {'type': 'string', 'description': 'ISO-3166 alpha-2 country filter, not a login region. Example: US, GB, IN'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 80, 'minimum': 1, 'description': 'SKU rows. Max 80.'}, 'since': {'type': 'string', 'description': 'Inclusive start date YYYY-MM-DD. Example: 2026-08-01'}, 'domain': {'type': 'string', 'description': 'Optional store hostname without protocol. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'groupBy': {'enum': ['country', 'vertical', 'industry', 'category'], 'type': 'string', 'description': 'Roll rows into a breakdown table instead of store cards.'}, 'category': {'type': 'string', 'description': 'Store category label from the catalog.'}, 'vertical': {'type': 'string', 'description': 'Catalog vertical. Example: Skincare, Apparel, Fashion'}, 'minVisits': {'type': 'number', 'description': 'Minimum monthly visits. Example: 10000'}, 'countryCode': {'type': 'string', 'description': 'ISO-3166 alpha-2 country filter, not a login region. Example: US, GB, IN'}, 'groupMetric': {'enum': ['mean', 'median', 'max', 'min'], 'type': 'string', 'description': 'How to aggregate visits/revenue when groupBy is set.'}, 'isDropshipper': {'type': 'boolean', 'description': 'If true, only stores the catalog flags as dropship.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domains'], 'properties': {'domains': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 8, 'minItems': 2, 'description': '2â\x80\x938 store hostnames. Example: ["gymshark.com","allbirds.com"]'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domains'], 'properties': {'domains': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 8, 'minItems': 2, 'description': '2â\x80\x938 store hostnames. Example: ["gymshark.com","allbirds.com"]'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'since': {'type': 'string', 'description': 'Inclusive start date YYYY-MM-DD. Example: 2026-08-01'}, 'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}, 'autoTrack': {'enum': ['bestsellers', 'none'], 'type': 'string', 'description': 'Signals auto-track mode. bestsellers watches top SKUs; none is the card only.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Max stores to hydrate. Caps at 10 â\x80\x94 each costs a catalog call.'}, 'appSlug': {'type': 'string', 'description': 'Shopify app slug. Example: klaviyo-email-marketing'}, 'vertical': {'type': 'string', 'description': 'Catalog vertical. Example: Skincare, Apparel, Fashion'}, 'minVisits': {'type': 'number', 'description': 'Minimum monthly visits. Example: 10000'}, 'countryCode': {'type': 'string', 'description': 'ISO-3166 alpha-2 country filter, not a login region. Example: US, GB, IN'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 2, 'description': 'How many peer stores to return. Default 8, max 25.'}, 'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': 'Shopify App Store slug. Example: klaviyo-email-marketing'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': 'Shopify App Store slug. Example: klaviyo-email-marketing'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many rows. Pair with limit to page.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'since': {'type': 'string', 'description': 'Inclusive start date YYYY-MM-DD. Example: 2026-08-01'}, 'domain': {'type': 'string', 'description': 'Optional store hostname without protocol. Example: gruntstyle.com'}, 'entity': {'enum': ['product', 'store'], 'type': 'string', 'description': 'Limit the unified change feed to products or stores.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Optional free-text query. Example: hoodie or gymshark'}, 'domain': {'type': 'string', 'description': 'Optional store hostname without protocol. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'vertical': {'type': 'string', 'description': 'Catalog vertical. Example: Skincare, Apparel, Fashion'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'since': {'type': 'string', 'description': 'Inclusive start date YYYY-MM-DD. Example: 2026-08-01'}, 'metric': {'enum': ['visits', 'revenue', 'any'], 'type': 'string', 'description': 'Mover metric. Default any.'}, 'minPct': {'type': 'number', 'description': 'Minimum percent move for movers. Default 5.'}, 'vertical': {'type': 'string', 'description': 'Catalog vertical. Example: Skincare, Apparel, Fashion'}, 'direction': {'enum': ['up', 'down', 'any'], 'type': 'string', 'description': 'Mover direction. Default any.'}, 'countryCode': {'type': 'string', 'description': 'ISO-3166 alpha-2 country filter, not a login region. Example: US, GB, IN'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain', 'handle'], 'properties': {'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}, 'handle': {'type': 'string', 'minLength': 1, 'description': 'Shopify product handle from the PDP URL. Example: classic-hoodie'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'since': {'type': 'string', 'description': 'Inclusive start date YYYY-MM-DD. Example: 2026-08-01'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many rows. Pair with limit to page.'}, 'changeType': {'enum': ['price_increase', 'price_decrease', 'new_product', 'removed_product', 'position_up', 'position_down', 'best_seller_entered', 'best_seller_exited'], 'type': 'string', 'description': 'One SKU movement type.'}, 'productType': {'type': 'string', 'description': 'Shopify product type. Example: T-Shirt or Hoodie'}, 'storeDomain': {'type': 'string', 'description': 'Limit to one merchant hostname. Example: gymshark.com'}, 'minPriceChangePct': {'type': 'number', 'description': 'Minimum absolute price-change percent. Default 10.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Product-idea id from search_product_ideas or niche_research.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Signal Mongo id or a domain already on Signals. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Signal Mongo id or a domain already on Signals. Example: gruntstyle.com'}, 'days': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Lookback window in days for ad slices. Max 365.'}, 'slice': {'enum': ['overview', 'ads', 'correlation', 'revenue', 'product-impact', 'timeline', 'events'], 'type': 'string', 'description': 'Ad library slice. Default overview.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Signal Mongo id or a domain already on Signals. Example: gruntstyle.com'}, 'changes': {'type': 'boolean', 'description': 'If true, return app change history instead of the current stack.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Signal Mongo id or a domain already on Signals. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Signal Mongo id or a domain already on Signals. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Signal Mongo id or a domain already on Signals. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Signal Mongo id or a domain already on Signals. Example: gruntstyle.com'}, 'to': {'type': 'string', 'description': 'Inclusive end date YYYY-MM-DD.'}, 'from': {'type': 'string', 'description': 'Inclusive start date YYYY-MM-DD.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Signal Mongo id or a domain already on Signals. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Signal Mongo id or a domain already on Signals. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'since': {'type': 'string', 'description': 'Inclusive start date YYYY-MM-DD. Example: 2026-08-01'}, 'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many rows. Pair with limit to page.'}, 'changeType': {'enum': ['revenue_change', 'visits_change', 'products_change', 'rating_change', 'apps_change'], 'type': 'string', 'description': 'One store observation-diff type.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'limit': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Daily snapshot days. Max 365.'}, 'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'q': {'type': 'string', 'description': 'Optional free-text query. Example: hoodie or gymshark'}, 'tag': {'type': 'string', 'description': 'Shopify product tag.'}, 'sort': {'enum': ['price', 'position', 'scraped'], 'type': 'string', 'description': 'SKU sort: price, merchandising position, or last scrape.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'order': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction. Default desc.'}, 'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many rows. Pair with limit to page.'}, 'vendor': {'type': 'string', 'description': 'Product vendor / supplier name as listed on the storefront.'}, 'priceMax': {'type': 'number', 'description': 'Maximum listed price in store currency.'}, 'priceMin': {'type': 'number', 'description': 'Minimum listed price in store currency.'}, 'productType': {'type': 'string', 'description': 'Shopify product type. Example: T-Shirt or Hoodie'}, 'isBestSeller': {'type': 'boolean', 'description': 'If true, only SKUs currently flagged as bestsellers.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'limit': {'type': 'integer', 'maximum': 120, 'minimum': 1, 'description': 'Monthly traffic points. Max 120.'}, 'domain': {'type': 'string', 'minLength': 1, 'description': 'Store hostname without protocol. Example: gruntstyle.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'countryCode': {'type': 'string', 'description': 'ISO-3166 alpha-2 country filter, not a login region. Example: US, GB, IN'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Product-idea id from search_product_ideas or niche_research.'}, 'page': {'type': 'integer', 'minimum': 1, 'description': '1-based page. Default 1.'}, 'sort': {'enum': ['traffic', 'price'], 'type': 'string', 'description': 'Seller list sort: store traffic or SKU price.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Sellers to return. Max 100.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many rows. Pair with limit to page.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many rows. Pair with limit to page.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'minLength': 2, 'description': 'Product name or category, not a domain. Example: neck fan or yoga mat'}, 'limit': {'type': 'integer', 'maximum': 40, 'minimum': 1, 'description': 'Product ideas to return. Max 40.'}, 'market': {'enum': ['UNTAPPED', 'LOW COMPETITION', 'COMPETITIVE', 'SATURATED'], 'type': 'string', 'description': 'Keep ideas with this saturation verdict only.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domainA', 'domainB'], 'properties': {'limit': {'type': 'integer', 'maximum': 80, 'minimum': 5, 'description': 'Shared-vendor rows to return. Min 5, max 80.'}, 'domainA': {'type': 'string', 'minLength': 1, 'description': 'First store hostname. Example: gymshark.com'}, 'domainB': {'type': 'string', 'minLength': 1, 'description': 'Second store hostname. Example: allbirds.com'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 60, 'minimum': 1, 'description': 'Change rows. Max 60.'}, 'since': {'type': 'string', 'description': 'Inclusive start date YYYY-MM-DD. Example: 2026-08-01'}, 'productType': {'type': 'string', 'description': 'Shopify product type. Example: T-Shirt or Hoodie'}, 'storeDomain': {'type': 'string', 'description': 'Limit to one merchant hostname. Example: gymshark.com'}, 'minPriceChangePct': {'type': 'number', 'description': 'Minimum absolute price-change percent. Default 10.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Optional free-text query. Example: hoodie or gymshark'}, 'domain': {'type': 'string', 'description': 'Optional store hostname without protocol. Example: gruntstyle.com'}, 'handle': {'type': 'string', 'description': 'Optional Shopify product handle. Example: classic-hoodie'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Optional free-text query. Example: hoodie or gymshark'}, 'tag': {'type': 'string', 'description': 'Shopify product tag.'}, 'sort': {'enum': ['price', 'position', 'scraped'], 'type': 'string', 'description': 'SKU sort: price, merchandising position, or last scrape.'}, 'limit': {'type': 'integer', 'maximum': 80, 'minimum': 1, 'description': 'SKU rows. Max 80.'}, 'order': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction. Default desc.'}, 'vendor': {'type': 'string', 'description': 'Product vendor / supplier name as listed on the storefront.'}, 'priceMax': {'type': 'number', 'description': 'Maximum listed price in store currency.'}, 'priceMin': {'type': 'number', 'description': 'Minimum listed price in store currency.'}, 'productType': {'type': 'string', 'description': 'Shopify product type. Example: T-Shirt or Hoodie'}, 'storeDomain': {'type': 'string', 'description': 'Limit to one merchant hostname. Example: gymshark.com'}, 'isBestSeller': {'type': 'boolean', 'description': 'If true, only SKUs currently flagged as bestsellers.'}, 'storeVertical': {'type': 'string', 'description': 'Vertical of the selling store. Example: Apparel'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'minLength': 1, 'description': 'Brand, product, or free-text query. Example: gymshark or neck fan'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'How many dropship-flagged stores to screen. Max 12.'}, 'priceMax': {'type': 'number', 'description': 'Maximum listed price in store currency.'}, 'vertical': {'type': 'string', 'description': 'Catalog vertical. Example: Skincare, Apparel, Fashion'}, 'minVisits': {'type': 'number', 'description': 'Minimum monthly visits. Example: 10000'}, 'countryCode': {'type': 'string', 'description': 'ISO-3166 alpha-2 country filter, not a login region. Example: US, GB, IN'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Optional free-text query. Example: hoodie or gymshark'}, 'sort': {'enum': ['rating', 'reviews', 'name'], 'type': 'string', 'description': 'App catalog sort. Default rating.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'order': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction. Default desc.'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many rows. Pair with limit to page.'}, 'category': {'type': 'string', 'description': 'Store category label from the catalog.'}, 'minRating': {'type': 'number', 'description': 'Minimum store or app rating 0â\x80\x935. Example: 4.2'}, 'pricingType': {'type': 'string', 'description': 'App Store pricing type filter. Example: free or subscription'}, 'builtForShopify': {'type': 'boolean', 'description': 'If true, only Built for Shopify apps.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'minLength': 2, 'description': 'Product name or category, not a domain. Example: neck fan or yoga mat'}, 'page': {'type': 'integer', 'minimum': 1, 'description': '1-based page. Default 1.'}, 'market': {'type': 'string', 'description': 'Comma verdicts: UNTAPPED,LOW COMPETITION,COMPETITIVE,SATURATED'}, 'region': {'type': 'string', 'description': 'Optional region label for product-idea search.'}, 'priceMax': {'type': 'number', 'description': 'Maximum listed price in store currency.'}, 'priceMin': {'type': 'number', 'description': 'Minimum listed price in store currency.'}, 'trending': {'type': 'boolean', 'description': 'If true, only ideas marked trending.'}, 'countries': {'type': 'string', 'description': 'ISO-2 country list, comma-separated. Example: US,GB,CA'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Optional free-text query. Example: hoodie or gymshark'}, 'tag': {'type': 'string', 'description': 'Shopify product tag.'}, 'sort': {'enum': ['price', 'position', 'scraped'], 'type': 'string', 'description': 'SKU sort: price, merchandising position, or last scrape.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'order': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction. Default desc.'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many rows. Pair with limit to page.'}, 'vendor': {'type': 'string', 'description': 'Product vendor / supplier name as listed on the storefront.'}, 'priceMax': {'type': 'number', 'description': 'Maximum listed price in store currency.'}, 'priceMin': {'type': 'number', 'description': 'Minimum listed price in store currency.'}, 'productType': {'type': 'string', 'description': 'Shopify product type. Example: T-Shirt or Hoodie'}, 'storeDomain': {'type': 'string', 'description': 'Limit to one merchant hostname. Example: gymshark.com'}, 'isBestSeller': {'type': 'boolean', 'description': 'If true, only SKUs currently flagged as bestsellers.'}, 'storeVertical': {'type': 'string', 'description': 'Vertical of the selling store. Example: Apparel'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Optional free-text query. Example: hoodie or gymshark'}, 'sort': {'enum': ['visits', 'revenue', 'rating', 'domain', 'stores'], 'type': 'string', 'description': 'Store list sort. Use stores when groupBy is set.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size. Default 20, max 100.'}, 'order': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction. Default desc.'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many rows. Pair with limit to page.'}, 'appSlug': {'type': 'string', 'description': 'Shopify app slug. Example: klaviyo-email-marketing'}, 'groupBy': {'enum': ['country', 'vertical', 'industry', 'category'], 'type': 'string', 'description': 'Roll rows into a breakdown table instead of store cards.'}, 'category': {'type': 'string', 'description': 'Store category label from the catalog.'}, 'groupBy2': {'enum': ['country', 'vertical', 'industry', 'category'], 'type': 'string', 'description': 'Second breakdown axis. Same values as groupBy. Example: country'}, 'industry': {'type': 'string', 'description': 'Store industry label from the catalog.'}, 'vertical': {'type': 'string', 'description': 'Catalog vertical. Example: Skincare, Apparel, Fashion'}, 'maxVisits': {'type': 'number', 'description': 'Maximum monthly visits. Example: 500000'}, 'minRating': {'type': 'number', 'description': 'Minimum store or app rating 0â\x80\x935. Example: 4.2'}, 'minVisits': {'type': 'number', 'description': 'Minimum monthly visits. Example: 10000'}, 'maxRevenue': {'type': 'number', 'description': 'Maximum modeled monthly revenue in USD. Example: 1000000'}, 'minRevenue': {'type': 'number', 'description': 'Minimum modeled monthly revenue in USD. Example: 50000'}, 'countryCode': {'type': 'string', 'description': 'ISO-3166 alpha-2 country filter, not a login region. Example: US, GB, IN'}, 'groupMetric': {'enum': ['mean', 'median', 'max', 'min'], 'type': 'string', 'description': 'How to aggregate visits/revenue when groupBy is set.'}, 'isDropshipper': {'type': 'boolean', 'description': 'If true, only stores the catalog flags as dropship.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Optional free-text query. Example: hoodie or gymshark'}, 'limit': {'type': 'integer', 'maximum': 80, 'minimum': 5, 'description': 'Vendor groups to return. Min 5, max 80.'}, 'vendor': {'type': 'string', 'description': 'Product vendor / supplier name as listed on the storefront.'}, 'priceMax': {'type': 'number', 'description': 'Maximum listed price in store currency.'}, 'productType': {'type': 'string', 'description': 'Shopify product type. Example: T-Shirt or Hoodie'}, 'storeVertical': {'type': 'string', 'description': 'Vertical of the selling store. Example: Apparel'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'minLength': 1, 'description': 'Brand, product, or free-text query. Example: gymshark or neck fan'}, 'limit': {'type': 'integer', 'maximum': 15, 'minimum': 1, 'description': 'Autocomplete rows. Max 15.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'since': {'type': 'string', 'description': 'Inclusive start date YYYY-MM-DD. Example: 2026-08-01'}, 'storeDomain': {'type': 'string', 'description': 'Limit to one merchant hostname. Example: gymshark.com'}, 'storeVertical': {'type': 'string', 'description': 'Vertical of the selling store. Example: Apparel'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string', 'description': 'Set when the call failed. Example: not_found'}, 'message': {'type': 'string', 'description': 'Human-readable error or hint'}}, 'description': 'JSON object this tool returns. Catalog tools wrap upstream rows; whoami/upgrade return quota fields.', 'additionalProperties': True}
Recent tool changes
Similar MCP servers
Ask AI
Answers questions about connected e-commerce data from Shopify, Klaviyo, GA4, Triple Whale, and other sources, covering sales, ma…
wildberries-agent-integration
Analyzes Wildberries seller sales, inventory, regional performance, competition, SEO, replenishment, weather relationships, and u…
AMZScout Skill + MCP
Provides Amazon product, niche, brand, keyword, sales, pricing, competition, and PPC research data.
signals
Provides paid competitive intelligence on ecommerce brands, including prices, promotions, links, competitors, stock history, and …
Shopify Change Intelligence
Monitors public Shopify stores for product, price, inventory, and competitive landscape changes.
Decision Intelligence
Analyzes supplied app reviews, advertising evidence, and US retail data to identify regressions, ad changes, pricing, availabilit…
KDP Niche Research
Researches Kindle publishing niches using demand, competition, ranking, revenue, pricing, and review metrics.
Eevy
Supports Shopify conversion-rate optimization through analytics, experimentation, content authoring, and lift measurement.