-
Notifications
You must be signed in to change notification settings - Fork 5
Open
0 / 30 of 3 issues completedLabels
Description
Problem Statement
Currently, MCP interactions are limited to text, images, and audio responses. This creates a significant limitation for building rich, interactive user experiences with MCP servers. The community has expressed strong interest in enabling UI components within tool responses to support complex workflows, forms, interactive data visualization, and guided user interactions.
Specific Implementation Challenges
- Limited Interaction Patterns: Current MCP responses cannot support interactive forms, buttons, tables with sorting/filtering, or multi-step workflows
- Custom DSL Proliferation: Developers are creating ad-hoc solutions like JSONSchema-based forms or notification systems, leading to inconsistent approaches
- Breaking MCP Contract: Workarounds often require stepping outside the MCP protocol, reducing interoperability
- Developer Experience: Building meaningful interactive flows requires duplicating logic across tools and frontends
Real-World Use Cases
- Interactive dashboards for system monitoring
- Dynamic forms for data collection and validation
- Step-by-step guided workflows
- Rich data visualization with user controls
- Multi-step approval processes
Current State
A community member (idosal) has developed a working implementation:
- Library:
@mcp-ui/client
(experimental, community-maintained) - URI Scheme:
ui://
andui-app://
for embedded resources - Implementation: Fork of MCP Inspector with UI rendering capabilities
Interests vs Positions
Community Interests
- Security: Ensure UI rendering doesn't introduce XSS or injection vulnerabilities
- Interoperability: Maintain MCP protocol compatibility across implementations
- Developer Experience: Provide rich, interactive capabilities without breaking existing patterns
- Standards: Establish consistent approaches rather than fragmented solutions
- Innovation: Enable new categories of MCP applications and use cases
Current Positions Being Advocated
- Official integration into MCP Inspector (rejected)
- Community fork maintenance approach (current)
- Plugin architecture for extensibility (proposed)
- Protocol-level UI support (under consideration)
Related Work
- Original PR Discussion: feat: support UI in Tool responses modelcontextprotocol/inspector#413
- Community Implementation:
@mcp-ui/client
library - Fork Maintenance:
ui-inspector
community fork - Protocol Discussion: Referenced in modelcontextprotocol/discussions/287
Sources: Discord, original Inspector PR discussion
kentcdodds, tadasant, idosal, techspawn1, techspawn and 4 morehamatoyogi and drewhayward
Sub-issues
Metadata
Metadata
Labels
Type
Projects
Status
Draft