TL;DR: MCP-UI extends the Model Context Protocol with interactive web components, sandboxed iframe rendering, and event-based UI actions that let agents handle richer workflows directly in conversation, according to WorkOS. The governance issue is not prettier interfaces but a new identity boundary where tool permissions, event validation, and session trust need tighter control than text-only MCP patterns allowed.
NHIMG editorial — based on content published by WorkOS: MCP-UI, a technical overview of interactive agent interfaces
By the numbers:
- Only 18% of MCP server deployments implement any form of access scoping for tool permissions.
- NHIs outnumber human identities by 25x to 50x in modern enterprises.
Questions worth separating out
Q: How should security teams govern interactive MCP components that can trigger tool actions?
A: They should govern them as privileged execution surfaces, not as presentation layers.
Q: Why do embedded agent interfaces complicate zero trust and least privilege?
A: Embedded interfaces compress observation and action into one session, which makes it easier for users or agents to move from viewing data to invoking privileged operations without a fresh decision point.
Q: What breaks when interactive components are trusted to send actions directly to agents?
A: The host can lose separation between display and authority.
Practitioner guidance
- Classify interactive MCP components as privileged execution surfaces Assign each UIResource type a defined permission boundary, logging requirement, and owner before it is exposed to users or agents.
- Validate every UIAction at the host layer Check origin, payload shape, and allowed tool mapping before the host executes any intent, prompt, or link emitted by an embedded component.
- Separate presentation trust from execution trust Use sandboxed rendering for visual content, but enforce independent authorisation for any action that can change state, access data, or invoke a tool.
What's in the full article
WorkOS's full article covers the operational detail this post intentionally leaves for the source:
- Step-by-step SDK patterns for building UIResource payloads across TypeScript and Ruby
- Implementation examples for iframe, external URL, and remote DOM rendering modes
- Client-side event handling patterns using onUIAction and auto-resize behaviour
- Development and testing workflows using ui-inspector and local MCP server setups
👉 Read WorkOS's technical overview of MCP-UI interactive agent interfaces →
MCP-UI interactive agent interfaces: what changes for IAM teams?
Explore further
MCP-UI expands the attack surface from text generation to event-authorised execution. Once a component can emit tool calls, intents, or prompts, the governance problem is no longer limited to prompt safety. The security boundary shifts to whether the host can reliably distinguish user intent from component output and whether every emitted action is constrained by identity policy. Practitioners should treat interactive MCP surfaces as privileged workflows with stricter validation than ordinary chat.
A few things that frame the scale:
- 80% of identity breaches involved compromised non-human identities such as service accounts and API keys, according to the Ultimate Guide to NHIs.
- Only 5.7% of organisations have full visibility into their service accounts, which means most environments still cannot reliably trace non-human access paths end to end.
A question worth separating out:
Q: How can teams tell whether MCP-UI is expanding risk beyond its intended boundary?
A: Look for any case where a rendering event, component message, or UI convenience step can change state, access data, or invoke a tool without a separate authorisation decision. That signal means the interface is no longer just helping the workflow, it is governing it.
👉 Read our full editorial: MCP-UI changes how interactive agent interfaces are governed