Shopify Global Catalog MCP Adapter
Allows searching Shopify's global catalog via the search_catalog tool, using Shopify's Streamable HTTP MCP API with the required UCP agent profile.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Shopify Global Catalog MCP AdapterSearch the catalog for wireless headphones under $100"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Shopify Global Catalog MCP Adapter
This Python service exposes a legacy SSE MCP endpoint that XiaoYi can register as a plugin. It translates the search_catalog call into Shopify's Streamable HTTP MCP request and always supplies Shopify's required UCP agent profile.
MCP endpoint
When deployed with MCP_TRANSPORT=sse, the MCP SDK exposes its legacy SSE endpoint at:
/sseRegister that full URL in XiaoYi, not Shopify's original endpoint.
Related MCP server: Clind MCP Server
Local setup
cd /Users/hanlufeng/Desktop/AI-INSIGHT-REPORT/Ceilia/shopify-global-catalog-mcp-adapter
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
pytestRun locally
For a local command-line MCP client:
python -m shopify_global_catalog_mcp_adapter.serverFor SSE HTTP mode:
MCP_TRANSPORT=sse PORT=8080 python -m shopify_global_catalog_mcp_adapter.serverDeploy to Cloud Run
Create a Cloud Run service from this directory using Buildpacks. Set the entrypoint to:
python -m shopify_global_catalog_mcp_adapter.serverSet environment variable:
MCP_TRANSPORT=sseAfter deployment, use:
https://YOUR-CLOUD-RUN-DOMAIN/ssein XiaoYi's MCP plugin configuration. The plugin should then load the search_catalog tool.
Available Tools
1 toolsearch_catalogA
Search products across Shopify's global catalog.
Args: query: Product or category to find, for example "coffee mug". country: Two-letter shipping destination country, for example "US". currency: ISO 4217 currency code, for example "USD". language: BCP 47 language code, for example "en" or "zh-CN". limit: Number of products to return, from 1 to 20. max_price: Maximum price in minor currency units, for example 5000 for USD 50.00. Use 0 for no maximum. available: Whether results must be currently available for sale.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| country | No | US | |
| currency | No | USD | |
| language | No | en | |
| available | No | ||
| max_price | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not mention side effects, read-only nature, authentication, rate limits, or any limitations. It only explains parameter semantics, which does not satisfy the need for behavioral transparency.
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 well-structured, front-loads the purpose, and uses a clean docstring format. Every sentence adds value, with no redundant or vague statements.
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?
An output schema exists, so return values need not be described. However, the description lacks behavioral context (e.g., pagination, result ordering) and any prerequisites. For a search tool, this is a minor gap, but the overall completeness is good.
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 description provides rich detail for every parameter, including concrete examples and unit explanations (e.g., max_price in minor currency units, language as BCP 47). Since schema coverage is 0%, this completely compensates for the lack of schema descriptions, giving the agent clear invocation guidance.
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 opens with a specific verb 'Search' and resource 'products' across 'Shopify's global catalog', clearly defining the tool's function. It is unambiguous and distinct even without sibling tools.
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?
There are no sibling tools, so no differentiation is required. However, the description provides no explicit guidance on when to use this tool (e.g., 'use this for searching products') or when not to use it. It focuses entirely on parameter details, leaving usage context to be inferred.
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.
1 tool update
v0.1.0- First observed
search_catalog
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion between tools. The search_catalog tool has a clear, singular purpose.
With a single tool, the naming follows a consistent and predictable verb_noun pattern (search_catalog). No conflicting conventions exist.
The server exposes only one tool, which feels too few for an 'adapter' covering a global catalog. A search-only tool may be useful but the surface is extremely thin and lacks supporting operations.
For a search-oriented endpoint, the tool covers core search needs with filters for country, currency, language, price, and availability. However, it lacks product detail retrieval or other catalog operations, making it slightly incomplete relative to the server's broader adapter naming.
Maintenance
Related MCP Connectors
Hosted MCP for e-commerce: live product catalog, stock, and pricing for AI agents.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceThis MCP server connects clients with Shopify store data, enabling retrieval of product and customer information via exposed tools.6MIT
- FlicenseNot gradedqualityNot gradedmaintenanceA Shopify-focused MCP server that enables AI agents to manage store operations like order tracking, product discovery, and checkout link generation. It facilitates customer-facing interactions including shipping estimates and real-time inventory searches.-
- AlicenseNot gradedqualityFmaintenanceA comprehensive MCP server for Shopify Admin API integration, enabling AI assistants to manage products, orders, customers, inventory, analytics, and more through natural language.8 npm18MIT
- AlicenseNot gradedqualityDmaintenanceProduction-grade MCP server for the Shopify Admin GraphQL API, exposing typed tools for AI agents to manage products, orders, customers, and more.12 npmMIT