本页还没有译文
本页 25 段还没译成Español,下面显示的是英文原文。MCP Apps
还没翻译译自英文(ai-sdk.dev)本页 25 段都还没译
The MCP Apps helpers in @ai-sdk/mcp help an MCP host advertise UI support, keep model-visible and app-visible tools separate, and read ui:// HTML resources for rendering.
Import
import {
MCP_APP_MIME_TYPE,
mcpAppClientCapabilities,
readMCPAppResource,
splitMCPAppTools,
} from "@ai-sdk/mcp"MCP_APP_MIME_TYPE
The MIME type for HTML resources that should be rendered as MCP Apps.
const MCP_APP_MIME_TYPE = 'text/html;profile=mcp-app';mcpAppClientCapabilities
Client capabilities to pass to createMCPClient when your host supports MCP Apps.
import { createMCPClient, mcpAppClientCapabilities } from '@ai-sdk/mcp';
const client = await createMCPClient({
transport: {
type: 'http',
url: 'https://example.com/mcp',
},
capabilities: mcpAppClientCapabilities,
});The advertised capability is:
{
"extensions": {
"io.modelcontextprotocol/ui": {
"mimeTypes": ["text/html;profile=mcp-app"]
}
}
}splitMCPAppTools()
Splits MCP tool definitions into model-visible tools and app-visible tools.
Tools without MCP Apps visibility metadata remain model-visible. Tools whose _meta.ui.visibility includes "app" are returned in appVisible.
const definitions = await client.listTools();
const { modelVisible, appVisible } = splitMCPAppTools(definitions);
const tools = client.toolsFromDefinitions(modelVisible);Parameters
definitions(ListToolsResult): The tool definitions returned byclient.listTools().
Returns
modelVisible(ListToolsResult): Tool definitions that can be exposed to the language model.appVisible(ListToolsResult): Tool definitions that can be called by an MCP App through the host bridge.
readMCPAppResource()
Reads a ui:// resource from an MCP server and normalizes it into HTML plus rendering metadata.
const resource = await readMCPAppResource({
client,
uri: 'ui://example/dashboard',
});The helper validates that the URI starts with ui://, requires the text/html;profile=mcp-app MIME type, and supports resource contents returned as either text or base64 blob data.
Parameters
client(Pick<MCPClient, 'readResource'>): The MCP client used to read the resource.uri(string): Theui://resource URI to read.options?(RequestOptions): Optional request options, such as an abort signal or timeout.
Returns
Returns a Promise<MCPAppResource>.
uri(string): Theui://resource URI.mimeType('text/html;profile=mcp-app'): The MCP Apps HTML MIME type.html(string): The app HTML to render in a sandboxed iframe.meta?(MCPAppResourceMeta): Rendering metadata from resource_meta.ui, such as CSP, permissions, andprefersBorder.