MCP Apps SDK Common questions about building MCP Apps with the MCP Apps SDK (Documentation Index
Fetch the complete documentation index at: https://sunpeak.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
@modelcontextprotocol/ext-apps). For the conceptual overview, start with What are MCP Apps?.
What is an MCP App?
What is an MCP App?
How is an MCP App different from a regular MCP tool?
How is an MCP App different from a regular MCP tool?
Which AI hosts support MCP Apps?
Which AI hosts support MCP Apps?
What happens if a host doesn't support MCP Apps?
What happens if a host doesn't support MCP Apps?
How does a server deliver a UI to the host?
How does a server deliver a UI to the host?
ui:// URI scheme with the text/html;profile=mcp-app MIME type, then links a tool to its template through resource metadata. Declaring templates upfront lets hosts prefetch and cache them, keeps presentation separate from data, and lets hosts review the UI during connection setup. See MCP resources and resource metadata.How does the UI communicate with the host?
How does the UI communicate with the host?
postMessage. From the app you can call server tools, send messages to the thread, update model context, request a display mode, open links, and more. The full set lives in the Requests API, and the connection sequence is covered in the lifecycle.Can an MCP App fetch fresh data or trigger server actions?
Can an MCP App fetch fresh data or trigger server actions?
callServerTool. This is how a refresh button reloads data, a form submits, or a control paginates without leaving the conversation. Tools can also be marked app-only (visibility: ["app"]) so the model never sees interaction-only tools. See tool visibility and app tools.Can an MCP App make network requests to my own API?
Can an MCP App make network requests to my own API?
What display modes can an MCP App use?
What display modes can an MCP App use?
inline (embedded in the chat flow), fullscreen (takes over the window), and pip (a picture-in-picture overlay). The app declares which modes it supports and the host declares which it can provide; the host has final say. Switch modes from the app with requestDisplayMode.How does an MCP App match the host's light or dark theme?
How does an MCP App match the host's light or dark theme?
onhostcontextchanged. Style your app with the host’s CSS variables so it follows the host’s colors, fonts, and spacing automatically. See theming.What language or framework do I build an MCP App in?
What language or framework do I build an MCP App in?
How do I test an MCP App without deploying to a host?
How do I test an MCP App without deploying to a host?
sunpeak inspect --server <url> works against any MCP server in any language, and sunpeak dev adds hot reload for sunpeak projects. You can also automate the loop with e2e, visual regression, eval, and live tests. See the testing overview.How are MCP Apps kept secure?
How are MCP Apps kept secure?
postMessage, which makes it auditable. Network access is limited to the domains the server declares through CSP metadata, enforced by the host. See CSP and CORS.