Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Shopware 6 Admin API in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Shopware 6 Admin API, the shop's back office API (not the Store API): search any entity, maintain products, categories, Shopping Experiences layouts down to single slots and the media library, read sales channels, promotions and SEO URLs. Generic writes, deletes and bulk sync install switched off.
Try asking
Example prompts for Shopware 6 Admin API
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Shopware 6 Admin API, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Shopware 6 Admin API + Gemini
Shopware 6 Admin API, the shop's back office API (not the Store API): search any entity, maintain products, categories, Shopping Experiences layouts down to single slots and the media library, read sales channels, promotions and SEO URLs. Generic writes, deletes and bulk sync install switched off.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
SHOPWARE_URL, SHOPWARE_ACCESS_KEY_ID, SHOPWARE_SECRET_ACCESS_KEY
Step 1 — Get credentials
Admin API, not the Store API: this connector uses the Admin API (/api) of a Shopware 6 shop, the API the Shopware Administration itself uses to run the shop: products, categories, Shopping Experiences layouts and the media library. It is a different connector from Shopware 6 Store API (shopware-6), which reads the public storefront with a sales channel access key. Install this one when the AI should work on the shop's administration data.
Setting up takes about 3 minutes. You need access to the Shopware Administration of the shop.
- In the Shopware Administration open Settings > System > Integrations and click Add integration.
- Give it a name and either switch on Administrator or assign a role with the permissions the AI should have. With a role that only reads, every write tool fails with 403.
- Copy the Access key ID (it starts with
SWIA) intoSHOPWARE_ACCESS_KEY_IDand the Secret access key intoSHOPWARE_SECRET_ACCESS_KEY. The secret is shown only once; if it is lost, create a new key in the integration. - Set
SHOPWARE_URLto the shop's address without a path, e.g.https://shop.example.com. Do not add/apior/admin. - Install the connector and run
shopware_6_admin_get_version: it shows the Shopware version and confirms the credentials.
AnythingMCP fetches a short-lived bearer token at the shop's /api/oauth/token with the OAuth2 client-credentials grant and renews it on its own.
What it reads: products with free-text search and filters (product number, active, stock, manufacturer, categories, properties, variants by parentId), and one product with its own fields (name, number, stock, price, description, SEO fields, custom fields); categories with parent, position, type, layout, active and visible flags and breadcrumb; Shopping Experiences layouts (CMS pages), and one layout with its sections, blocks and slots including each slot's config; the media library with URL, file name, alt text, title and folder; sales channels with their domains (the Store API access key is removed from the answer); promotions with codes, validity and redemption limits; SEO URLs. Any other Admin API entity, for example orders, customers, manufacturers, property groups and options, rules, languages, currencies or snippets, is read with shopware_6_admin_search_entities and shopware_6_admin_get_entity.
Search criteria: every search tool takes Shopware's criteria: term, ids, filter (equals, equalsAny, contains, prefix, suffix, range, not, multi), sort, associations, includes, limit, page and total_count_mode; products and the generic search also take aggregations. Related fields are filtered with dot paths such as categories.id or manufacturer.name. The AI passes includes whenever it does not need full records, because a full product is large. Ids are 32 hex characters without dashes; the AI finds them with the search tools and never guesses them.
Languages and variants: texts are translated per language. With language_id (sent as the sw-language-id header) a read returns that translation and a write changes that translation; without it the shop's system language is used. Languages are listed with shopware_6_admin_search_entities and the entity language. New records are created in the system language first. Variants are products with a parentId and inherit empty fields from the parent; inheritance: true shows the inherited values.
What it writes: shopware_6_admin_update_product (texts, SEO fields, custom fields, active flag, stock, closeout, EAN, price; a price replaces the whole price list), shopware_6_admin_add_product_property and shopware_6_admin_remove_product_property (only links or unlinks an option), shopware_6_admin_create_property_option, shopware_6_admin_create_category and shopware_6_admin_update_category (including moving a category in the tree), shopware_6_admin_create_cms_page, shopware_6_admin_update_cms_page (sections, blocks and slots with an id are updated, those without are added, nothing is removed), shopware_6_admin_create_cms_block, shopware_6_admin_update_cms_slot (the config replaces the slot's config for that language), shopware_6_admin_create_media followed by shopware_6_admin_upload_media_from_url, shopware_6_admin_update_media and shopware_6_admin_create_media_folder. These tools are on at install and change the live shop: shoppers see the change as soon as the shop's cache is refreshed. Uploading by URL needs Shopware's enable_url_upload_feature (on by default) and a public URL, and it replaces a file the media entry already has.
Switched off at install: shopware_6_admin_create_entity, shopware_6_admin_update_entity (any entity, orders, customers, sales channels and settings included), shopware_6_admin_delete_entity (permanent, dependent records may be deleted with it) and shopware_6_admin_sync (bulk upsert and delete through the Sync API). A workspace admin turns them on deliberately.
Answers: updates, uploads and deletes answer with an empty 204, so the AI reads the record back to confirm a change. The create tools return the new record with its id. Lists return total, data and aggregations.
Limits: Shopware's default maximum is 500 results per page; the AI pages with page. total_count_mode 1 returns the exact total, 2 only whether a next page exists.
Common errors: 401 means a wrong access key ID or secret: copy both again or create a new key in the integration. 403 means the integration's role may not do this: switch on Administrator or extend the role. 404 on every call usually means SHOPWARE_URL contains /api, /admin or another path.
With the tools that are on at install, the connector does not create or change orders, customers or settings and deletes nothing. It uploads media only from a public URL, not from your computer. For reading the public storefront with a sales channel access key, use the Shopware 6 Store API connector.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Gemini
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart
gemini. - Run
/mcpinside Gemini CLI (orgemini mcp listin your shell):anythingmcpshould show as connected. - Start prompting: Gemini CLI can now call the
Shopware 6 Admin APItools.
Available tools
| Tool | What it does |
|---|---|
shopware_6_admin_get_version | Read the Shopware version of the instance |
shopware_6_admin_search_products | Search products with Shopware criteria: free text, filters (productNumber, active, stock, manufacturerId, categories.id, properties.id… |
shopware_6_admin_get_product | Read one product by id with its own fields (name, productNumber, stock, price, active, description, SEO fields, customFields) |
shopware_6_admin_update_product | Change fields of one product in the live shop: texts and SEO fields (written in the language of language_id), custom fields, active flag… |
shopware_6_admin_add_product_property | Assign an existing property option (e.g |
shopware_6_admin_remove_product_property | Unassign a property option from a product |
shopware_6_admin_create_property_option | Create a new option in a property group (e.g. a new color value) |
shopware_6_admin_search_categories | Search categories with Shopware criteria, e.g. filter parentId for the children of a category, or level / active |
shopware_6_admin_create_category | Create a category in the live catalog tree: a page, a folder (structure only) or a link |
shopware_6_admin_update_category | Change one category in the live shop: name, texts and SEO fields (in the language of language_id), active / visible, layout, or its place… |
shopware_6_admin_search_cms_pages | Search Shopping Experiences layouts (CMS pages) with Shopware criteria, e.g. filter type landingpage / page / product_list /… |
shopware_6_admin_get_cms_page | Read one layout (CMS page) with its sections, blocks and slots sorted by position, including each slot's id, type and config (texts, media… |
shopware_6_admin_create_cms_page | Create a layout (CMS page), optionally with its sections, blocks and slots nested in one call |
shopware_6_admin_update_cms_page | Change a layout in the live shop: rename it, or update and add sections with their blocks and slots |
shopware_6_admin_create_cms_block | Add a block (e.g. text, image, image-text, product-listing) with its slots to an existing section of a layout |
shopware_6_admin_update_cms_slot | Change the content of one slot in the live shop, e.g. the HTML of a text element or the media of an image element, in the language of… |
shopware_6_admin_search_media | Search the media library with Shopware criteria, e.g. filter mediaFolderId, fileName, mimeType, or term |
shopware_6_admin_create_media | Create an empty media entry (no file yet) in the media library, optionally in a folder |
shopware_6_admin_upload_media_from_url | Have Shopware download a file from a public URL into a media entry (created with shopware_6_admin_create_media) |
shopware_6_admin_update_media | Change the alt text, title, folder or custom fields of a media entry in the live shop (alt and title in the language of language_id) |
shopware_6_admin_create_media_folder | Create a folder in the media library |
shopware_6_admin_search_sales_channels | Search sales channels (storefronts, headless channels) with Shopware criteria: name, type, active, maintenance, navigation / footer /… |
shopware_6_admin_search_promotions | Search promotions with Shopware criteria, e.g. filter active or code; associations {"discounts":{},"salesChannels":{}} add the discount… |
shopware_6_admin_search_seo_urls | Search SEO URLs with Shopware criteria, e.g. filter foreignKey (a product or category id), routeName (frontend.detail.page… |
shopware_6_admin_search_entities | Search any Admin API entity with Shopware criteria, e.g. order, customer, product-manufacturer, property-group, property-group-option… |
shopware_6_admin_get_entity | Read one record of any Admin API entity by id, e.g. order, customer, category, cms-slot, media, promotion |
shopware_6_admin_create_entity | Create one record of any Admin API entity, e.g. a cms-section, snippet, product-manufacturer or a product |
shopware_6_admin_update_entity | Change fields of one record of any Admin API entity in the live shop (orders, customers, sales channels, settings included) |
shopware_6_admin_delete_entity | Delete one record of any Admin API entity by id, e.g. a cms-block, a product or a media entry |
shopware_6_admin_sync | Bulk write: upsert or delete many records of one or more entities in a single request through the Sync API |
Example prompts
- "Find all active products with fewer than 5 items in stock and show product number, name and stock."
- "Rewrite the meta title and meta description of product SW10001 in German and English. Show me the texts before saving."
- "Show the Shopping Experiences layout of our summer landing page with its sections, blocks and slots."
- "Upload the image at https://example.com/banner.jpg into the media folder Banners and set its alt text."
- "Which promotions are active right now, with their codes and validity dates?"
FAQ
Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Meta Muse
- Connect to Microsoft Copilot
Was this guide helpful?