Back to MCP Servers

Saleor Commerce MCP Server

Official read-only MCP server for Saleor Commerce. Query products, stocks, warehouses, orders, customers, and channels via the Saleor GraphQL API.

Ecommerce by Saleor Commerce Bearer Token active
Overview

Saleor MCP is the official Model Context Protocol server maintained by Saleor Commerce, the open-source headless ecommerce platform. It exposes a read-only interface over the Saleor GraphQL API so AI assistants can fetch information about products, stock levels, warehouses, orders, customers, and sales channels without being able to mutate store data.

The server is built in Python (3.12+) using FastMCP and ships with a tools module for each domain (products, orders, customers, channels). Each tool maps to a paginated GraphQL query with optional filtering, sorting, and search arguments, returning structured results including page info and total counts. Authentication is per-request via the X-Saleor-Auth-Token and X-Saleor-API-URL headers, and the token must carry MANAGE_PRODUCTS and MANAGE_ORDERS permissions.

Saleor hosts a managed production instance at https://mcp.saleor.app/mcp that can be reached over Streamable HTTP and is compatible with Saleor 3.21+ instances on the saleor.cloud domain. Teams that need to point at self-hosted Saleor installations can clone the repo and run the server locally with uv. The MCP is intentionally read-only, making it safe to attach to agents for analytics, reporting, and customer-support lookups.

Tools

Tool Description
products Retrieve product information including ID, name, slug, pricing, and category from the Saleor GraphQL API. Channel-aware so pricing and availability reflect the selected channel.
stocks Retrieve stock information including quantity, allocated quantity, warehouse details, and the associated product variant.
warehouse_details Fetch comprehensive warehouse information including address, shipping zones, channels, supported countries, and metadata.
orders List orders with details including ID, number, status, dates, payment info, totals, addresses, and line items.
order_count Fetch the total count of orders from the Saleor GraphQL API based on applied filters.
customers Retrieve customer information including ID, active status, language code, last login, date joined, and default address country.
channels Retrieve the list of sales channels including ID, name, slug, currency code, default country, active status, and associated warehouses.
Setup Guide

Option 1: Use the hosted production instance (recommended)

Saleor runs a managed MCP endpoint at https://mcp.saleor.app/mcp that works with any Saleor 3.21+ instance on the saleor.cloud domain. Add it to your MCP client config:

{
  "servers": {
    "saleor-mcp": {
      "type": "http",
      "url": "https://mcp.saleor.app/mcp",
      "headers": {
        "X-Saleor-Auth-Token": "eyJhb...",
        "X-Saleor-API-URL": "https://example.saleor.cloud/graphql/"
      }
    }
  }
}

Required headers

  • X-Saleor-API-URL: the GraphQL endpoint of your Saleor store.
  • X-Saleor-Auth-Token: a Saleor app or staff auth token. The token must have MANAGE_PRODUCTS and MANAGE_ORDERS permissions.

Option 2: Self-host

Prerequisites: Python 3.12+ and the uv package manager.

git clone git@github.com:saleor/saleor-mcp.git
cd saleor-mcp
uv sync
uv run saleor-mcp

The server listens on http://localhost:6000 by default. Set ALLOWED_DOMAIN_PATTERN (regex) to restrict which Saleor API hosts the server is willing to proxy to. Point your MCP client at the local URL and pass the same X-Saleor-API-URL / X-Saleor-Auth-Token headers shown above.

Use Cases
  • Pull a paginated, filtered list of recent orders into an agent to summarize revenue, AOV, or refund rates by channel.
  • Look up a customer by filter and surface their order history, last login, and default shipping country for a support agent.
  • Query products with full-text search to answer merchandising questions like which SKUs exist in a category or channel.
  • Check stock and warehouse coverage across multiple regions before recommending restock or fulfillment changes.
  • Generate channel-level reports (active channels, currencies, default countries, attached warehouses) for ops reviews.
Example Prompts
  • "List the 50 most recent orders in the default-channel and total their gross revenue."
  • "Search the product catalog for items containing 'hoodie' in the US channel and show their prices."
  • "How many orders do we have in UNFULFILLED status right now?"
  • "Find customer accounts that joined in the last 30 days and group them by country."
  • "Show me stock levels for the Berlin warehouse and flag any variants with zero available quantity."
Pros
  • Official, maintained by Saleor under the saleor/ GitHub org and announced on the Saleor blog.
  • Read-only by design, so it is safe to attach to autonomous agents without risking unintended mutations.
  • Hosted endpoint at mcp.saleor.app removes the need to operate the server yourself for saleor.cloud tenants.
  • Covers the most commonly queried Saleor domains (products, stocks, warehouses, orders, customers, channels) with pagination, filtering, and sorting.
Limitations
  • No write operations: cannot create or update products, fulfill orders, or modify customer data.
  • Hosted instance only targets saleor.cloud domains; self-hosted Saleor installs must run the MCP server themselves.
  • Tool surface is limited to a handful of high-level queries; less common entities (vouchers, gift cards, payments, etc.) require self-hosting and code changes or direct GraphQL.
Alternatives
  • mcp-graphql: generic GraphQL MCP server recommended in Saleor's own AI docs for raw access to the Saleor schema.
  • ashwin2912/saleor-dashboard-mcp: community-maintained MCP server targeting Saleor data.
  • Shopify Storefront / Admin MCP servers for teams on a different headless commerce platform.