cross-shop
Search products on AliExpress via its Affiliate API (affiliate search only; no quote).
Search Amazon product listings via SerpApi, providing unverified leads without anonymous cart or quote support.
Search products, get product details, and request anonymous shipping quotes from BigCommerce storefronts.
Search products and get details with shipping via eBay Browse API; checkout APIs are restricted.
Search Google Shopping product listings via SerpApi, returning merchant leads to verify.
Search products and get details from Salesforce Commerce Cloud storefronts.
Search products, get details, and request shipping quotes from Shopify storefronts, including Shopify Global Catalog offers via shop.app.
Search products, get details, and request shipping quotes from Squarespace storefronts.
Search products and retrieve details from Wix storefronts; checkout quotes may require a browser.
Search products, get details, and request shipping quotes from WooCommerce stores.
Click on "Install 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., "@cross-shopsearch for bearings on example.com"
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.
cross-shop
cross-shop is a batch-first CLI and Python library for product search, product detail, and anonymous destination shipping quotes across public storefronts and marketplaces. Its default JSON output is compact for AI agents: store constants are hoisted, empty fields disappear, search results contain handles instead of refs, and image URLs remain in the run cache.
Run
From this directory:
uv run cross-shop search '[{"store":"https://example.com","query":"bearing"}]'
uv run cross-shop product '["r1.1.1"]'
uv run cross-shop quote '[{"store":"https://example.com","lines":[{"item":"r1.1.1.2","quantity":3}]}]'
uv run cross-shop images r1.1.1 1:3
uv run cross-shop config show
uv run pytestAfter installation, use the cross-shop console command. A source checkout runs the same command with uv run --project <path-to-this-directory> cross-shop … or uvx --from . cross-shop ….
Related MCP server: KaliCart Global
MCP
The stdio MCP server exposes search, product, quote, and images with the same compact results as the CLI. Search results use r<run>.<s>.<i>[.<v>] handles so callers can chain search → product → quote.
Register it with Claude Code:
claude mcp add cross-shop -- uv run --project <package-dir> cross-shop-mcpFor Pi, install pi-mcp-adapter (pi install npm:pi-mcp-adapter), then declare the server in any standard MCP config the adapter reads (project .mcp.json, ~/.config/mcp/mcp.json, or ~/.agents/mcp.json):
{
"mcpServers": {
"cross-shop": {
"command": "uv",
"args": ["run", "--project", "<package-dir>", "cross-shop-mcp"]
}
}
}Point every client at the same <package-dir> so one installation serves them all.
Commands
search <entries-json> [--limit 20] [--description-chars 300] [--redetect] [--debug]accepts 1–100{store,query}entries. Repeated stores share one session and detection and their products are deduplicated.product <items-json> [--description-chars 2000] [--redetect] [--debug]accepts 1–100 product URLs, run handles, or ref objects.quote <quotes-json> [--destination <json>] [--redetect] [--debug]accepts 1–20 stores with 1–20 lines each. One cart contains every line for a store entry.images <item-handle> [N|START:END]downloads at most ten cached product images and prints absolute paths.config set-destination <json>,config show, andconfig import-vendors <path>manage persistent configuration.config showreports whether credential blocks are configured without printing credential values or private-key paths.
Search and product write monotonic run IDs. r7.2.5 means item 5 from store 2 in run 7; r7.2.5.3 means its third variant. Handles expire seven days after creation even if garbage collection has not run. Product detail emits strict, self-contained durable refs such as {"platform":"shopify","store":"https://example.com","variant_id":"gid://shopify/ProductVariant/123"}. Product URLs with query strings or fragments are rejected because those components can carry product identity; use a durable ref instead.
Store workers run concurrently, up to five at a time. Operations for one store remain sequential in one isolated cookie jar. An unexpected adapter exception becomes an api_error for that store without aborting the other workers. Exit status is 1 when any entry has status:api_error.
Storefronts and marketplaces
Storefront adapters cover Shopify, WooCommerce, Magento GraphQL/HTML/guest REST, BigCommerce Stencil/Storefront REST, Squarespace, Wix, Ecwid, and Salesforce Commerce Cloud boundaries. Wix, Ecwid, and customized SFCC/OpenCart checkout remain explicit browser boundaries.
These pseudo-store origins use marketplace discovery without live platform detection:
Origin | Backend | Detail/quote boundary |
| Shopify Global Catalog UCP MCP | Detail preserves seller storefront/API domains and offer handoff links; quote a merchant offer |
| AliExpress Affiliate API | Affiliate search only; no quote |
| SerpApi Google Shopping | Unverified leads; quote the merchant |
| SerpApi Amazon | Unverified listings; no anonymous cart API |
| eBay Browse API | Detail includes shipping; checkout APIs are restricted-tier |
Google Shopping, Amazon, and AliExpress results are leads. Re-verify the exact merchant listing, variant, stock, and delivered price.
Data and settings
The default data directory comes from platformdirs.user_data_path("cross-shop"). Set CROSS_SHOP_DATA_DIR to override it. Runtime data never writes into the package tree.
settings.jsonstores destination and optional integrations.vendors.jsonis the atomic, lock-protected canonical-origin platform registry.run-counteris never reset; deleted runs cannot make old handles point at new data.runs/stores full seven-day result payloads, including refs and image URLs omitted from stdout.images/stores files downloaded byimages.
Destination precedence is --destination, then settings.json, then the built-in San Francisco address. country and postal_code are required; region, city, and address1 are optional.
Settings example:
{
"destination": {"country":"US","region":"CA","city":"San Francisco","address1":"747 Howard St","postal_code":"94103"},
"web_bot_auth": {"private_key_path":"/secure/private.pem","key_directory_url":"https://agent.example/keys.json"},
"ebay": {"client_id":"…","client_secret":"…"},
"shopify_global": {"profile_url":"https://agent.example/profile.json"}
}Credentials
SERPAPI_API_KEY: SerpApi Google Shopping and Amazon engines.ALIEXPRESS_APP_KEYandALIEXPRESS_APP_SECRET: AliExpress Affiliate Product Query.settings.ebay.client_idandsettings.ebay.client_secret: eBay Developers Program production Browse API keyset. Production access requires eBay marketplace account-deletion notification compliance.settings.shopify_global.profile_url: public UCP agent profile URL required by Shopify's currenthttps://catalog.shopify.com/api/ucp/mcpGlobal Catalog contract.
Missing marketplace credentials produce a structured setup error only when that marketplace is requested.
Web Bot Auth
Shopify product URLs resolve through the public Ajax product endpoint; durable variant refs resolve through Storefront GraphQL. Unsigned Shopify HTTP is the default and normal public-tool behavior. settings.web_bot_auth opts into Ed25519 HTTP Message Signatures. The signer validates the key type and JWK thumbprint, creates fresh nonce and expiry material for every request, refuses pre-signed requests, and signs redirects only after the Shopify adapter verifies the same HTTPS authority and API path. A configured but missing or unreadable key is an api_error naming its path; the tool never silently falls back to unsigned traffic.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server that wraps Shopify, Amazon, and Google Maps intelligence tools. AI agents pay autonomously in USDC on Base via x402 — no API keys or accounts needed.62MIT
- Flicense-qualityCmaintenanceFederated commerce search MCP server enabling AI agents to query real product offers, prices, and availability across independent WooCommerce stores without API keys or registration.

BizNetAI MCP Serverofficial
Alicense-qualityBmaintenanceA hosted MCP server that routes natural-language shopping queries to independent merchant storefronts, returning normalized product and merchant results for AI agents and shopping assistants.MIT- Alicense-qualityCmaintenanceRemote MCP server with 19 e-commerce and IP-compliance data tools — Amazon product/review/search/niche/bestseller data, AI SERP & keyword trends, local Maps POI, WIPO trademark search, and PACER patent litigation. No scraping code or proxies needed; one API key unlocks all tools.1MIT
Related MCP Connectors
Federated commerce search across independent WooCommerce merchants. Keyless, read-only MCP server.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ahalekelly/cross-shop'
If you have feedback or need assistance with the MCP directory API, please join our Discord server