shopmcp
Provides a scaffold preset for PrestaShop stores, generating adapter and cart hand-off configuration so the MCP server can expose catalog tools and cart link creation for a PrestaShop store.
Provides a scaffold preset for Shopify stores, generating adapter and cart hand-off configuration so the MCP server can expose catalog tools (search, details, categories, promotions, etc.) and cart link creation for a Shopify store.
Provides a ready-made WooCommerce adapter based on a snapshot of the keyless Store API, plus a scaffold preset, enabling product search, details, categories, promotions, and cart link hand-off for WooCommerce stores.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
shopmcp
English · Русский
A framework for MCP servers of online stores: a store needs only a TOML config and, if its data source is not a YML feed, an adapter.
Features
Config-driven. One
store.tomldescribes the store, its limits, cart hand-off, auth and texts;shopmcp scaffoldgenerates it.Capability-driven tool set. A tool exists only if the adapter declares the matching capability (search, details, barcode, analogs, categories, promotions, pickup points, orders).
Cart hand-off, not checkout. The agent builds a list; the server returns a link (or product page links) and the customer pays on the store site.
Hybrid access. Catalog tools are public; personal tools sit behind OAuth 2.1 as a resource server with a per-tool scope (docs/en/auth.md).
Bilingual model-facing texts.
locale = "ru" | "en"plus per-store overrides in[texts].Conformance suite.
shopmcp checkruns checks C1-C15 against a local build or a live URL.
Related MCP server: UCP MCP Storefront
Stack
Part | Version |
Python | >= 3.12 |
MCP Python SDK ( | 2.3.0 (pinned) |
PyJWT ( | >= 2.10 |
snowballstemmer | >= 3 |
Package manager / build | uv, hatchling |
Dev tools | pytest >= 8, ruff >= 0.6 |
Ready-made adapters: yml (a YML / Yandex Market Language or Google Merchant feed, indexed into SQLite) and woocommerce (a snapshot of the keyless Store API). The bitrix, insales and http_json adapters are stubs. See docs/en/adapters.md.
Store engines
shopmcp scaffold <id> --site URL detects the engine of the store with a few GET requests (or takes --engine) and writes a ready [adapter] and [cart] for it. Ten engines have presets: Shopify, WooCommerce, Ecwid, 1C-Bitrix, PrestaShop, OpenCart, Magento 2, Tilda, InSales and Shop-Script. For InSales and Shop-Script the cart is product page links for now; their form_post cart (a trampoline page on the server that POSTs the lines to the store) is BETA and is written commented out: it is checked in Chromium on a local Shop-Script stand, not in Safari, not on a real HTTPS store and not on a live InSales. Host the server on a subdomain of the store; shopmcp check warns or fails when the cart could be replaced. The table, what to fill in by hand and how detection works: docs/en/engines.md.
Quick start
uv sync
uv run shopmcp check stores/demo/store.toml # conformance run of the demo store
uv run shopmcp serve stores/demo/store.toml # MCP endpoint: http://localhost:8000/mcpDocker: docker compose up -d --build. Step-by-step with real output: docs/en/quickstart.md.
Commands
Command | Purpose |
| Run the MCP server over HTTP |
| Build the search index once and exit; prints the adapter health as JSON |
| Conformance checks, local or against a live endpoint |
| Create |
Tools
Names are <prefix>_<suffix>. The demo store (prefix demo) exposes 8 of them:
Suffix | Requires capability | Access |
|
| public |
|
| public |
|
| public |
|
| public |
|
| public |
|
| public |
|
| public |
|
| public |
|
| scope |
| none, always present | public |
The yml adapter declares search, details, barcode, analogs, categories and promotions; with it a store gets store_info plus the six matching tools and cart_link_create.
Documentation
Document | Contents |
Run the demo store locally and in Docker; add your own store | |
| |
Ten supported engines: catalog, cart, status; detection; what to fill in | |
Adapter contract, capabilities, writing an adapter, the | |
Checks C1-C15, running against a live URL | |
Hybrid access, OAuth resource server, per-tool scope | |
Why the framework looks the way it does |
Project layout
src/shopmcp/
cli.py serve | index | check | scaffold
config.py store.toml -> ${ENV} -> pydantic models
i18n.py ru/en texts and [texts] overrides
capabilities.py capability enum
adapters/ base contract, registry, yml (YML + Google Merchant), woocommerce, bitrix / insales / http_json (stubs)
tools/ tool definitions
cart/ hand-off strategies
engines.py presets of the ten engines for scaffold
detect.py engine detection by GET (scaffold)
server/ ASGI app, auth, rate limit, instructions
conformance/ checks C1-C15 and the runner
templates/ store.toml template for scaffold
stores/demo/ demo store: store.toml + feed.xml
tests/ pytest suite
Dockerfile, compose.yamlTests
uv run pytest
uv run ruff checkTests marked online need network access to a remote source and are not meant for CI.
License
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP for e-commerce: live product catalog, stock, and pricing for AI agents.
Connect AI assistants to your Webanto workspace to review products and copy proposals, explore SEO and imported Search Console opportunities, and search organization knowledge. Inspect workspace capabilities, connection health, usage, and supported operations. Access requires OAuth or a scoped Webanto API key and follows the authorized organization, permissions, and scopes. With separate consent for the applicable paid AI operation, create a product copy proposal and track its job for review; this workflow does not publish changes to your store. A Webanto account and the relevant connected services or uploaded knowledge are required. Paid AI operations require the applicable subscription and available credits. Authentication is required for MCP discovery; an anonymous HTTP 401 is an access challenge, not evidence of a service outage. Official connector repository: https://github.com/empline/webanto-mcp. Support: support@webanto.com.
Shopify store analysis and product-catalog extraction as agent tools.
Merchant product catalogs for AI agents: price, availability, specs, variants, buy links. Read-only.
Related MCP Servers
- AlicenseDqualityDmaintenanceEnables natural-language control of e-commerce operations including product management, order processing, inventory tracking, customer service, content generation, and advertising analytics through 15 integrated MCP tools. Provides a local-first commerce automation solution with SQLite storage and extensible channel adapters for end-to-end online store workflows.153MIT
- AlicenseAqualityDmaintenanceA UCP-compliant MCP storefront server that exposes product catalog operations (search, cart, checkout) as MCP tools, following UCP schema version 2026-04-08.5MIT
- AlicenseAqualityBmaintenanceMCP server for the Yandex KIT e-commerce API, built with the official Model Context Protocol SDK. It exposes 61 tools over stdio to manage catalog, orders, discounts, and webhooks.963MIT
- AlicenseAqualityBmaintenanceEnables an LLM agent to query a Shopify store's catalogue and stock via MCP, with tools for product search, product details, per-location inventory, and low-stock reports.4MIT