Skip to content

docs: add MCP server documentation#2264

Open
Björn Meyer (BrocksiNet) wants to merge 15 commits into
mainfrom
feat/mcp-server-documentation
Open

docs: add MCP server documentation#2264
Björn Meyer (BrocksiNet) wants to merge 15 commits into
mainfrom
feat/mcp-server-documentation

Conversation

@BrocksiNet
Copy link
Copy Markdown
Contributor

@BrocksiNet Björn Meyer (BrocksiNet) commented Apr 23, 2026

Summary

Adds complete documentation for Shopware's native MCP server introduced in 6.7:

  • guides/development/tooling/mcp-server/ — 8 pages covering concepts, getting started, configuration, best practices, examples, troubleshooting, tools reference, and Shopware extensions (Copilot, SwagMcpMerchantAssistant, SwagMcpDevTools, ai-coding-tools)
  • guides/plugins/plugins/mcp-server.md — how-to for extending via plugin
  • guides/plugins/apps/mcp-server.md — how-to for extending via app (webhook)
  • 4 Admin UI screenshots for tool allowlist and ACL privilege flows
  • Navigation entries in tooling, plugins, apps, and extensions indexes

Related links

relates: shopware/shopware#15346

Checklist

  • I reviewed affected links, code samples, and cross-references, including PageRef references where relevant.
  • I added or updated redirects in .gitbook.yaml if pages were moved, renamed, or deleted.
  • I updated .wordlist.txt (and sorted it) if spellcheck flags new legitimate terms.
  • Any required dependent changes in downstream modules have already been merged and published.
  • This pull request is ready for review.

Notes

Adds complete documentation for Shopware's native MCP server introduced
in 6.7:

- guides/development/tooling/mcp-server/ — 8 pages covering concepts,
  getting started, configuration, best practices, examples,
  troubleshooting,
  tools reference, and Shopware extensions (Copilot,
  SwagMcpMerchantAssistant,
  SwagMcpDevTools, ai-coding-tools)
- guides/plugins/plugins/mcp-server.md — how-to for extending via plugin
- guides/plugins/apps/mcp-server.md — how-to for extending via app
  (webhook)
- 4 Admin UI screenshots for tool allowlist and ACL privilege flows
- Navigation entries in tooling, plugins, apps, and extensions indexes
references

- Fix McpContextProvider namespace (Context\ sub-namespace) and
  requirePrivilege return value pattern in plugin sample code
- Fix shopware-media-upload has no dryRun, theme-config action/config
  defaults, debug:mcp column list, tool count claim
- Add extending.md: side-by-side quick reference for
  tools/prompts/resources across app, plugin, and bundle
- Add webhook handler examples for prompts and resources in
  apps/mcp-server.md
- Link SwagMcpAdminUsers and McpHelloWorld example repos in plugin and
  app docs
- Expand MCP acronym on first use in mcp-concepts.md, fix lowercase mcp
  in headings to use backticks
- Fix duplicate heading in shopware-extensions.md
- Document required-privileges in app mcp.xml (informational only;
  apps must enforce ACL themselves)
- Add array/object to supported input schema property types
- Add internal URL mode (url="/...") for routing to app scripts
- Document integration.mcp_tool_allowlist semantics (null/array/empty)
- Replace stale mcp.yaml snippet with mcp.php note; clarify the bundle
  loads automatically when MCP_SERVER feature flag is active
- Add --integration flag to debug:mcp; remove non-existent --all flag
- Add Symfony bundle stub guide
reference

- Add three new subsections to best-practices.md: writing descriptions
  for agent
  routing, the DI container cache requirement after description changes,
  and using
  the system prompt as the disambiguation override layer
- Fix shopware-theme-config salesChannelId row in tools-reference.md to
  reflect
  that it is optional in the schema and validated at runtime
- Rename "Edit MCP Tools" → "Edit MCP Allowlist" across all docs
- Update integration.mcp_tool_allowlist semantics to mcp_allowlist
  (JSON object with tools/resources/prompts keys, scoped to integration
  credentials only — admin user bearer tokens bypass the allowlist)
- Document scope in configuration.md and add a row to the
  troubleshooting
  quick reference explaining why bearer tokens see all capabilities
- Replace four allowlist UI screenshots with new versions reflecting
  vendor groupings, expandable tool descriptions, and the per-type
  toggles (tools/resources/prompts)
- Add a "Limit tool count" illustration to best-practices.md showing the
  inline privilege-gap warnings when everything is enabled
- Clarify in configuration.md that the bundle config loads automatically
  only when the MCP_SERVER feature flag is active
- Replace "eval" with "evaluation" in best-practices.md for clarity
- Drop Feature::has('MCP_SERVER') gate from bundle build() examples;
  core mcp.php loads services unconditionally and only the controller
  checks the flag
- Add title attribute to McpTool/McpPrompt examples and document its
  purpose
- Clarify configuration.md: symfony/mcp-bundle's mcp.php is loaded
  unconditionally; the flag gates /api/_mcp only
- Point bundle extension docs to the new bundle.md#optional-bundles
  pattern (gate in bundles.php, not build())
- Fix compiler pass name: McpToolCompilerPass →
  McpToolDiscoveryCompilerPass
@BrocksiNet Björn Meyer (BrocksiNet) marked this pull request as ready for review May 20, 2026 09:04
Copilot AI review requested due to automatic review settings May 20, 2026 09:04
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new documentation section for Shopware’s native MCP server (6.7+) and extension guides for contributing MCP capabilities via plugins and apps, plus navigation and spellcheck updates to surface the new content across the docs.

Changes:

  • Add a new guides/development/tooling/mcp-server/ documentation set (concepts, setup, configuration, best practices, examples, troubleshooting, tools reference, extensions).
  • Add “extend via plugin” and “extend via app” how-tos, and link them from the plugin/app guide indexes.
  • Update navigation entries and expand .wordlist.txt for MCP-related terminology.

Reviewed changes

Copilot reviewed 19 out of 24 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
guides/plugins/plugins/mcp-server.md New guide for extending MCP via Shopware plugin/Symfony bundle (tools/prompts/resources).
guides/plugins/plugins/index.md Adds MCP extension entry to plugin topic index table.
guides/plugins/plugins/bundle.md Adds “Optional bundles” guidance (InstalledVersions/Feature guards).
guides/plugins/apps/mcp-server.md New guide for extending MCP via apps (mcp.xml + webhook protocol).
guides/plugins/apps/index.md Adds link to the new MCP app extension guide.
guides/development/tooling/using-watchers.md Renames nav title to “Hot Module Replacement”.
guides/development/tooling/mcp-server/index.md New MCP server landing page (capabilities, architecture, section index).
guides/development/tooling/mcp-server/mcp-concepts.md New concepts page explaining tools/resources/prompts.
guides/development/tooling/mcp-server/getting-started.md New setup guide for enabling MCP and configuring clients.
guides/development/tooling/mcp-server/configuration.md New configuration guide (feature flag, allowlists, session store, CLI).
guides/development/tooling/mcp-server/best-practices.md New best-practices guide for MCP tool/prompt/resource design.
guides/development/tooling/mcp-server/examples.md New end-to-end workflow examples using core tools/resources.
guides/development/tooling/mcp-server/extending.md New side-by-side extension reference (app vs plugin vs bundle).
guides/development/tooling/mcp-server/troubleshooting.md New troubleshooting quick reference and common issues.
guides/development/tooling/mcp-server/tools-reference.md New reference for built-in tools/resources/prompt and parameters.
guides/development/tooling/mcp-server/shopware-extensions.md New overview of MCP-related Shopware extensions/projects.
guides/development/tooling/index.md Adds MCP Server entry to tooling overview.
guides/development/extensions/index.md Adds MCP extensibility section linking to plugin/app guides.
.wordlist.txt Adds MCP-related terms for spellcheck.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread guides/development/tooling/mcp-server/index.md Outdated
Comment thread guides/development/tooling/mcp-server/mcp-concepts.md Outdated
Comment thread guides/development/tooling/mcp-server/extending.md Outdated
Comment thread guides/development/tooling/mcp-server/extending.md Outdated
Comment on lines +204 to +211
const expected = crypto
.createHmac('sha256', appSecret)
.update(body)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
Comment thread guides/development/tooling/mcp-server/troubleshooting.md Outdated
Comment thread guides/development/tooling/mcp-server/configuration.md Outdated
Comment thread .wordlist.txt
Comment on lines 75 to 77
Archlinux
ArrayAdapter
ArrayFacade
Comment thread guides/development/tooling/using-watchers.md
- Fix broken relative links (../../plugins → ../../../plugins) in index
  and mcp-concepts
- Align bundle prompt/resource tabs with feature-flag guidance (gates
  HTTP endpoint, not DI)
- Harden Node.js HMAC example: guard missing signature and mismatched
  lengths
- Clarify admin user vs --admin integration in configuration and
  troubleshooting tables
- Fix "Hot Module Reloading" → "Hot Module Replacement" for consistency
  in using-watchers
- Add products/tools/ index and lightweight MCP Server entry point
  linking to full docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Undocumented Feature Feature which is not documented yet and is considered for documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants