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
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
Copy file name to clipboardExpand all lines: specification/draft/apps.mdx
+9-24Lines changed: 9 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1416,17 +1416,19 @@ Clients and servers negotiate MCP Apps support using the extension identifier `i
1416
1416
1417
1417
#### Capability Location
1418
1418
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`:
1420
1420
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.
1422
1422
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 locationfor extension capabilities.
1424
1424
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.
1426
1428
1427
-
Clients advertise MCP Apps support in the initialize request:
1429
+
#### Client (Host) Capabilities
1428
1430
1429
-
**Using `experimental` (recommended for current deployments):**
1431
+
Clients SHOULD advertise MCP Apps support in both fields:
1430
1432
1431
1433
```json
1432
1434
{
@@ -1438,24 +1440,7 @@ Clients advertise MCP Apps support in the initialize request:
1438
1440
"io.modelcontextprotocol/ui": {
1439
1441
"mimeTypes": ["text/html;profile=mcp-app"]
1440
1442
}
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):**
0 commit comments