MCP Ecommerce

Installation guide

How to install Shopware MCP Server

In Claude, ChatGPT, Gemini, Microsoft Copilot, Perplexity, Cursor and Claude Code, with what to check before you start and the first prompts to run.

Shopware's MCP server is built into Shopware 6.7.14.0 and later (preview, experimental until 6.8). You do not install a separate package: you run your own shop, create an integration with `bin/console integration:create`, and point the AI client at `https://your-shop.example.com/api/_mcp` (Admin API) using the `sw-access-key` and `sw-secret-access-key` headers. A store-facing endpoint exists at `/store-api/_mcp`. The docs describe the Admin endpoint setup only.

This should be done by a Shopware developer or technical admin with shell access to the shop and rights to manage integrations. Start with a restricted integration (a dedicated ACL role and a short MCP allowlist) and read-only prompts. Tool names and APIs may change before 6.8, so allow write access only for supervised tasks.

Shopware MCP Server setup guide: Shopware's MCP documentation page on developer.shopware.com, shown in a browser frame (store platform MCP server for e-commerce)
Shopware MCP Server setup guide preview: Shopware’s documentation on developer.shopware.com, captured Oct 13, 2026. The page may have changed since; the link opens the live version.

Before you start

  • Shopware 6.7.14.0 or later. On 6.7.11.0 to 6.7.13.x, set MCP_SERVER=1 in .env first (see the vendor Configuration page).
  • symfony/mcp-bundle installed; check with composer show symfony/mcp-bundle, and if missing, add it to composer.json and run composer install.
  • Shell access to the shop to run bin/console integration:create and bin/console debug:mcp.
  • An ACL role with only the permissions the client needs. The --admin flag grants full Admin API access, so avoid it in production.
  • A reachable shop URL (for example https://your-shop.example.com) and a client that supports custom HTTP headers.
How it runs
Remote, added by URL
Access
Varies by tool
Server address
Copy it from the vendor documentation

Shopware MCP Server in Claude

  1. Create the integration on the shop: bin/console integration:create "My MCP Client" --admin. For production, omit --admin, create a dedicated ACL role and assign it to the integration. Note the printed SHOPWARE_ACCESS_KEY_ID and SHOPWARE_SECRET_ACCESS_KEY.
  2. Open the Claude Desktop config file: ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows.
  3. Add the shopware entry below to mcpServers, using "type": "streamable-http". Replace the URL, access key and secret with your values.
  4. Restart Claude Desktop and look for the Shopware server in the tools panel. The first connection can take a few seconds while Shopware warms its caches.
  5. The docs do not cover the Claude.ai web connector UI. Custom headers are needed for authentication, so use the config file above unless the vendor documents another route.
  6. Run the verify prompts below.
claude_desktop_config.json
{
  "mcpServers": {
    "shopware": {
      "type": "streamable-http",
      "url": "https://your-shop.example.com/api/_mcp",
      "headers": {
        "sw-access-key": "SWIA...",
        "sw-secret-access-key": "..."
      }
    }
  }
}

Shopware MCP Server in ChatGPT

  1. The Shopware docs do not cover ChatGPT. Check the vendor documentation before relying on it.
  2. Authentication needs the custom headers sw-access-key and sw-secret-access-key. Confirm that the ChatGPT custom connector (Developer mode) can send custom headers; if it cannot, the integration credentials will not work there.
  3. If it can, add a custom MCP connector in ChatGPT Developer mode and enter your shop's /api/_mcp URL, for example https://your-shop.example.com/api/_mcp.
  4. Your shop must be reachable from the internet; http://localhost:8000 will not work for a hosted client.
  5. Use a restricted integration and the per-integration MCP allowlist, then try a read-only prompt.

Shopware MCP Server in Gemini

  1. The Shopware docs do not cover Gemini. Gemini CLI reads MCP servers from mcpServers in its settings file.
  2. Create the integration first with bin/console integration:create "My MCP Client" plus an ACL role, and keep the access key and secret.
  3. Add a shopware entry in mcpServers pointing to https://your-shop.example.com/api/_mcp with the headers sw-access-key and sw-secret-access-key. Take the exact key names for an HTTP server and its headers from the Gemini CLI documentation.
  4. Restart Gemini CLI and confirm the server is listed, then run a read-only prompt.
  5. Gemini app extensions are not covered by the Shopware docs.

Shopware MCP Server in Microsoft Copilot

  1. The Shopware docs do not give a Copilot setup; they only have a page on Copilot tool approval. The steps below use the standard VS Code format with the endpoint and header names from the docs.
  2. Create the integration on the shop and keep the access key and secret. Prefer a restricted ACL role.
  3. In VS Code, create .vscode/mcp.json with a top-level servers object and add the shopware entry below.
  4. Do not commit this file with real credentials. Check the vendor docs on Copilot tool approval before approving write tools.
  5. Start the server from the VS Code MCP UI and run a read-only prompt in Copilot chat. For Copilot Studio, use its custom connector or MCP tool flow; the docs do not cover it.
.vscode/mcp.json
{
  "servers": {
    "shopware": {
      "type": "http",
      "url": "https://your-shop.example.com/api/_mcp",
      "headers": {
        "sw-access-key": "SWIA...",
        "sw-secret-access-key": "..."
      }
    }
  }
}

Shopware MCP Server in Perplexity

  1. The Shopware docs do not cover Perplexity.
  2. In the Perplexity desktop app, open the connectors settings and use its standard way of adding a custom remote MCP server by URL.
  3. Enter your shop's endpoint, https://your-shop.example.com/api/_mcp.
  4. Shopware authenticates with the custom headers sw-access-key and sw-secret-access-key. Confirm the app can send custom headers; if not, this connection will not authenticate.
  5. If it connects, start with a read-only prompt and a restricted integration.

Shopware MCP Server in Cursor

  1. Create the integration on the shop: bin/console integration:create "My MCP Client" and assign a restricted ACL role (--admin grants full Admin API access).
  2. Open .cursor/mcp.json in your project root, or ~/.cursor/mcp.json for all projects.
  3. Add the shopware entry below with "type": "streamable-http", your shop URL, and the integration credentials.
  4. Keep .cursor/mcp.json out of version control; it holds credentials.
  5. Reload Cursor and check the MCP settings for the Shopware server and its discovery tools.
.cursor/mcp.json
{
  "mcpServers": {
    "shopware": {
      "type": "streamable-http",
      "url": "https://your-shop.example.com/api/_mcp",
      "headers": {
        "sw-access-key": "SWIA...",
        "sw-secret-access-key": "..."
      }
    }
  }
}

Shopware MCP Server in Claude Code

  1. Create the integration on the shop: bin/console integration:create "My MCP Client" with a restricted ACL role, and note the access key and secret.
  2. Register the server with the command below. Claude Code needs the transport http, not streamable-http. The docs use http://localhost:8000/api/_mcp for a local shop.
  3. Alternatively, create .mcp.json in the project root with "type": "http", the url, and the same two headers.
  4. Do not commit .mcp.json; it contains credentials.
  5. Start Claude Code and run /mcp to confirm shopware is connected, then run the verify prompts.
Terminal
claude mcp add --transport http shopware https://your-shop.example.com/api/_mcp \
  --header "sw-access-key: SWIA..." \
  --header "sw-secret-access-key: ..."

Check that it works

Start with questions that only read data. If these answer from your real account, the connection is good.

  • Show all products in my store.
  • Find products with stock below five units.
  • Find all active products without descriptions.

Troubleshooting

+The client shows "No tools" after connecting. What should I do?

The first connection can take a few seconds while Shopware boots its kernel and warms caches. Wait, then refresh. A fresh session only advertises the discovery tools `shopware-tool-search`, `shopware-toolsets-list` and `shopware-toolset-enable`. Run `bin/console debug:mcp` on the shop to confirm capabilities are registered.

+I only see three discovery tools. Where are the product and order tools?

This is by design. Ask the AI to call `shopware-tool-search` or enable a toolset with `shopware-toolset-enable`. Then refresh `tools/list` if your client does not handle `notifications/tools/list_changed`. Enabled toolsets last only for the current session. Also check the integration's MCP allowlist under `Settings > Integrations`.

+The connection is rejected or the server is not recognized. What do I check?

Check that the URL ends in `/api/_mcp`, the headers are exactly `sw-access-key` and `sw-secret-access-key`, and the integration still exists. Claude Code needs `"type": "http"`, while Claude Desktop and Cursor use `"streamable-http"`. Confirm Shopware is 6.7.14.0 or later, or `MCP_SERVER=1` is set on 6.7.11.0 to 6.7.13.x, and that `symfony/mcp-bundle` is installed.

Written Oct 13, 2026 from the vendor documentation. Exact menus, addresses and commands change; the official documentation is the source of truth.