Skip to main content
Glama
hanluOMH

Shopify Global Catalog MCP Adapter

by hanluOMH
README.md
# 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:

```text
/sse
```

Register that full URL in XiaoYi, not Shopify's original endpoint.

## Local setup

```bash
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:

```bash
python -m shopify_global_catalog_mcp_adapter.server
```

For SSE HTTP mode:

```bash
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:

```text
python -m shopify_global_catalog_mcp_adapter.server
```

Set environment variable:

```text
MCP_TRANSPORT=sse
```

After deployment, use:

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

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

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