shopware-mcp

MCPattested
v0.2.1UnknownMITUpdated 1d agonpmGitHub

MCP server for the Shopware 6 Admin API. Read-only by default, guarded writes with dry-run.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
1GitHub stars
1d agoLast update
Needs 1 credential before it runs
  • SHOPWARE_CLIENT_SECRETOAuth apprequired

    Integration secret access key

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
AuthorUnknown
LicenseMIT
Version0.2.1
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
Listed in Forge index+10/10
Identity verified · attested build+20/20
Ed25519 publish signature+0/5
Included automatically when the publisher runs `forge publish`
Domain verification+0/5
Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
npm Trusted Publishing (Sigstore)+5/5
npm maintainer match+0/5
Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
CVE scan · clean+30/30
Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain
Provenance✓ Sigstore-verified · 760a74c
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface30 tools · none privileged
Security scan✓ Cleanv0.3.0 · todayHow well does this scan work?
EvalsNone
IndexedSep 5, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

30 tools · none privileged
Statically extracted from the published packagev0.3.0 · 2h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

orders_searchSearch orders by term (order number, customer name/email) and/or Criteria filters such as stateMachineState.technicalName (open, in_progress, completed, cancelled), transactions.stateMachineState.technicalName (paid, open, ...), orderDateTime ranges or orderCustomer.email. Newest first by default.…

Search orders by term (order number, customer name/email) and/or Criteria filters such as stateMachineState.technicalName (open, in_progress, completed, cancelled), transactions.stateMachineState.technicalName (paid, open, ...), orderDateTime ranges or orderCustomer.email. Newest first by default.…

No input schema was published for this tool.

orders_getGet one order by ID or order number with line items, billing/shipping addresses, transactions (payment method and state) and deliveries (shipping method, tracking codes). Use it to answer detailed questions about a single order. Returns one object.

Get one order by ID or order number with line items, billing/shipping addresses, transactions (payment method and state) and deliveries (shipping method, tracking codes). Use it to answer detailed questions about a single order. Returns one object.

No input schema was published for this tool.

order_state_transitionMove an order through its state machine: process (open → in_progress), complete (in_progress → completed), cancel, or reopen (→ open). Shopware rejects transitions that are not allowed from the current state. dryRun=true (default) only returns the request that would be sent; call again with dryRun=…

Move an order through its state machine: process (open → in_progress), complete (in_progress → completed), cancel, or reopen (→ open). Shopware rejects transitions that are not allowed from the current state. dryRun=true (default) only returns the request that would be sent; call again with dryRun=…

No input schema was published for this tool.

order_delivery_transitionNo description published

This tool published no description. Forge does not invent one.

order_transaction_transitionNo description published

This tool published no description. Forge does not invent one.

order_noteWrite an internal note on an order (Shopware's internal comment, shown in the admin, never to the customer). append (default) adds a dated line below the existing note, replace overwrites it. Use it for 'note on 10042: customer called, ships Monday'. dryRun=true (default) returns the request that w…

Write an internal note on an order (Shopware's internal comment, shown in the admin, never to the customer). append (default) adds a dated line below the existing note, replace overwrites it. Use it for 'note on 10042: customer called, ships Monday'. dryRun=true (default) returns the request that w…

No input schema was published for this tool.

plugins_listList installed plugins and apps with version, active/installed state and the available upgrade version (when the shop can reach the Shopware store). Use it to check whether an extension is installed or outdated. Returns { total, items[] }.

List installed plugins and apps with version, active/installed state and the available upgrade version (when the shop can reach the Shopware store). Use it to check whether an extension is installed or outdated. Returns { total, items[] }.

No input schema was published for this tool.

products_searchSearch products by free-text term and/or Criteria filters (e.g. active, stock, manufacturer.name, categories.id, productNumber). Returns compact product summaries with price, stock, availability, manufacturer, category names and cover image URL. By default only main products are returned; set inclu…

Search products by free-text term and/or Criteria filters (e.g. active, stock, manufacturer.name, categories.id, productNumber). Returns compact product summaries with price, stock, availability, manufacturer, category names and cover image URL. By default only main products are returned; set inclu…

No input schema was published for this tool.

products_getGet one product by ID with everything an agent usually needs: description, price, stock, tax, manufacturer, categories, properties, media and all variants with their options, stock and price. Use products_search or stock_get to find the ID first. Returns one object.

Get one product by ID with everything an agent usually needs: description, price, stock, tax, manufacturer, categories, properties, media and all variants with their options, stock and price. Use products_search or stock_get to find the ID first. Returns one object.

No input schema was published for this tool.

product_updateUpdate basic fields of one product: name, description, active flag and/or price for one currency. Only these fields are supported. dryRun=true (default) returns the exact PATCH request without changing anything; call again with dryRun=false to apply. Returns { dryRun, wouldSend } or { dryRun: false…

Update basic fields of one product: name, description, active flag and/or price for one currency. Only these fields are supported. dryRun=true (default) returns the exact PATCH request without changing anything; call again with dryRun=false to apply. Returns { dryRun, wouldSend } or { dryRun: false…

No input schema was published for this tool.

promotions_listList promotions (discount campaigns) with code settings, validity window, redemption limits and a summary of their discounts (scope, type, value). Filter by active or code. Returns { total, page, limit, items[] }.

List promotions (discount campaigns) with code settings, validity window, redemption limits and a summary of their discounts (scope, type, value). Filter by active or code. Returns { total, page, limit, items[] }.

No input schema was published for this tool.

promotion_toggleActivate or deactivate one promotion. dryRun=true (default) returns the exact PATCH request without changing anything; call again with dryRun=false to apply. Returns { dryRun, wouldSend } or { dryRun: false, result: <updated promotion> }.

Activate or deactivate one promotion. dryRun=true (default) returns the exact PATCH request without changing anything; call again with dryRun=false to apply. Returns { dryRun, wouldSend } or { dryRun: false, result: <updated promotion> }.

No input schema was published for this tool.

sales_channels_listList sales channels (storefronts, headless APIs, marketplaces) with their type, domains and active flag. Use it to find the sales channel or domain an order or product belongs to. Returns { total, page, limit, items[] }.

List sales channels (storefronts, headless APIs, marketplaces) with their type, domains and active flag. Use it to find the sales channel or domain an order or product belongs to. Returns { total, page, limit, items[] }.

No input schema was published for this tool.

shop_infoGet basic facts about the connected Shopware shop: version, edition (Community/Commercial), default currency and default language, plus whether write tools are enabled on this server. Use it first to orient yourself or to confirm the connection works. Returns one object.

Get basic facts about the connected Shopware shop: version, edition (Community/Commercial), default currency and default language, plus whether write tools are enabled on this server. Use it first to orient yourself or to confirm the connection works. Returns one object.

No input schema was published for this tool.

shop_auditNo description published

This tool published no description. Forge does not invent one.

categories_listList categories as a flat list with parentId and level so you can rebuild the tree. Each item includes productCount (directly assigned products). Filter by parentId to get one level, or by level=1 for the roots. Returns { total, page, limit, items[] }.

List categories as a flat list with parentId and level so you can rebuild the tree. Each item includes productCount (directly assigned products). Filter by parentId to get one level, or by level=1 for the roots. Returns { total, page, limit, items[] }.

No input schema was published for this tool.

customers_searchSearch customers by term (name, email, customer number) and/or Criteria filters such as email, active, guest, group.name or lastOrderDate ranges. Returns compact summaries with group, order count and last order date. Use customers_get for addresses and payment method. Returns { total, page, limit,…

Search customers by term (name, email, customer number) and/or Criteria filters such as email, active, guest, group.name or lastOrderDate ranges. Returns compact summaries with group, order count and last order date. Use customers_get for addresses and payment method. Returns { total, page, limit,…

No input schema was published for this tool.

customers_getGet one customer by ID, customer number or email, including all addresses (with default billing/shipping flags), customer group, default and last used payment method. Returns one object.

Get one customer by ID, customer number or email, including all addresses (with default billing/shipping flags), customer group, default and last used payment method. Returns one object.

No input schema was published for this tool.

order_documents_listList the documents generated for one order: invoices, delivery notes, credit notes and cancellation invoices, with document number, type, creation date and whether they were sent. Use document_download to fetch one as PDF. Returns { orderId, orderNumber, total, items[] }.

List the documents generated for one order: invoices, delivery notes, credit notes and cancellation invoices, with document number, type, creation date and whether they were sent. Use document_download to fetch one as PDF. Returns { orderId, orderNumber, total, items[] }.

No input schema was published for this tool.

document_downloadFetch one order document (invoice, delivery note, credit note, cancellation invoice) as a PDF. The file is returned to the host as an embedded resource next to the document's metadata; the model sees the metadata only. Get the documentId from order_documents_list. Read-only, nothing is marked as se…

Fetch one order document (invoice, delivery note, credit note, cancellation invoice) as a PDF. The file is returned to the host as an embedded resource next to the document's metadata; the model sees the metadata only. Get the documentId from order_documents_list. Read-only, nothing is marked as se…

No input schema was published for this tool.

order_document_createNo description published

This tool published no description. Forge does not invent one.

entity_searchNo description published

This tool published no description. Forge does not invent one.

entity_schemaDescribe a Shopware entity: its fields (name, type, flags such as required/translatable) and associations (name, relation, target entity), taken from the shop's own entity schema. Call it without `entity` to list all entity names. Use it to build precise filters for entity_search or the `fields` pa…

Describe a Shopware entity: its fields (name, type, flags such as required/translatable) and associations (name, relation, target entity), taken from the shop's own entity schema. Call it without `entity` to list all entity names. Use it to build precise filters for entity_search or the `fields` pa…

No input schema was published for this tool.

sales_reportAggregate sales figures for a period straight from Shopware: order count, gross/net revenue, average order value, breakdowns by order/payment/delivery state, payment method, currency and sales channel, a revenue timeline (day/week/month) and the top-selling products. Use it for 'how did we do last…

Aggregate sales figures for a period straight from Shopware: order count, gross/net revenue, average order value, breakdowns by order/payment/delivery state, payment method, currency and sales channel, a revenue timeline (day/week/month) and the top-selling products. Use it for 'how did we do last…

No input schema was published for this tool.

stock_getGet stock and available stock for one product by ID or product number, including every variant. Use it for 'how many X are left?' questions. Returns one object with a variants[] list (empty for simple products).

Get stock and available stock for one product by ID or product number, including every variant. Use it for 'how many X are left?' questions. Returns one object with a variants[] list (empty for simple products).

No input schema was published for this tool.

stock_setSet the absolute stock of one product or variant. dryRun=true (default) returns the exact PATCH request without changing anything; call again with dryRun=false to apply. Returns { dryRun, wouldSend } or { dryRun: false, result: <product stock> }.

Set the absolute stock of one product or variant. dryRun=true (default) returns the exact PATCH request without changing anything; call again with dryRun=false to apply. Returns { dryRun, wouldSend } or { dryRun: false, result: <product stock> }.

No input schema was published for this tool.

merqo_healthRead the Merqo Hub status page: compliance traffic lights (e-invoicing out and in, packaging reporting, accessibility statement, AI labelling, review transparency) and operational health (disabled resilience guards, overdue scheduled tasks, message queue depth, admin two-factor coverage). Each entr…

Read the Merqo Hub status page: compliance traffic lights (e-invoicing out and in, packaging reporting, accessibility statement, AI labelling, review transparency) and operational health (disabled resilience guards, overdue scheduled tasks, message queue depth, admin two-factor coverage). Each entr…

No input schema was published for this tool.

merqo_einvoice_inboxNo description published

This tool published no description. Forge does not invent one.

merqo_returns_searchNo description published

This tool published no description. Forge does not invent one.

merqo_abandoned_cartsNo description published

This tool published no description. Forge does not invent one.

22 of 30 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

MCP server for the Shopware 6 Admin API. Read-only by default, guarded writes with dry-run.

Keywords
mcpmodel-context-protocolshopwareshopware6admin-apiai-agentsclaudeagentaiecommercemcp-server
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-05 — observed resolution, not a publisher declaration.

60 packages resolved · 2 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the depth-4 limit. Anything below that level was never resolved.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

53 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+41 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.

Topics

Related in payments & commerce