Shopify Remote MCP Server
Server Details
The public product catalogue and collections of any Shopify storefront, as structured JSON.
- Status
- Healthy
- Uptime
- 96.0% over 21 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 are clearly separated by resource type: collections vs. products. No overlap in purpose or output, and the descriptions explicitly note how the handles from one feed into the other.
Both tools follow the same pattern: hasdata_shopify_<resource>_get<Resource>. The naming is uniform and predictable, making the tools easy to recognize and invoke.
With only 2 tools, the server is on the thin side, but the scope is narrow—public Shopify storefront data. Two tools adequately cover the basic collections/products surface, though the count feels minimal.
The tool pair covers the core catalog workflow: list collections, then list products filtered by collection handle. Pagination and limits are includedcourt. Minor gaps exist such as no direct product lookup by ID or search, but for the stated purpose of extracting public store catalogs, the surface is nearly complete.
Available Tools
2 toolshasdata_shopify_collections_getCollectionsshopify_collections: GET /AInspect
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, body_html 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?
With no annotations provided, the description carries the full burden and does well: it discloses the public-storefront scope, pagination behavior, limit cap of 250, and the specific returned fields. It doesn't mention rate limits or error behavior, but the core behavioral expectations are clear.
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?
The description is concise and front-loaded, stating the main function first and then adding return-detail and usage context. The closing sentence about tracking collection changes is slightly extra but still adds practical context.
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?
Given no output schema and no annotations, the description adequately compensates by explaining return fields, pagination, and the public URL requirement. It stops short of covering defaults or error scenarios, but the information needed to invoke the tool correctly is present.
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 baseline is 3. The description adds only marginal reinforcement by mentioning 'limit (up to 250) and page pagination,' which the schema already documents. It does not introduce new semantic details beyond the schema.
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 clearly states 'Lists collections from any public Shopify storefront URL' with a specific verb, resource, and scope. It also lists the returned fields and distinguishes collections from the sibling products endpoint by referring to it as a separate input consumer.
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 clear context: use this to fetch collection-level data from public Shopify stores and feed handles into the Shopify Products endpoint. It doesn't explicitly say when not to use it, but the workflow guidance makes the intended usage obvious.
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 /AInspect
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?
With no annotations, the description carries the full disclosure burden. It communicates that the tool is read-only ('Pulls'), applies only to public Shopify URLs, supports pagination and collection filtering, and enumerates the returned fields. It does not mention rate limits or error behavior, but those are secondary for a simple GET tool.
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?
The description is front-loaded with the core purpose, followed by return fields and use cases. The use-case list is somewhat verbose, but each sentence contributes useful information for tool selection. Overall it is structured and readable without unnecessary digressions.
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 product-fetching tool with no output schema, the description is sufficiently complete: it states the input URL, optional filters, pagination, and the full set of returned product fields. It lacks edge-case details like empty results or errors, but these are not essential for an agent to invoke the tool correctly.
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?
The input schema already covers all four parameters with detailed descriptions, so baseline is 3. The description adds minimal parameter nuance beyond the schema, such as 'up to 250' and 'page pagination', but these largely restate schema constraints rather than introducing new semantics.
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 ('Pulls') and resource ('products from any public Shopify storefront URL'), then adds filtering and pagination details. It is clearly distinct from the sibling collections tool by focusing on products rather than collections, with the collection treated only as an optional filter.
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 description provides explicit use cases: competitive price monitoring, catalog mirroring, availability tracking, and building product datasets. It does not mention when not to use the tool or name alternative tools, but the listed scenarios give clear context for an agent to decide when this tool applies.
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
Scrape Shopify store products, variants, prices and app store listings. Pay per row.
Shopify and eBay product scraper & extractor for fast market research. Pulls Shopify products.
Track price drops, stock-outs, restocks, and new/removed products across Shopify stores.
Scrape Shopify App Store apps, full review histories and catalog. E-commerce market research.
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
- AlicenseCqualityDmaintenanceEnables interaction with Shopify store data through GraphQL API, providing tools for managing products, customers, orders, blogs, and articles.152,033 npm4MIT
- FlicenseNot gradedqualityFmaintenanceEnables 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.