Shopify Remote MCP Server
Server Details
The public product catalogue and collections of any Shopify storefront, as structured JSON.
- Status
- Healthy
- Uptime
- 97.3% over 41 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- HasData/shopify-mcp
- GitHub Stars
- 8
- Server Listing
- Shopify MCP Server
TDQS
Scored across 2 tools
The two tools target clearly different resources: collections versus products. Their descriptions also explain how they relate, with collection handles feeding into product queries, so an agent can easily choose the right one.
Both tool names follow the same predictable pattern: hasdata_shopify_{resource}_get{ResourcePlural}. The camelCase verb segment is consistent across the set.
Two tools are on the thin side for a server named Shopify Remote MCP Server. The set is well-scoped for public storefront collection and product listing, but it lacks the breadth implied by the server name.
The surface covers list operations for collections and products, but it lacks single-resource retrieval, direct lookup by handle or ID, search, and shop-level metadata. These are notable gaps, though agents can partially work around them via pagination and filtering.
Available Tools
2 toolshasdata_shopify_collections_getCollectionsshopify_collections: GET /ARead-onlyInspect
Get Shopify Store Collections
Lists collections from any public Shopify storefront URL with limit (up to 250) and page pagination. Returns each collection's id, title, handle, description, image, and timestamps. Use the returned handles as input to the Shopify Products endpoint to enumerate category-specific catalogs, or to map a competitor's merchandising taxonomy and track collection changes over time.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the Shopify store. For example, 'https://b2bdemoexperience.myshopify.com'. | |
| page | No | The page number of the results to retrieve. Must be a positive integer. | |
| limit | No | The maximum number of collections to retrieve. Must be between 1 and 250. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavioral context: public (non-authenticated) storefronts, limit up to 250, page-based pagination, and an enumeration of returned fields. It omits rate-limit and error/empty-result behavior, which keeps it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, then return shape, then usage routing — every sentence earns its place. The opening heading line 'Get Shopify Store Collections' is mild duplication of the title, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description's enumeration of returned fields (id, title, handle, description, image, timestamps) is important and present, as is pagination and limit behavior. Rate limits, auth assumptions, and failure modes are absent, but for a read-only listing tool with annotations the definition is nearly sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so url, page, and limit are already documented with examples and ranges. The description only clarifies that the storefront must be public, which is marginal added meaning. Baseline 3 applies when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Lists collections from any public Shopify storefront URL') and scopes the domain ('public storefront'). It explicitly names the sibling product endpoint as the downstream consumer of the handles it returns, so an agent can distinguish the two tools without reading either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete when-to-use context: enumerating category-specific catalogs via the Products endpoint, mapping a competitor's merchandising taxonomy, and tracking collection changes over time. It does not state when *not* to use this tool or what conditions would favor an alternative for the same task, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_shopify_products_getProductsshopify_products: GET /ARead-onlyInspect
Get Shopify Store Products
Pulls products from any public Shopify storefront URL, optionally filtered by a collection handle, with limit (up to 250) and page pagination. Returns product id, title, handle, vendor, product_type, tags, body_html, images, variants with prices/SKUs/inventory status, and timestamps. Use for competitive price monitoring, catalog mirroring, availability tracking, building product datasets for comparison shopping, or feeding structured SKU data into downstream analytics and dropshipping pipelines.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the Shopify store. For example, 'https://b2bdemoexperience.myshopify.com'. | |
| page | No | The page number of the results to retrieve. Must be a positive integer. | |
| limit | No | The maximum number of products to retrieve. Must be between 1 and 250. | |
| collection | No | The handle of the collection to filter the products. Provide the collection handle as a string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral detail beyond that: pagination, a limit cap of 250, and an itemized list of returned fields (variants with prices/SKUs/inventory status, timestamps), which matters because no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and scope, and each sentence contributes (scope, return shape, use cases). The scenario list is slightly long but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema, the description compensates well by describing the returned fields, pagination and limit cap, and by listing use cases. Nothing critical to correct invocation appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, page, limit and collection. The description reinforces limit (up to 250) and collection filtering but adds no syntax or format detail beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get/Pulls) and resource (Shopify Store Products) and clearly scopes it to 'any public Shopify storefront URL' with optional collection filtering. An agent can distinguish it from the sibling hasdata_shopify_collections_getCollections (products vs collections) without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence enumerates concrete scenarios (price monitoring, catalog mirroring, availability tracking, SKU datasets) that tell the agent when this tool is appropriate. It stops short of naming alternatives or exclusion conditions, so it is clear context without explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
hasdata_shopify_collections_getCollections - First observed
hasdata_shopify_products_getProducts
Publisher details
- Operator
- HasData · Publisher source
- Operator website
- https://hasdata.com · Publisher source
- Vendor relationship
- Independent · Publisher source
- Documentation
- https://docs.hasdata.com/mcp-server · Publisher source
- Trust center
- Not available
- Restrictions
- A free HasData account covers 1,000 credits a month with no card. Heavier use needs a paid plan. No admin approval, no regional limits and no custom OAuth app. · Publisher source
Related MCP Connectors
Extracts live product catalogs, pricing tiers, SKU variants, and stock availability from any Shop.
21Extracts live product catalogs, pricing tiers, SKU variants, and stock availability from any Shopi
21Prices, stock and variants of products on any public Shopify store, with change and margin checks.
Scrape Shopify store products, variants, prices and app store listings. Pay per row.
Related MCP Servers
- AlicenseAqualityBmaintenanceStructured product data from the open web — where platform APIs don't reach. Schema.org + AI extraction. Pay per call via Stripe MPP.241 npm3Apache 2.0
- AlicenseCqualityCmaintenanceEnables interaction with Shopify store data through GraphQL API, providing tools for managing products, customers, orders, blogs, and articles.151,208 npm4MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to query and interact with Shopify store data via the Storefront API, including products, collections, carts, and customer information.9-
- AlicenseNot gradedqualityCmaintenanceConnects Claude, ChatGPT, Cursor, or any MCP client to a Shopify store, enabling read-only access to themes, Liquid files, catalogue data, and store configuration through 122 tools.1Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.