Skip to content

Commit 730c4c2

Browse files
committed
docs(spec): clarify hosts SHOULD double-tag, servers SHOULD check both
- Hosts SHOULD advertise capabilities in both experimental and extensions - Servers SHOULD check both locations, preferring extensions when present - Updated example to show double-tagging pattern
1 parent 8451dab commit 730c4c2

1 file changed

Lines changed: 9 additions & 24 deletions

File tree

specification/draft/apps.mdx

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1416,17 +1416,19 @@ Clients and servers negotiate MCP Apps support using the extension identifier `i
14161416

14171417
#### Capability Location
14181418

1419-
The MCP Apps capability can be advertised in either of two locations within `ClientCapabilities`:
1419+
The MCP Apps capability can be advertised in two locations within `ClientCapabilities`:
14201420

1421-
1. **`experimental`** (currently preferred): The `experimental` field is part of the current MCP schema and allows arbitrary extension data. Use this for maximum compatibility.
1421+
1. **`experimental`**: The `experimental` field is part of the current MCP schema and allows arbitrary extension data. This is required for compatibility with existing SDKs.
14221422

1423-
2. **`extensions`** (future): Once SEP-1724 is accepted and deployed, `extensions` will be the canonical location. Servers SHOULD check both locations for forward compatibility.
1423+
2. **`extensions`**: Once SEP-1724 is accepted and deployed, `extensions` will be the canonical location for extension capabilities.
14241424

1425-
#### Client (Host) Capabilities
1425+
**Clients (hosts) SHOULD advertise in both locations** ("double-tag") to ensure compatibility with all servers during the transition period.
1426+
1427+
**Servers SHOULD check both locations** when determining client support, preferring `extensions` when present.
14261428

1427-
Clients advertise MCP Apps support in the initialize request:
1429+
#### Client (Host) Capabilities
14281430

1429-
**Using `experimental` (recommended for current deployments):**
1431+
Clients SHOULD advertise MCP Apps support in both fields:
14301432

14311433
```json
14321434
{
@@ -1438,24 +1440,7 @@ Clients advertise MCP Apps support in the initialize request:
14381440
"io.modelcontextprotocol/ui": {
14391441
"mimeTypes": ["text/html;profile=mcp-app"]
14401442
}
1441-
}
1442-
},
1443-
"clientInfo": {
1444-
"name": "claude-desktop",
1445-
"version": "1.0.0"
1446-
}
1447-
}
1448-
}
1449-
```
1450-
1451-
**Using `extensions` (once SEP-1724 is accepted):**
1452-
1453-
```json
1454-
{
1455-
"method": "initialize",
1456-
"params": {
1457-
"protocolVersion": "2024-11-05",
1458-
"capabilities": {
1443+
},
14591444
"extensions": {
14601445
"io.modelcontextprotocol/ui": {
14611446
"mimeTypes": ["text/html;profile=mcp-app"]

0 commit comments

Comments
 (0)