Shopware 6 MCP Server
by kochfreiburg
README.md
# Shopware 6 MCP Server
**English** · [Deutsch](docs/README.de.md)
**Connect Shopware 6 to Claude, ChatGPT and Copilot: shopware 6 MCP server: let Claude & ChatGPT search your Shopware catalog: products, categories and cross-sells (Store API) as MCP tools.** Powered by [AnythingMCP](https://github.com/HelpCode-ai/anythingmcp).
Shopware 6 MCP Server gives Claude, ChatGPT, Copilot and Cursor 6 tools for Shopware 6: shopware 6 MCP server: let Claude & ChatGPT search your Shopware catalog: products, categories and cross-sells (Store API). Every tool only reads. It runs on AnythingMCP: one click on AnythingMCP Cloud, or self-hosted with Docker. Credentials are stored encrypted and every call is audited.
**Last verified:** 2026-09-26 against a Shopware 6.7.2.2 demo shop (Store API) (all 6 tools called through MCP).
**Adapter synced:** <!-- synced -->2026-09-26
Maintained by [KOCH Freiburg GmbH](https://www.kochfreiburg.de/), which runs AnythingMCP in production. Built on [AnythingMCP](https://github.com/HelpCode-ai/anythingmcp) by helpcode.ai.
## Quick start (AnythingMCP Cloud)
1. Sign in at [cloud.anythingmcp.com](https://cloud.anythingmcp.com) and open the [install link](https://cloud.anythingmcp.com/connectors/store?install=shopware-6).
2. Enter `SHOPWARE_URL`, `SHOPWARE_ACCESS_KEY` (see [Authentication](#authentication)).
3. Copy the URL of your MCP server under **MCP Servers** and add it to your AI client ([below](#connect-claude-chatgpt-copilot-or-cursor)).
AnythingMCP Cloud is the same open-source code, operated by helpcode.ai in Frankfurt, Germany.
## Self-hosted (Docker)
Needs Docker 24+, openssl and Node 18+.
```bash
git clone https://github.com/kochfreiburg/shopware-mcp-server.git
cd shopware-mcp-server
./scripts/install.sh
```
`install.sh` writes `.env` with fresh secrets, starts AnythingMCP, creates the first admin, installs the connector if `SHOPWARE_URL` and `SHOPWARE_ACCESS_KEY` are set in `.env` and creates an MCP API key. Without credentials it prints the install link instead: `http://localhost:3000/connectors/store?install=shopware-6`. Then check the whole chain:
```bash
npm install && node scripts/smoke.mjs
```
## Connect Claude, ChatGPT, Copilot or Cursor
- **Claude (claude.ai, Desktop, mobile):** *Customize → Connectors → Add custom connector*, paste your MCP server URL and sign in. Claude connects from Anthropic's cloud, so the URL must be public HTTPS: your AnythingMCP Cloud URL, or your own instance behind TLS.
- **Claude Code:**
```bash
claude mcp add --transport http shopware-mcp-server http://localhost:4000/mcp --header "X-API-Key: <MCP_API_KEY>"
```
- **Cursor** (`.cursor/mcp.json`) and **VS Code / GitHub Copilot** (`.vscode/mcp.json`, key `servers` instead of `mcpServers`, plus `"type": "http"`):
```json
{ "mcpServers": { "shopware-mcp-server": { "url": "http://localhost:4000/mcp", "headers": { "X-API-Key": "<MCP_API_KEY>" } } } }
```
- **ChatGPT:** add the public HTTPS URL as a connector (app) in ChatGPT's settings. A `localhost` URL does not work there.
## Tools
6 tools, generated from [`adapter/shopware-6.json`](adapter/shopware-6.json). **read** tools cannot change anything in the source system.
<!-- tools:start (generated from adapter/*.json, do not edit) -->
| Tool | What it does | Access |
|---|---|---|
| `shopware_search_products` | Search products in the sales channel. | read |
| `shopware_get_product` | Retrieve a single product by id or product number, including description, pricing tiers, cross-sells, properties, media, and associations. | read |
| `shopware_search_categories` | List or search categories in the storefront category tree. | read |
| `shopware_get_category` | Retrieve a category and optionally its products by category id. | read |
| `shopware_search_suggest` | Shopware search suggest — returns product suggestions for as-you-type autocomplete. | read |
| `shopware_get_cross_sells` | Retrieve the cross-sell product streams configured for a product (e.g. | read |
<!-- tools:end -->
## Example prompts
- Which products do we have from the manufacturer "Hörmann"?
- What does product SW10001 cost, and is it in stock?
- Which products are in the category "Innentüren"?
- Suggest products for the search term "Türdrücker".
- Which cross-sells are set up for product SW10001?
- Which products in "Sale" cost less than 100 EUR?
More in [examples/prompts.md](examples/prompts.md).
## Authentication
This connector uses the Shopware 6 Store API (not the Admin API).
**Instance URL**: every Shopware install has its own URL. Paste it into `SHOPWARE_URL` when importing — e.g. `https://shop.koch-freiburg.de`. Do NOT add `/store-api`; the adapter handles that.
**Access key**: the Store API authenticates with a single header `sw-access-key`. Find it in the Shopware admin under Settings → System → Integrations → 'Access key for sales channels', or per-sales-channel under Sales Channels → 'API access → Access key'. Set it as `SHOPWARE_ACCESS_KEY` at import time.
**Context token (optional)**: for cart/wishlist operations you also need a `sw-context-token` (obtained from POST /context) — not handled by this adapter. For public catalog browsing no context is required.
**Store API vs Admin API**: Store API is optimised for customer-facing reads and is always active. For administrative writes (create products, manage stock, order fulfilment) use the Admin API, which requires OAuth2 client_credentials and is not covered by this adapter.
**Search**: the search endpoint supports Shopware's criteria grammar (associations, filter, sort, pagination) — see https://developer.shopware.com/docs/concepts/search-queries.html
## Security
- **Read or write is your choice.** All 6 tools only read. Assign the connector to an MCP server whose role whitelists only the tools you want, and the rest are invisible to that client.
- **Credentials** are encrypted with AES-256-GCM and never shown to the model.
- **Response mapping** drops or reshapes fields per tool before they reach the model, e.g. bank details or personal data.
- **Audit log:** every call is recorded with input, output, duration and status, in your own database when self-hosted.
- **SSO, RBAC and SCIM** are included in the self-hosted build.
## FAQ
### Is there a Shopware MCP server?
Yes, this one. It connects the Shopware 6 Store API to Claude, ChatGPT and Copilot through AnythingMCP: 6 tools to search products, read a product, browse categories, get search suggestions and read cross-sells.
### Can it read orders or customers?
No. The Store API is what the storefront itself uses, so it sees the catalog, not the back office. Orders and customers live in the Admin API, which this connector does not use.
### What do I need to connect my shop?
The shop URL and the sales channel's access key (Sales Channels → your storefront → API access). That key is public by design; it identifies the sales channel and grants storefront-level read access.
### Can the AI change prices or products?
No. All six tools only read.
### Does it work with Shopware 5?
No. It needs the Shopware 6 Store API.
## Troubleshooting
| Problem | Fix |
|---|---|
| `401` / `403` from the vendor | The credentials are wrong or lack rights. Re-enter them on the connector page; the import runs a test call and shows the result. |
| Tools missing in the AI client | The connector is not assigned to the MCP server the client uses. Check **MCP Servers**, then run `node scripts/smoke.mjs`. |
| The host is on your internal network | Self-host AnythingMCP on that network and add the hostname to `SSRF_ALLOWED_HOSTS`, or the outbound guard blocks the call. |
| Works locally, fails on AnythingMCP Cloud | The system must be reachable from the internet with a valid TLS certificate. |
## Related
- [ecommerce-mcp-server](https://github.com/HelpCode-ai/ecommerce-mcp-server): E-commerce MCP server: connect Amazon, eBay, WooCommerce, Shopware, Kaufland, OTTO and 7 more to Claude & ChatGPT.
- [woocommerce-mcp-server](https://github.com/keysersoft/woocommerce-mcp-server): WooCommerce MCP server: 49 tools for Claude & ChatGPT. Products, variations, inventory, orders, refunds, customers and reports.
- [magento-mcp-server](https://github.com/keysersoft/magento-mcp-server): Magento MCP server: Claude & ChatGPT manage products, stock, orders and customers in Magento 2 / Adobe Commerce.
- [AnythingMCP](https://github.com/HelpCode-ai/anythingmcp): the open-source MCP server and gateway this repository is built on.
## License
AGPL-3.0-only. The adapter definition in `adapter/` comes from AnythingMCP (AGPL-3.0).
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues