Skip to main content
Glama
hanluOMH

Shopify Global Catalog MCP Adapter

by hanluOMH

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:

/sse

Register 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]"
pytest

Run locally

For a local command-line MCP client:

python -m shopify_global_catalog_mcp_adapter.server

For SSE HTTP mode:

MCP_TRANSPORT=sse PORT=8080 python -m shopify_global_catalog_mcp_adapter.server

Deploy to Cloud Run

Create a Cloud Run service from this directory using Buildpacks. Set the entrypoint to:

python -m shopify_global_catalog_mcp_adapter.server

Set environment variable:

MCP_TRANSPORT=sse

After deployment, use:

https://YOUR-CLOUD-RUN-DOMAIN/sse

in XiaoYi's MCP plugin configuration. The plugin should then load the search_catalog tool.

Available Tools

1 tool
search_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
countryNoUS
currencyNoUSD
languageNoen
availableNo
max_priceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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. 1 tool updatev0.1.0
    • First observedsearch_catalog

TDQS

A3.9/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools. The search_catalog tool has a clear, singular purpose.

Naming Consistency5/5

With a single tool, the naming follows a consistent and predictable verb_noun pattern (search_catalog). No conflicting conventions exist.

Tool Count2/5

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.

Completeness4/5

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

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A 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.
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    A comprehensive MCP server for Shopify Admin API integration, enabling AI assistants to manage products, orders, customers, inventory, analytics, and more through natural language.
    8 npm
    18
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Production-grade MCP server for the Shopify Admin GraphQL API, exposing typed tools for AI agents to manage products, orders, customers, and more.
    12 npm
    MIT