You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Remove separate "App Capabilities" section for availableDisplayModes
- Add display mode requirements to existing ui/request-display-mode section:
- Host MUST NOT switch View to mode not in appCapabilities.availableDisplayModes
- Host MAY decline requests from Views that didn't declare modes
- View MUST declare supported modes during initialization
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The `availableDisplayModes` field allows apps to declare which display modes they support. This enables hosts to only switch to (and provide UI controls for) display mode options that the app can handle.
536
-
537
-
**App Behavior:**
538
-
539
-
- Apps SHOULD declare all display modes they are designed to support
540
-
- If omitted, hosts MAY assume the app supports all modes, or only `inline`. Apps that do not specify this field may not be able to take over fullscreen automatically.
541
-
- Apps MUST handle graceful degradation if placed in an unsupported mode
542
-
543
-
**Host Behavior:**
544
-
545
-
- Host SHOULD honor requests for its declared supported display modes
546
-
- Host MUST reject display mode requests for modes it does not support
547
-
- Host MAY include the available modes in `HostContext.availableDisplayModes`
548
-
549
508
### Host Context in `McpUiInitializeResult`
550
509
551
510
When the View sends an `ui/initialize` request to the Host, the Host SHOULD include UI-specific context in the `McpUiInitializeResult`'s `hostContext` field:
@@ -1019,12 +978,14 @@ Host behavior:
1019
978
```
1020
979
1021
980
Host behavior:
1022
-
*App MUST check if the requested mode is in `availableDisplayModes` from host context.
981
+
*Host MUST NOT switch the View to a display mode that does not appear in its `appCapabilities.availableDisplayModes`, if set.
1023
982
* It is up to the host whether it switches to the requested mode, but the host MUST return the resulting mode (whether updated or not) in the response.
1024
983
* If the requested mode is not available, Host SHOULD return the current display mode in the response.
1025
984
* Host MAY coerce modes on certain platforms (e.g., "pip" to "fullscreen" on mobile).
985
+
* Host MAY decline display mode requests from Views that did not declare said modes in their capabilities.
1026
986
1027
987
View behavior:
988
+
* View MUST declare all display modes it supports in `appCapabilities.availableDisplayModes` during initialization.
1028
989
* View SHOULD check `availableDisplayModes` in host context before requesting a mode change.
1029
990
* View MUST handle the response mode differing from the requested mode.
0 commit comments