Saleor
Headless GraphQL commerce API; the Builder hosts a read-only MCP for products, orders, and customers.
API-only commerce core written in Python. Everything (catalog, channels, checkout, orders, promotions) is driven through one GraphQL API; there is no bundled storefront. Saleor publishes saleor-mcp, hosted at mcp.saleor.app, which lets an agent read products, orders, and customers but runs no mutations.
Alternative to Shopify, commercetools
- I want a commerce backend I can talk to only through GraphQL, and I will build or pull my own storefront
- my agent needs to read catalog and order data from a Saleor Cloud store without being able to change anything
- No storefront in this repo; saleor/storefront is a separate Next.js project
- The hosted MCP at mcp.saleor.app only connects to *.saleor.cloud instances; self-hosters run saleor-mcp themselves
- The MCP is read-only and needs a token with MANAGE_PRODUCTS and MANAGE_ORDERS
Last activity Sep 2, 2026. Fit: adaptable 2, operable 2.
Editions
Saleor OSS · Free open source
- Clone
git clone https://github.com/saleor/saleor - ImageContainer
Saleor Cloud Sandbox · Free closed source
- HostedOpen the hosted app
Saleor Cloud Select · $1,599 per month closed source
- HostedOpen the hosted app
Saleor Cloud Volume · $3,999 per month closed source
- HostedOpen the hosted app
Adaptable: what is yours to change
Make it yours
Light edit8 things to edit
Run the core from Docker with .env; the named env vars cover secrets, database/cache/broker URLs, email, and the dashboard origin. Store behavior (channels, pricing, shipping) is configured through the API or dashboard, not files. Adapting to a real shop also means pulling or building a separate storefront, which is why this is not config-only.
- Env vars
SECRET_KEYCACHE_URLCELERY_BROKER_URLDASHBOARD_URLDEFAULT_FROM_EMAILEMAIL_URLHTTP_IP_FILTER_ALLOW_LOOPBACK_IPS- Config files
.env- Prompt files
- none
- Accounts you need
- Saleor Cloud (hosted editions only)
Source
- github.com/saleor/saleor
- BSD-3-Clause license
- Last commit Sep 2, 2026
- 23,287 stars
Operable: what an agent can drive
Interface
OfficialMCP serverpublished by the builderremote or local
How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.
- Docs
- mcp.saleor.app/
Reach
Partial coverage. 3 of 9 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Read products and catalog | Reachable | saleor-mcp README: fetch data about products; token needs MANAGE_PRODUCTS |
| Read orders | Reachable | saleor-mcp README: fetch data about orders; token needs MANAGE_ORDERS |
| Read customers | Reachable | saleor-mcp README: fetch data about customers |
| Create and update products | Not reachable | saleor-mcp README: 'The MCP is read-only - it doesn't trigger any mutations'; use the GraphQL API |
| Fulfil, cancel, or refund orders | Not reachable | read-only MCP; GraphQL mutations only |
| Run a checkout | Not reachable | read-only MCP; checkout mutations live in the GraphQL API |
| Manage promotions and vouchers | Not reachable | read-only MCP |
| Configure channels, warehouses, shipping | Not reachable | read-only MCP |
| Install apps and webhooks | Not reachable | read-only MCP |
Code stack
- Languages
- Python
- Frameworks
- DjangoGraphQL (Ariadne)
- Package manager
- –
- Database
- PostgreSQL
- Hosting target
- DockerSaleor Cloud
- Built
- Human-written (recorded, never ranked)
Skills
Repo tooling for Saleor contributors: Django migrations, GraphQL API changes, commits, PR checklist.
- Kind
- contributor
- Paths
.claude/skills/*/SKILL.md
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: 'Headless and API only - APIs are the only way to interact' | 95% |
| executionModel | no model dependency in the core; deterministic commerce engine | 95% |
| operability | saleor/saleor-mcp under the same GitHub org, hosted at mcp.saleor.app | 95% |
| effort | .env.example names 7 vars; storefront must be added separately | 70% |
| editions | saleor.io/pricing: OSS free, Sandbox free non-commercial, Select $1,599/mo, Volume $3,999/mo, Enterprise custom | 85% |
| active | pushedAt 2026-09-02; saleor-mcp pushed 2026-09-01 | – |
| reach | 85% |
Open questions
- Which Saleor Cloud plans include MCP access
- Exact tool names exposed by saleor-mcp (README describes scope, not names)
Sources
- github.com/saleor/saleor sourcing:ecommerce:github
- github.com/saleor/saleor-mcp sourcing:ecommerce:github
- saleor.io/pricing analysis