MCP应用刚刚发布(OpenAI和Anthropic合作),我认为这很重要。
MCP Apps just dropped (OpenAI and Anthropic collab) and I think this is huge

原始链接: http://blog.modelcontextprotocol.io/posts/2025-11-21-mcp-apps/

## MCP 应用扩展:为 AI 代理带来交互式用户界面 一项新的提案 (SEP-1865) 旨在标准化模型上下文协议 (MCP) 中的交互式用户界面,以响应 MCP 社区的关键需求。目前,MCP 的通信仅限于文本和结构化数据,当工具需要可视化显示或复杂用户输入时,会产生挑战。该扩展基于 MCP-UI 和 OpenAI Apps SDK 的工作,将允许服务器直接向宿主应用程序交付交互式用户界面。 核心思想是标准化声明 UI 资源(如 HTML 模板)的方式,将它们链接到工具,并使用现有的 MCP JSON-RPC 协议实现双向通信。这避免了由于不一致的实现造成的碎片化,并通过预先声明的资源和 iframe 沙箱提高性能和安全性。 最初的规范侧重于在沙箱化的 iframe 中使用 HTML 内容,以实现广泛的兼容性,并计划以后扩展到其他内容类型。重要的是,它被设计为向后兼容——现有的 MCP 实现将继续工作,并且服务器将提供基于文本的备用方案。 MCP 应用扩展由 OpenAI、Anthropic 和 MCP-UI 社区共同开发,有望为更丰富、更具吸引力的代理应用体验奠定基础。早期访问 SDK 可用,欢迎贡献。

OpenAI和Anthropic之间的新合作,推出模型上下文协议(MCP)应用程序(modelcontextprotocol.io),正在科技界引起轰动。其核心理念是为人工智能模型与应用程序交互创建一个标准化方式,可能成为像iOS或Android一样的 dominant 平台。 早期采用者,如Fractal,认为这个UI层解决了MCP采用的一个关键障碍——其对普通用户的复杂性,普通用户更喜欢像按钮和滑块这样简单的界面,而不是基于聊天的交互。 然而,人们正在对潜在的供应商锁定和允许人工智能控制应用程序功能引入的安全漏洞表示担忧。一位评论员质疑让机器人“点击按钮”的智慧,而另一位则强调了人工智能驱动界面可能带来的不可预测行为的风险。其采用速度之快让许多人感到惊讶,预示着应用程序构建和交互方式可能发生重大转变。
相关文章

原文

Today we’re introducing the proposal for the MCP Apps Extension (SEP-1865) to standardize support for interactive user interfaces in the Model Context Protocol.

This extension addresses one of the most requested features from the MCP community and builds on proven work from MCP-UI and OpenAI Apps SDK - the ability for MCP servers to deliver interactive user interfaces to hosts.

MCP Apps Extension introduces a standardized pattern for declaring UI resources, linking them to tools, and enabling bidirectional communication between embedded interfaces and the host application.

Example of an inline chat app with interactive UI for permission management

The SEP was authored by MCP Core Maintainers at OpenAI and Anthropic, together with the MCP-UI creators and lead maintainers of the MCP UI Community Working Group.

Standardization for interactive interfaces

Currently, MCP servers are limited to exchanging text and structured data with hosts. While this works well for many use cases, it creates friction when tools need to present visual information or gather complex user input.

For example, consider a data visualization MCP server that returns chart data as JSON. The host application must interpret that data and render it. Handling all kinds of specialized data in this scenario translates to a significant burden for client developers, who would need to build their own logic to render the UI. As more UI requirements come up, like the need to collect multiple related settings from users, the complexity balloons. Alternatively, without UI support, these interactions become awkward exchanges of text prompts and responses.

The MCP community has been creative in working around these limitations, but different implementations using varying conventions and architectures make it harder for servers to work consistently across clients. This lack of standardization creates a real risk of ecosystem fragmentation - something we’re working to proactively prevent.

Building together

The MCP-UI project, created by Ido Salomon and Liad Yosef and maintained by a dedicated community, spearheaded the vision of agentic apps with interactive interfaces. The project developed patterns for delivering rich user interfaces as first-class MCP resources, proving that agentic apps fit naturally within the MCP architecture. The project is backed by a large community and provides rich SDKs, adopted at leading companies and projects such as Postman, Shopify, Hugging Face, Goose, and ElevenLabs.

The OpenAI Apps SDK further validated the demand for rich UI experiences within conversational AI interfaces. The SDK enables developers to build rich, interactive applications inside ChatGPT using MCP as its backbone. To ensure interoperability and establish consistent security and usage patterns across the ecosystem, Anthropic, OpenAI, and MCP-UI are collaborating to create an official MCP extension for interactive interfaces.

Example of a fullscreen app with a rich data table interface

MCP Apps Extension specification

We’re proposing a specification for UI resources in MCP, but the implications go further than just a set of schema changes. The MCP Apps Extension is starting to look like an agentic app runtime: a foundation for novel interactions between AI models, users, and applications. The proposal is intentionally lean, starting with core patterns that we plan on expanding over time.

Key design decisions

Pre-declared resources

UI templates are resources with the ui:// URI scheme, referenced in tool metadata.

// Server registers UI resource
{
  uri: "ui://charts/bar-chart",
  name: "Bar Chart Viewer",
  mimeType: "text/html+mcp"
}

// Tool references it in metadata
{
  name: "visualize_data_as_bar_chart",
  description: "Plots some data as a bar chart",
  inputSchema: {
    type: "object",
    properties: {
      series: { type: "array", items: .... }
    }
  },
  _meta: {
    "ui/resourceUri": "ui://charts/bar-chart",
  }
}

This approach enables hosts to prefetch and review templates before tool execution, improving both performance and security. It also separates static presentation (the template) from dynamic data (tool results), enabling better caching.

MCP transport for communication

Instead of inventing a custom message protocol, UI components communicate with hosts using existing MCP JSON-RPC base protocol over postMessage. This means that:

  • UI developers can use the standard @modelcontextprotocol/sdk to build their applications
  • All communication is structured and auditable
  • Future MCP features automatically work with the UI extension

Starting with HTML

The initial extension specification supports only text/html content, rendered in sandboxed iframes. This provides:

  • Universal browser support
  • Well-understood security model
  • Screenshot and preview generation capabilities
  • A clear baseline for future extensions

Other content types such as external URLs, remote DOM, and native widgets are explicitly deferred to future iterations.

Security-first

Hosting interactive content from MCP servers requires careful security consideration. The proposal addresses this through multiple layers:

  1. Iframe sandboxing: All UI content runs in sandboxed iframes with restricted permissions
  2. Predeclared templates: Hosts can review HTML content before rendering
  3. Auditable messages: All UI-to-host communication goes through loggable JSON-RPC
  4. User consent: Hosts can require explicit approval for UI-initiated tool calls

These mitigations create defense in depth against malicious servers while preserving the flexibility developers need.

Backward compatibility

MCP Apps is an optional extension. Existing implementations continue working without changes, and hosts can gradually adopt UI support at their own pace. Servers should provide text-only fallback for all UI-enabled tools and return meaningful content even when UI is unavailable, so they can serve both UI-capable and text-only hosts.

What’s next

The UI Community Working Group has been instrumental in shaping this proposal through extensive feedback and discussion. We have built an early access SDK to demonstrate the patterns and types described in the specification proposal. The MCP-UI client and server SDKs support these patterns.

If you are interested in contributing to this effort, we invite you to:

Acknowledgements

This proposal wouldn’t exist without the work of the maintainers at MCP-UI, OpenAI, and Anthropic.

Ido Salomon and Liad Yosef, through MCP-UI and moderation of #ui-wg, incubated and championed many of the patterns that MCP Apps now standardizes, and together with contributors demonstrated that UI resources can be a natural part of MCP.

Sean Strong, Olivier Chafik, Anton Pidkuiko, and Jerome Swannack from Anthropic helped steer the initiative and drive the collaboration.

Nick Cooper, Alexei Christakis, and Bryan Ashley from OpenAI have provided valuable direction from their experience building the Apps SDK.

Special thanks to the UI Community Working Group members and everyone who contributed to the discussions that shaped this proposal.

联系我们 contact @ memedata.com