尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
MCP Apps UI元数据设计详解:prefersBorder、domain与permissions完整指南
MCP Apps UI元数据设计详解prefersBorder、domain与permissions完整指南【免费下载链接】ext-appsOfficial repo for spec SDK of MCP Apps protocol - standard for UIs embedded AI chatbots, served by MCP servers项目地址: https://gitcode.com/GitHub_Trending/ex/ext-appsMCP Apps 是 MCPModel Context Protocol生态中让 AI 聊天机器人嵌入交互式 UI 的标准协议。本指南面向新手带你快速读懂官方规范中UIResourceMeta的三大核心字段——prefersBorder视觉边界、domain沙箱域名、permissions沙箱权限掌握 UI 资源的安全与渲染配置方法。一、UIResourceMeta 是什么一张 UI 的“说明书”当 MCP 服务器把一个 HTML 界面UI 资源提供给宿主如 Claude、IDE 插件渲染时不能只丢一份 HTML 过去——宿主还需要知道这个界面允许连接哪些外部网络CSP 策略需要哪些浏览器能力摄像头、麦克风等是否使用专属沙箱域名视觉上要不要加边框背景。这些配置统一放在_meta.ui字段中类型定义见 src/spec.types.ts完整规范见 specification/draft/apps.mdx。二、prefersBorder 一键配置界面要不要“框起来”prefersBorder是一个布尔值用来告诉宿主是否给 UI 加上可见的边框和背景取值效果true显示边框 背景界面像一个独立卡片false无边框无背景界面与宿主融为一体省略由宿主自行决定不同宿主默认值可能不同新手建议规范明确推荐显式指定该值因为各宿主的默认行为不一致显式声明可保证跨平台视觉一致性。如果你是从 OpenAI Apps 迁移过来旧字段_meta[openai/widgetPrefersBorder]就对应现在的_meta.ui.prefersBorder映射表见 docs/migrate_from_openai_apps.md。三、domain 专属源给沙箱一个稳定“门牌号”domain字段为 UI 的沙箱 iframe 指定一个专用源origin省略时宿主会使用默认沙箱源通常是按会话生成。它主要解决三类问题OAuth 回调第三方登录需要固定的回调域名CORS 策略API 服务端需要在响应头中放行特定源API Key 白名单某些服务按域名加白请求来源。⚠️注意域名格式由各宿主自行定义常见模式包括基于哈希的子域如{hash}.claudemcpcontent.com基于 URL 派生的子域如www-example-com.oaiusercontent.com。服务器开发者必须查阅目标宿主的文档确认格式不能假设统一规则。四、permissions 声明式权限只申请你需要的浏览器能力permissions字段声明 UI 需要哪些沙箱权限宿主可以据此设置内层 iframe 的allow属性。规范内置支持 4 种能力字段对应浏览器 Permission Policy用途cameracamera摄像头访问microphonemicrophone麦克风访问geolocationgeolocation地理位置clipboardWriteclipboard-write剪贴板写入两条关键规则要牢记“MAY”而非“MUST”宿主可以但不必须授予这些权限申请不等于批准做好降级规范建议 App不应假设权限已授予应使用 JS 特性检测feature detection作为兜底权限被拒时优雅降级。例如宿主侧的典型处理逻辑若声明了permissions.camera就把camera加入 iframe 的allow列表参考 specification/draft/apps.mdx 中的安全实现示例。五、元数据写在哪里resources/list 与 resources/read 二选一还是都写UIResourceMeta含 csp、permissions、domain、prefersBorder可以放在两个位置resources/list挂在资源条目的_meta.ui上适合作为静态默认值宿主在连接阶段即可审查安全配置无需拉取资源内容resources/read挂在每个内容项的_meta.ui上适合按响应动态覆盖。当两处同时存在时内容项resources/read的值优先。规范建议元数据动态变化时优先写在内容项上静态配置则写在列表级。SDK 侧通过registerAppResource的_meta.ui配置即可设置列表级元数据见 src/server/index.ts。六、安全底线宿主如何强制执行这些元数据CSP 强制宿主必须根据ui.csp中声明的connectDomains、resourceDomains、frameDomains、baseUriDomains构造 CSP 头未声明的域名一律拦截限制性默认若完全省略 CSP宿主持有最严格的默认策略如connect-src none保证“默认安全”只收紧不放宽宿主可以进一步限制但绝不能允许未声明的域名审计留痕宿主应记录 CSP 配置以便安全审查。 一句话总结prefersBorder 管“长相”domain 管“身份”permissions 管“能力”CSP 管“边界”——四者共同构成了 MCP Apps UI 的安全与渲染契约。延伸阅读完整协议规范specification/draft/apps.mdx、specification/2026-01-26/apps.mdx类型定义src/spec.types.ts服务端 SDKsrc/server/index.tsCSP 与 CORS 实践docs/csp-cors.md授权机制docs/authorization.md【免费下载链接】ext-appsOfficial repo for spec SDK of MCP Apps protocol - standard for UIs embedded AI chatbots, served by MCP servers项目地址: https://gitcode.com/GitHub_Trending/ex/ext-apps创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

一元一次方程应用题分类:规则引擎与结构化题库实战

一元一次方程应用题分类:规则引擎与结构化题库实战

简介:围绕一元一次方程应用题整理的《一元一次方程应用题分类.doc》,面向初中数学学习者与需要梳理应用题教法的教师,用于攻克从审题到列方程的实际问题建模难点。文档首先归纳列方程解应用题的五个步骤——审题、找等量关系、设未知数、解方…

📅 2026/9/18 16:45:51
树莓派Docker化网页服务器:从零搭建容器化部署环境

树莓派Docker化网页服务器:从零搭建容器化部署环境

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/18 16:45:51
Matlab在港口起重机剩余寿命估算中的应用:雨流计数与载荷谱分析

Matlab在港口起重机剩余寿命估算中的应用:雨流计数与载荷谱分析

简介:港口起重机长期承受循环交变载荷,金属结构易出现疲劳破坏,准确估算剩余寿命对保障安全运行至关重要。这份PDF资料以Matlab为计算平台,采用名义应力法和Miner线性损伤累积理论,对现役港口门座式起重机的剩余疲劳寿…

📅 2026/9/18 16:45:51
MORE NEWS

更多资讯

📰

个人开发者做小程序,Agent 的 Skill 流程接口选 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

n8n自建还是RSS Monitor托管?小团队RSS抓取决策指南

前阵子有个做内容运营的团队找我聊需求,三四个人的小组,每天要盯将近三十个行业站点、竞品博客和财经媒体,老板要求"动态必须最快知道"。他们第一反应是找人写爬虫,后来发现没有专职工程师;第二反应是找现成…

📰

统信UOS上LocalSend局域网文件传输与剪贴板联动实战指南

说实话,我一开始装上LocalSend,纯粹是因为在统信UOS上找一个好用的局域网传文件工具太难了。那段时间手机和电脑之间倒腾文件,要么靠微信、要么靠U盘,麻烦不说,隐私也没啥保障。后来发现LocalSend不只是能传文件&#…

📰

Cocos 引擎屏幕震动实现指南:5 种方案实测对比与避坑

Cocos 引擎屏幕震动实现指南:5 种方案实测对比与避坑 【免费下载链接】cocos-engine Cocos simplifies game creation and distribution with Cocos Creator, a free, open-source, cross-platform game engine. Empowering millions of developers to create high-…

📰

MySQL文件操作安全指南:LOAD DATA与secure_file_priv详解

1. 这不是“普通文件操作”,而是MySQL权限体系里的高危动作你搜“MySQL 文件读写”,十有八九是刚在某条SQL里看到LOAD DATA INFILE报错,或者想把服务器上的日志导进数据库却卡在SELECT ... INTO OUTFILE权限拒绝——别急,这不是你…

📰

全连接层深度解析:从矩阵乘法到CNN与Transformer应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬