-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Open
Labels
mcpMCP/Extension relatedMCP/Extension relatedmcp-apps-complianceMCP Apps spec compliance (2026-01-26)MCP Apps spec compliance (2026-01-26)roadmapThis feature is on the roadmap. The core team will prioritize itThis feature is on the roadmap. The core team will prioritize it
Description
MCP Apps Spec Compliance — 2026-01-26
Tracking full compliance with the MCP Apps specification (2026-01-26).
Current status: ~95% compliant
All issues below are labeled mcp-apps-compliance for filtering.
High Priority
- Respect MCP visibility flags #7467 — Respect MCP visibility flags (
_meta.ui.visibilityfiltering + enforcement) — feat: filter tools by MCP Apps visibility metadata #8022 - MCP App iframe does not support fullscreen display mode (e.g. Excalidraw) #7142 — Fullscreen close button must always persist regardless of app capabilities — fix(desktop): fullscreen header bar + always-visible close controls #8033
Medium Priority
- feat: Implement
ui/update-model-contextfor MCP Apps #6472 — Implementui/update-model-contextfor MCP Apps
Low Priority
- MCP Apps: Report sandbox permissions and CSP in hostCapabilities #8013 — Report sandbox permissions and CSP in
hostCapabilities - MCP Apps: Security hardening — audit logging and resource integrity #8014 — Security hardening — audit logging and resource integrity
- MCP Apps: Plumb toolInfo.id (JSON-RPC request ID) to frontend #8015 — Plumb
toolInfo.id(JSON-RPC request ID) to frontend - MCP Apps: Support appCapabilities.tools (View-exposed tools) #8016 — Support
appCapabilities.tools(View-exposed tools)
Completed
- Tool visibility filtering —
_meta.ui.visibilityparsing, model-side filtering, app-side enforcement with 403 (Respect MCP visibility flags #7467, feat: filter tools by MCP Apps visibility metadata #8022) - Fullscreen header bar with title, always-visible close/PiP controls (MCP App iframe does not support fullscreen display mode (e.g. Excalidraw) #7142, fix(desktop): fullscreen header bar + always-visible close controls #8033)
- Respect MCP visibility flags —
_meta.ui.visibilityfiltering (Respect MCP visibility flags #7467, feat: filter tools by MCP Apps visibility metadata #8022) - Extension capability negotiation —
io.modelcontextprotocol/ui+mimeTypes(feat(mcp): upgrade rmcp to 0.15.0 and advertise MCP Apps UI extension capability #6927) - MCP-compliant theme tokens — CSS variables with
light-dark(), custom fonts (refactor: MCP-compliant theme tokens and CSS class rename #7275) - Container dimensions —
containerDimensionsreplacingviewport(fix(ui): revert app-driven iframe width and send containerDimensions per ext-apps spec #7300) - Display modes — fullscreen and PiP with negotiation (feat(ui): implement fullscreen and pip display modes for MCP Apps #7312)
-
toolInfoinhostContext— tool name, description, inputSchema -
sandbox-proxy-readynotification naming -
appCapabilities.availableDisplayModesparsing -
ui/request-display-modehandler -
host-context-changedauto-diffing (handled by@mcp-ui/clientSDK v6.1.0) - UI resource format —
ui://scheme,text/html;profile=mcp-appMIME type - CSP enforcement —
connectDomains,resourceDomains,frameDomains,baseUriDomains - Permission Policy — camera, microphone, geolocation, clipboardWrite
- All standard MCP messages —
tools/call,resources/read,ping,notifications/message - All host→view notifications —
tool-input,tool-input-partial,tool-result,tool-cancelled,size-changed,resource-teardown -
sampling/createMessagesupport viaonFallbackRequest
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
mcpMCP/Extension relatedMCP/Extension relatedmcp-apps-complianceMCP Apps spec compliance (2026-01-26)MCP Apps spec compliance (2026-01-26)roadmapThis feature is on the roadmap. The core team will prioritize itThis feature is on the roadmap. The core team will prioritize it