Context
AdCP uses @modelcontextprotocol/server@2.0.0-beta.4 for its modern per-request MCP adapter, while the canonical @modelcontextprotocol/ext-apps server helpers still target @modelcontextprotocol/sdk v1.29.
Upstream tracking issue: modelcontextprotocol/ext-apps#702
This matters because registerAppTool and registerAppResource provide the canonical MCP Apps types and compatibility behavior, including:
- normalization between
_meta.ui.resourceUri and the legacy _meta["ui/resourceUri"] key
- the
text/html;profile=mcp-app resource MIME default
- typed tool visibility and resource
_meta.ui fields
Relationship to #2368
This does not block shipping the typed custom-tool _meta seam or the follow-on AdCP resource-registration surface. The MCP v2 server already exposes public registerTool and registerResource APIs; AdCP can register resources on each reconstructed per-request server.
The dependency becomes relevant when we want to replace local compatibility types and normalization with the canonical ext-apps implementation.
Follow-up when upstream #702 lands
Refs #2368.
Context
AdCP uses
@modelcontextprotocol/server@2.0.0-beta.4for its modern per-request MCP adapter, while the canonical@modelcontextprotocol/ext-appsserver helpers still target@modelcontextprotocol/sdkv1.29.Upstream tracking issue: modelcontextprotocol/ext-apps#702
This matters because
registerAppToolandregisterAppResourceprovide the canonical MCP Apps types and compatibility behavior, including:_meta.ui.resourceUriand the legacy_meta["ui/resourceUri"]keytext/html;profile=mcp-appresource MIME default_meta.uifieldsRelationship to #2368
This does not block shipping the typed custom-tool
_metaseam or the follow-on AdCP resource-registration surface. The MCP v2 server already exposes publicregisterToolandregisterResourceAPIs; AdCP can register resources on each reconstructed per-request server.The dependency becomes relevant when we want to replace local compatibility types and normalization with the canonical ext-apps implementation.
Follow-up when upstream #702 lands
_meta.uibehavior throughtools/list,resources/list, andresources/read.Refs #2368.