Saleor MCP Server

A Model Context Protocol implementation for interacting with Saleor e-commerce platform

Welcome to Saleor MCP

Transform how you interact with your Saleor store data

The Model Context Protocol (MCP) is a way to plug Saleor's API into an LLM, letting you ask questions about your store data in the context of the LLM itself. This lets you take an agent that you already use, like Cursor, and pull in additional information from Saleor to help with tasks like business analysis, inventory management, and customer insights.

Connecting Saleor to LLMs allows you to easily get answers to questions like:

  • "Which products are running low on stock?"
  • "Customer insights from this month"
  • "Show recent orders that need attention"

This provides an easy interface to learn insights about your Saleor store without needing to navigate through different dashboards or write complex queries.

Getting Started

Quick setup guide to get you up and running

To get started with the Saleor MCP server, visit our GitHub repository which contains detailed installation instructions, configuration guides, and examples.

Note: The repository includes setup instructions for various MCP clients, authentication configuration, and example usage scenarios.

Available Tools

Pre-configured functions for common Saleor operations

Tools are pre-configured functions that can be used to help with common tasks. Each tool provides specific functionality for interacting with your Saleor store data.

Fetch the list of channels from Saleor.This tools retrieves the list of channels. For each channel it returns information such as: ID, name, slug, currency code, default country, whether the channel is active, and the list of warehouses.

No additional arguments required

Return the current domain of the connected Saleor instance.

No additional arguments required

Fetch list of customers from Saleor GraphQL API.This tool retrieves customer information such as: ID, email, first name, last name, active status, confirmation status, checkout and order counts, language code, last login, date joined, and default shipping/billing addresses.

Arguments:

  • first int | None: Number of customers to fetch (max 100 per request)
  • after str | None: Cursor for pagination - fetch customers after this cursor
  • sort_by saleor_mcp.saleor_client.input_types.UserSortingInput | None: Sort customers by specific field
  • where saleor_mcp.tools.customers.CustomerWhereInput | None: Filter customers by specific criteria
  • search str | None: Search customers with full-text search

Fetch total count of orders from Saleor GraphQL API.This tool retrieves the total count of orders based on the provided filter criteria.

Arguments:

  • where saleor_mcp.tools.orders.OrderWhereInput | None: Filter orders by specific criteria

Fetch list of orders from Saleor GraphQL API.This tool retrieves the list of orders. For each order it returns information such as: ID, number, status, creation date, last update date, payment status, user email, total amount, shipping address, billing address, order lines which include: quantity, product SKU, variant name, product ID, product name, unit price.

Arguments:

  • first int | None: Number of orders to fetch (max 100 per request)
  • after str | None: Cursor for pagination - fetch orders after this cursor
  • sort_by saleor_mcp.saleor_client.input_types.OrderSortingInput | None: Sort orders by specific field
  • where saleor_mcp.tools.orders.OrderWhereInput | None: Filter orders by specific criteria
  • search str | None: Search orders by term

Fetch list of products from Saleor GraphQL API.This tool retrieves product information such as: ID, name, slug, external reference, product type, category, date of creation, date of last update, and pricing.

Arguments:

  • first int | None: Number of products to fetch (max 100 per request)
  • after str | None: Cursor for pagination - fetch products after this cursor
  • channel str | None: Slug of a channel for which the data should be returned. If not provided, general product data is returned.
  • sort_by saleor_mcp.saleor_client.input_types.ProductOrder | None: Sort products by specific field
  • search str | None: Search products with full-text search

Fetch list of stocks from Saleor GraphQL API.This tool retrieves stock information such as: ID, quantity, allocated quantity, warehouse information, and associated product variant details.

Arguments:

  • first int | None: Number of stocks to fetch (max 100 per request)
  • after str | None: Cursor for pagination - fetch stocks after this cursor
  • filter saleor_mcp.saleor_client.input_types.StockFilterInput | None: Filter stocks by specific criteria

Fetch warehouse details from Saleor GraphQL API.This tool retrieves detailed warehouse information including: ID, name, slug, address details, click and collect options, associated shipping zones with their channels and countries, and metadata.

Arguments:

  • id str | None: ID of the warehouse to fetch details for