What Are MCP Resources?
Resources are data that an MCP server exposes for reading. Each resource is identified by a URI and has a MIME type. Unlike tools (which execute actions), resources represent data that can be fetched — files, structured data, or (in MCP Apps) interactive HTML UIs.Discovery (resources/list)
The host calls resources/list to discover available resources. Each resource declares:
| Field | Description |
|---|---|
uri | Unique identifier (e.g., "ui://weather/view.html") |
name | Human-readable name |
description | What the resource contains |
mimeType | Content type (e.g., "text/html", "application/json") |
URIs
Resources are identified by URIs. Servers can use any URI scheme. MCP Apps uses theui:// scheme to identify UI resources that should be rendered in iframes.
MIME Types
Each resource declares its content type viamimeType. MCP Apps uses the MIME type text/html;profile=mcp-app (exported as RESOURCE_MIME_TYPE) to identify HTML resources that hosts should render as interactive Views.
Reading (resources/read)
The host calls resources/read with a resource URI to fetch its contents. The server returns an array of content items.
In MCP Apps
MCP Apps extends resources with_meta.ui metadata on content items. This lets servers declare security policies (CSP), iframe permissions, rendering preferences, and stable sandbox origins for their UIs.
registerAppResource
Register HTML resources on the MCP server.
Resource _meta
CSP, permissions, domain, and rendering metadata.