showcase/shell-docs/src/content/docs/generative-ui/mcp-apps.mdx
MCP Apps are MCP servers that expose tools with associated UI resources. When the agent calls one of these tools, CopilotKit automatically fetches the resource and renders the UI component in the chat; no additional frontend code required.
Key benefits:
A single mcpApps.servers entry on the runtime is all it takes. The runtime
auto-applies the MCP Apps middleware to every registered agent: each time an
agent calls a tool backed by an MCP UI resource, the middleware fetches the
resource and emits an activity event that the built-in
MCPAppsActivityRenderer renders inline in the chat as a sandboxed iframe.
Unlike custom activity types, the MCP Apps renderer is already registered by
CopilotKitProvider out of the box. A plain <CopilotChat /> is enough;
no renderActivityMessages prop, no manual
useRenderActivityMessage wiring.
The middleware supports two transport types:
Use this format to connect to an MCP server that accepts standard HTTP requests:
{
type: "http",
url: "http://localhost:3101/mcp",
serverId: "my-http-server"
}
Use this format to connect to an MCP server that streams events over a persistent connection:
{
type: "sse",
url: "https://mcp.example.com/sse",
headers: {
"Authorization": "Bearer token"
},
serverId: "my-sse-server"
}
Try these open-source MCP Apps servers to get started: