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
Change from text/vnd.mcp.ui+html to text/html+mcp.
Rationale:
- It's an unregistered subtype, allowed for private use
- The +suffix form indicates MCP-specific semantics (postMessage protocol)
- Content is still valid HTML and can be rendered as-such
- Following RFC 6838, +mcp could be registered as an official suffix
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
Copy file name to clipboardExpand all lines: specification/draft/apps.mdx
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
8
8
## Abstract
9
9
10
-
This SEP proposes an extension (per SEP-1724) to MCP that enables servers to deliver interactive user interfaces to hosts. MCP Apps introduces a standardized pattern for declaring UI resources via the `ui://` URI scheme, associating them with tools through metadata, and facilitating bidirectional communication between the UI and the host using MCP's JSON-RPC base protocol. This extension addresses the growing community need for rich, interactive experiences in MCP-enabled applications, maintaining security, auditability, and alignment with MCP's core architecture. The initial specification focuses on HTML resources (`text/vnd.mcp.ui+html`) with a clear path for future extensions.
10
+
This SEP proposes an extension (per SEP-1724) to MCP that enables servers to deliver interactive user interfaces to hosts. MCP Apps introduces a standardized pattern for declaring UI resources via the `ui://` URI scheme, associating them with tools through metadata, and facilitating bidirectional communication between the UI and the host using MCP's JSON-RPC base protocol. This extension addresses the growing community need for rich, interactive experiences in MCP-enabled applications, maintaining security, auditability, and alignment with MCP's core architecture. The initial specification focuses on HTML resources (`text/html+mcp`) with a clear path for future extensions.
11
11
12
12
## Motivation
13
13
@@ -43,7 +43,7 @@ MCP Apps extends the Model Context Protocol to enable servers to deliver interac
43
43
-**Bidirectional Communication:** UI iframes communicate with hosts using standard MCP JSON-RPC protocol
44
44
-**Security Model:** Mandatory iframe sandboxing with auditable communication
45
45
46
-
This specification focuses on HTML content (`text/vnd.mcp.ui+html`) as the initial content type, with extensibility for future formats.
46
+
This specification focuses on HTML content (`text/html+mcp`) as the initial content type, with extensibility for future formats.
47
47
48
48
As an extension, MCP Apps is optional and must be explicitly negotiated between clients and servers through the extension capabilities mechanism (see Capability Negotiation section).
49
49
@@ -56,7 +56,7 @@ interface UIResource {
56
56
uri:string; // MUST start with 'ui://'
57
57
name:string; // Human-readable identifier
58
58
description?:string; // Description of the UI resource
59
-
mimeType:string; // SHOULD be 'text/vnd.mcp.ui+html' in MVP
59
+
mimeType:string; // SHOULD be 'text/html+mcp' in MVP
60
60
_meta?:UIResourceMeta// Resource Metadata
61
61
}
62
62
@@ -77,7 +77,7 @@ The resource content is returned via `resources/read`:
77
77
{
78
78
contents: [{
79
79
uri: string; // Matching UI resource URI
80
-
mimeType: "text/vnd.mcp.ui+html"; // MUST be "text/vnd.mcp.ui+html"
80
+
mimeType: "text/html+mcp"; // MUST be "text/html+mcp"
81
81
text?:string; // HTML content as string
82
82
blob?:string; // OR base64-encoded HTML
83
83
_meta?: {
@@ -97,7 +97,7 @@ The resource content is returned via `resources/read`:
97
97
#### Content Requirements:
98
98
99
99
- URI MUST start with `ui://` scheme
100
-
-`mimeType` MUST be `text/vnd.mcp.ui+html` (other types reserved for future extensions)
100
+
-`mimeType` MUST be `text/html+mcp` (other types reserved for future extensions)
101
101
- Content MUST be provided via either `text` (string) or `blob` (base64-encoded)
0 commit comments