Skip to content

fix: detect connect-time MCP toolsets through core's public constant - #312

Merged
Dominik Grothaus (dgrothaus-sw) merged 1 commit into
mainfrom
fix-ucp-mcp-toolset-follow-ups
Oct 26, 2026
Merged

Dominik Grothaus (dgrothaus-sw) merged 1 commit into
mainfrom
fix-ucp-mcp-toolset-follow-ups

Conversation

@dgrothaus-sw

Copy link
Copy Markdown
Contributor

The extension now recognises Shopware's connect-time toolset selection by the public constant that Shopware's release notes name for it. It no longer looks for one of Shopware's internal classes. Which tools an agent sees on /ucp/mcp stays the same on every Shopware version.

The lane differences document now says, per Shopware version, which tools the first tool listing of /ucp/mcp and /store-api/_mcp contains and what provides them. It no longer says that the Store API MCP endpoint is still waiting for Shopware. The code comments that explained the same thing in four places now keep only the constraint each one enforces.

Follow-up to #261.

  • Tests cover the change, or it needs none, such as documentation or CI configuration.
  • A change merchants notice has an entry under # next version in both changelogs.
  • The change works on Shopware 6.5, 6.6 and 6.7 from one codebase.

`UcpMcpToolset::coreSupportsConnectTimeToolsets()` now checks for
`McpToolsetRegistry::ALL_TOOLSETS`.
Core's release notes name that constant for this since 6.7.16.0.
It probed the internal `McpRequestedToolsetResolver` class before.
The comment on `UcpMcpToolset::QUERY_PARAMETER` now names core's public
`McpToolsetRegistry::QUERY_PARAMETER`.
That constant exists from 6.7.16.0.

`docs/shopware-version-differences.md` has a new section on what the
first `tools/list` of `/ucp/mcp` and `/store-api/_mcp` contains on each
Shopware line, and which mechanism provides it.
It replaces the note that the Store API MCP endpoint is still waiting
for shopware/shopware#17228.
The rationale now lives in that section.
The comments in the code keep only the constraint each one enforces.
The docblock of `pinUcpToolset()` no longer says that it runs after the
signature check, because OPTIONS requests reach it first.

`ShopwareVersionDetector::isAtLeast()` was removed, because only tests
called it.
`UcpMcpDiscoveryFlowTest` compares the version itself.

Follow-up to #261.
@dgrothaus-sw
Dominik Grothaus (dgrothaus-sw) merged commit 9843b41 into main Oct 26, 2026
29 checks passed
@dgrothaus-sw
Dominik Grothaus (dgrothaus-sw) deleted the fix-ucp-mcp-toolset-follow-ups branch October 26, 2026 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants