Agent Skills
返回列表
💻

MCP 交互式工具 UI 渲染

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/render-interactive-mcp-tool-uis-with-mcp-ui。

技能介绍

解决原生 MCP 工具缺乏交互界面的问题

在标准的 MCP(Model Context Protocol)开发中,工具通常只能返回纯文本、JSON 或简单的图片结果。当开发者需要构建带有复杂表单、实时数据图表或动态交互组件的工具时,仅靠结构化文本往往难以向用户清晰传达信息,且用户体验较差。该技能旨在解决这一痛点,通过引入 mcp-ui,让 MCP 工具能够返回可交互的 UI 资源,使宿主应用能够直接渲染丰富的交互界面,并与 AI 智能体进行双向通信。

核心能力与关键步骤

该技能的核心在于将 MCP Apps 资源与工具调用深度绑定,并确保宿主环境能够正确渲染和响应 UI 事件。其关键步骤包括:

  • 构建 MCP Apps 资源:使用 TypeScript 的 @mcp-ui/server 和 @mcp-ui/client,或 Python/Ruby 的 SDK 创建包含 HTML、CSS 和 JS 的 UI 资源。
  • 绑定资源到工具:在工具的响应中,通过 _meta.ui.resourceUri 字段附加 UI 资源的 URI,从而将交互界面与工具结果一同下发给宿主。
  • 处理 UI 交互事件:UI 片段需要能够与智能体互动。在 mcp-ui 中,这通过监听 UI 片段发送的事件并在宿主端进行响应来实现(例如使用 onUIAction prop),例如 HTML 可以触发特定动作,让智能体获取新的上下文或执行下一步操作。

适用边界与注意事项

在使用该技能时,需要注意宿主环境的兼容性。它要求使用支持 MCP Apps 规范的宿主,或兼容旧版 MCP-UI 的宿主环境。此外,UI 片段的设计不能仅停留在静态展示,必须包含与智能体交互的逻辑。如果仅返回静态页面而不处理 onUIAction 等交互事件,将无法实现真正的双向交互。开发者在实现时需确保服务端和客户端 SDK 版本的匹配,并验证宿主是否能够正确将工具结果与交互式 UI 一同渲染。

使用场景

  • 在开发MCP工具时,需要返回包含动态表单和图表的HTML界面,并通过onUIAction将用户输入回传给智能体处理。
  • 构建MCP服务器时,需将可视化数据面板作为MCP Apps资源,通过_meta.ui.resourceUri绑定到工具返回结果中。
  • 为MCP工具设计交互界面时,需确保宿主能正确渲染UI片段,并响应UI发出的事件以维持智能体与用户的双向通信。

适合人员

  • MCP服务器开发者,需要在工具返回结果中嵌入可交互的HTML界面以提升数据展示效果。
  • 智能体应用工程师,希望将前端交互组件与后端工具调用打通,实现用户与AI的实时联动。
  • MCP协议架构师,正在探索MCP Apps规范,需要为工具设计具备状态管理和事件响应的富客户端UI。