一、总则
小米始终秉持着建设健康生态、维护系统安全、保障用户合法权益与个人信息安全的理念,并不懈努力的为用户提供更好的产品体验。为此,小米制定了《小米开发者生态MCP发布标准及规范》(以下简称:本标准),全方位保障MCP生态健康安全;本标准规定了模型上下文协议服务器(MCP Server)的技术要求、安全管控规则及合规体验规范,主要包括接入主体要求、身份鉴别与访问控制、权限细粒度分级、数据隐私安全等维度和场景;标准适用于针对MCP Server开发者接入的合规性评估,以及平台审核场景。
二、技术与安全要求
1、接入主体要求
为保障系统安全、数据安全与用户隐私,防范协议层面的安全漏洞,构建安全可信的MCP生态环境,接入的MCP须严格遵循《Anthropic MCP 官方安全规范(2025)》。此外,我们将对提交的MCP开展严格的安全审核与评估,全面验证其是否符合规范标准。对于不符合安全要求,或存在安全隐患的MCP,不予通过审核。
2、身份鉴别与访问控制
应确保只有经过验证和授权的MCP客户端和用户能够访问MCP Server提供的功能与数据,防止身份假冒和权限滥用,具体要求如下:
2.1 MCP Server应具备基本的账户鉴权体系,针对不同工具和数据资源分配访问权限;例如,对不同调用方进行身份分离和权限限制(如区分只读/读写权限);采用“基于角色的访问控制(RBAC)”的机制,实现角色/用户分级授权,支持细粒度权限控制和最小权限原则;
2.2 MCP Server应实现安全的身份认证机制,对接入的MCP客户端进行合法性验证(例如提供有效令牌)。
a)远程模式下必须至少使用API_Key或对称共享密钥进行客户端鉴别:API_Key 本质为静态密钥,仅适用于 MCP Server 自身身份认证、服务间后台调用、内部接口鉴权等无用户隐私数据参与的场景。使用时需满足,加密存储(禁止明文硬编码)、配置 IP 访问限制、定期手动轮换,杜绝密钥泄露后被长期滥用。
b)MCP Server应采用标准的基于OAuth 2.0/2.1的授权框架管理客户端权限,提供令牌颁发、刷新和吊销机制。对于涉及多用户或跨组织场景的接口调用,应使用OAuth令牌代表资源所有者进行访问控制;OAuth 为完整授权协议,适用于第三方账号登录、第三方应用代操用户数据、涉及用户个人敏感信息访问等场景。使用时需满足,需经用户手动授权确认,不传递用户账号密码;采用短期有效 Access Token(支持刷新机制),可随时撤销授权;按最小权限原则分配授权范围,避免过度授权。
2.3 实施双向身份认证,当MCP客户端与服务器处于不同安全域时,应实施双向身份认证,即服务器应出示服务器证书验证自身身份,对客户端出示的凭证(如客户端证书或设备指纹)进行校验,防止身份伪造和令牌滥用;
2.4 权限上下文绑定,MCP调用请求需携带有效、可核验的身份凭证,执行身份认证与鉴权校验;携带用户身份、角色及权限上下文信息,明确权限边界。
3、权限细粒度及分级
3.1 权限细粒度管控:MCP工具开发者应明确声明其操作所需的权限范围(例如“仅允许读写临时目录”),禁止申请超出功能范围的权限,严格遵循“权限最小必要原则”。
a)MCP Server在执行工具时,须严格按照声明的权限范围进行隔离控制,例如,实现细粒度的沙盒策略,根据工具声明仅授予最小权限,例如使用容器、安全策略等阻止超出权限的系统调用;
b)对于MCP Server提供的数据资源,应配置细粒度的数据访问控制策略,例如,根据调用方身份实施基本的读/写权限划分和配额限制,防止过量或未经授权的数据提取。
3.2 权限分级管控:应具备高敏工具调用二次确认机制,对于涉及关键资源或敏感操作的工具调用(如删除数据库、批量导出数据等),执行主体进行二次确认或加强型认证。可通过二次验证身份确认(例如输入管理员口令或OTP验证码)后才执行,防范权限滥用和关键操作误用;中低风险功能(如查询、数据展示)可开放常规授权,定期复核权限合理性。
3.3 权限动态管控:MCP Server宜结合环境和行为进行动态权限调整,如检测到异常行为自动降低权限。在检测到异常访问模式时实施额外验证或限制(如要求更高级别授权才能继续查询),严禁模型擅自提升自身操作权限。
4、数据与隐私安全
应保护通过MCP Server传输、存储和处理的敏感数据不被未授权访问或泄露,并确保在AI与数据交互中遵循必要的隐私保护原则;具体要求如下:
4.1 数据传输: MCP Server在为大模型提供数据时应严格遵循MCP数据传输规范要求,并遵循最小必要原则:
a)强制传输加密:强制采用HTTPS(TLS 1.3+)全链路加密,禁止明文传输;支持Streamable HTTP双向通信与断线恢复机制,确保数据传输的稳定性与安全性,减少中间人攻击风险;
b)严格落实知情同意:传输个人敏感信息时,应取得个人信息主体的明示同意。应确保个人信息主体的明示同意是其在完全知情的基础上自愿给出的、具体的、清晰明确的愿望表示;
c)坚守最小必要原则:默认不向模型提供超出请求范围的数据,不应超出业务功能的实际需要或合理关联;
d)引入敏感数据调用配额或频次限制机制,例如对同一IP或同一会话在短时间内多次请求敏感资源进行速率限制,防止批量爆破式数据获取;
e)对于外部 MCP Server 接入,须纳入平台统一数据安全管控,严格落实知情同意、最小必要、传输加密、权限隔离与全链路审计,禁止未经授权采集与越权外传。
4.2 数据储存:MCP Server如涉及存储业务数据(如缓存查询结果、日志、配置等),应确保静态存储的数据安全;例如:
a)在服务器及数据库中的敏感数据应加密存储,并进行权限最小化管控,例如,仅允许 MCP 服务专用账户读写数据库文件,严控访问权限;
b)使用强加密算法(如AES-256)对关键数据字段存储加密,并妥善管理密钥(建议使用硬件安全模块HSM或操作系统密钥管理服务)。
4.3 数据处理:对于处理个人敏感信息或隐私数据的MCP Server,应采用技术手段降低隐私泄露风险。例如,
a)在数据分析类工具中应仅返回统计汇总或模糊化结果而非原始明细,对于模型可能返回的个人信息内容,应设置自动检测和模糊策略(例如识别到身份证号、电话等格式时做遮盖处理),避免无意中暴露隐私;
b)数据仅用于约定的功能实现,禁止转售、泄露、篡改或用于其他用途;数据留存期限不得超过功能实现所需的合理周期,到期自动删除。
4.4 数据留存:对涉及敏感数据访问的行为,MCP Server应完整记录日志,包括操作人、时间、访问方式、访问内容等,确保访问日志受到保护,防止未授权篡改(如对日志文件签名或写入防篡改存储介质)。
5、安全隔离管控
应确保MCP服务运行环境安全,MCP Server应避免与不相干的服务混合运行,必要时使用容器化或虚拟化技术实现进程隔离,具体要求如下,满足以下至少一种方式:
5.1 对MCP执行环境实施沙箱化部署:限制对设备敏感目录的访问、跨域网络访问及高危系统命令的执行。通过沙箱部署,确保MCP Server与设备上其他进程相互隔离;
5.2 实现模型与外部能力(工具、资源)的物理或逻辑隔离:通过轻量虚拟化沙箱,为MCP Server提供接近物理隔离级别的独立运行环境,最大程度降低被攻破时对外部的影响。
6、注入与恶意请求管控
应确保 MCP Server 提供的工具和资源在全生命周期内保持可信,不得包含提示词注入、越狱指令、敏感操作意图等诱导AI执行非预期操作的恶意行为。包括不限于恶意指令注入、工具描述投毒、记忆投毒等攻击行为:
6.1 MCP工具调用参数中不得包含恶意系统命令,防止通过命令拼接、注入等方式执行任意代码;包括不限于,远程脚本下载执行,编码混淆,反弹 Shell等场景;
6.2 MCP工具描述合规:应确保工具描述合规,防范工具描述投毒风险,应确保工具描述遵循最小权限、语义严谨、无歧义的原则;工具描述须与工具名称一致;不得存在可被诱导利用的模糊表述、伪造标签嵌入、角色劫持、隐蔽参数、外部链接引导、 预设工具链路由,进行编排威胁等恶意行为;
6.3 敏感操作校验:无合理场景不得通过多个工具的语义组合实施敏感能力滥用,包括不限于,对文件读取后立即发起网络外发、批量数据导出后立即进行外部通信等可疑敏感操作;
6.4 记忆投毒检查:须对所有工具返回值进行检查,不得出现角色劫持、指令覆盖、记忆操控等记忆投毒、上下文污染等行为;不得存在可被诱导利用的模糊表述、异常的标签字段(如<hidden_instruction>)等具备恶意题图的行为。
7、来源与更新安全
MCP Server及其工具链从开发、分发到部署更新的整个生命周期须具备安全性,不得出现代码漏洞及恶意更新行为,具体要求如下:
7.1 MCP Server的软件开发应安全合规,具体要求如下:
a)代码安全:不应存在安全漏洞或恶意行为,包括不限于Server 地址指向恶意域名、硬编码密钥、Server 伪装合法服务等违规行为;
b)版本完整性校验:禁止使用未锁版本,应使用精确版本号(如1.2.3),禁止使用latest、^1.2.0、~1.2.0等动态版本或版本范围,确保版本完整性校验。
7.2 开发者需确保其MCP Server来源可信、内容完整,行为可追溯,应符合平台开发者身份核验、信用评估和分级管理机制要求。
7.3 MCP Server和工具的更新机制应考虑安全因素,避免静默自动更新,优先采用用户确认后更新的策略,或者提供策略选项由管理员统一控制更新节奏。更新日志应清晰列出版本变更特别是权限变更点,供用户审查。
7.4 MCP Server 所有版本更新须通过正式的上架审核流程后方可发布。包括不限于:
a)不得通过热更新、热切换的方式私自更新未经审核的功能或内容 ,运行期间不得通过任何机制(包括但不限于代码热替换、配置动态加载、远程更新等)在未经过审核的情况下私自更新功能或代码;
b)所有版本更新(包括功能迭代、Bug修复、安全补丁等)必须提交至审核平台,经过完整的审核流程(如代码审查、安全扫描、功能测试等)并获得批准后,方可进行发布。
8、功能规范及要求
8.1 功能合规性规范:MCP Server的功能需符合国家法律法规、行业规范及APP自身的功能约定,禁止调用违规功能(如恶意获取用户信息、诱导消费、传播不良内容等),禁止利用MCP协议漏洞执行恶意操作;
8.2 功能可用性规则:确保MCP Server自身的服务能力稳定、可用,与智能体功能兼容,不得出现无法连接、工具调用失败、运行崩溃、数据错乱等异常问题;
8.3 高危功能要求:对涉及用户财产、隐私、账号安全的高危功能(如支付、转账、账号登录、数据删除),建立双重校验机制,需要用户进行二次授权,禁止无二次授权触发高危功能。
9、风险监测&治理
9.1 接入前合规审核:拟接入的MCP需满足主体资质、权限、数据、功能等方面的合规要求;
9.2 接入中实时监控(日志审计与安全监控):MCP Server应通过完善的安全日志记录、定期审计和实时监控告警机制,及时发现MCP Server的异常行为和安全事件(如异常数据传输、权限滥用、恶意调用等),并为事后调查提供证据,具体要求如下:
a)MCP Server应对安全相关事件进行全面的日志记录,应满足以下至少一种方式:
1)记录用户登录/认证、重要配置变更、工具调用、数据访问等关键操作日志,包含操作主体、时间、来源IP、操作详情和结果等;
2)记录对异常情况的日志,如鉴权失败尝试、被拦截的恶意输入等,并确保日志格式结构化便于分析;
3)日志系统对所有关键安全事件都有详尽记录,包括调用链路、上下文信息,同时保证高可靠性(日志实时备份或集中收集)以防止本地日志丢失。
b)日志文件应设置严格的访问权限,确保日志不被未授权修改或删除;
c)对MCP Server的运行状态应实施安全监控,建立定期安全审计机制,检查是否有异常模式或违规现象,并及时处理。
9.3 接入后风险巡查:平台将定期针对MCP接入情况进行风险巡查,针对违规问题采取相应处置措施,包括不限于Rugpull攻击、供应链劫持等隐蔽性风险。
三、合规与体验规范
1、通用规范
1.1 MCP相关信息及功能不得含有泄露国家秘密、危害国家安全、损害国家荣誉利益以及危害国家统一、主权和领土的内容;
1.2 MCP相关信息及功能不得含有违反国家法律法规的内容,包括但不限于:政治敏感、血腥暴力、恐怖主义、赌博与非法交易、淫秽色情、贩卖或购买违禁物品、宣扬邪教等;
1.3 MCP相关信息及功能不得含有煽动民族仇恨、民族或种族歧视、破坏民族团结。或者侵害民族风俗习惯的内容;
1.4 MCP相关信息及功能不得含有违反社会主流价值观、损害道德风尚与公序良俗的内容,包括但不限于:侮辱歧视、封建迷信、性别对立、散布谣言、辱骂骚扰、欺诈诽谤、歪曲亵渎英雄烈士事迹与精神等;
1.5 MCP相关信息及功能不得含有诱导未成年人产生不良行为的信息,包括但不限于:诱导未成年人抽烟、喝酒、赌博、偷盗、接触血腥暴力或色情低俗内容。
2、平台规范
2.1 服务名称字符长度不建议超过15个汉字字符或30个英文字符;名称支持汉字,数字,字母,下划线,短横线和点,或者上述组合;
2.2 英文名称字符长度不建议超过15个汉字字符或30个英文字符;仅支持字母、数字、下划线,或者上述组合;英文名称为MCP Server唯一标识,同一平台内不允许重复,一个名称对应唯一MCP Server;
2.3 服务描述的场景及功能需与MCP实际功能保持一致,字符长度不建议超过150个汉字字符或300个英文字符;
2.4 Oauth名称字符长度不建议超过30 字符;名称仅支持英文、数字、下划线或横线,或者上述组合。
3、基础信息
3.1 名称规范
3.1.1 MCP Server使用的英文名称、服务名称应该满足以下要求:
1)不得出现仿冒侵权等行为,包括但不限于:
a)非政务机构开发的名称不能带有政府设定的综合服务管理机构的常用号码代称、简称、缩写等表达【例如,12320(卫生健康)、12329(公积金)、12366(税务)、110/119/120/122(紧急服务)等】;
b)不得包含与未经授权的第三方商标、知名品牌相同或相似的可能误导用户的内容;不得添加与实际功能的无关、误导用户、侵犯第三方产品权益等内容的描述;
c)不得在未经本人同意或者授权的情况下,干涉、盗用、冒用他人姓名,明星代言或有姓名使用授权除外;
d)非小米品牌不得含有小米或MIUI等其他小米元素。
2)不得出现功能夸大等行为:不得使用极限词或虚假承诺等违反广告法的内容,不得随意使用“国家级”、“权威认证”等相关描述词汇(如,最强MCP,国家级MCP,顶级MCP,无敌MCP等)。
3)不得出现恶意引流等行为:不得夹带或直接使用联系方式、社交应用(如微信、qq)帐号、电话号、地址等引流内容。
4)名称需具备可识别性,其中:
a)不得以简单功能性词汇(例如:拍照、通话、计算机等类别词)对MCP进行命名;
b)MCP名称需要具备可识别性,不得仅以特殊符号作为名称(例如,·MCP,-MCP)。
3.2 服务描述
3.2.1 功能一致性要求:服务描述的场景及功能需与MCP Server实际功能保持一致,不得添加无关的信息,包括不限于,应用不具备的功能,不包含的活动,或其他无直接关联的信息等。
3.2.2 不得出现仿冒侵权行为:
1)描述中不得以误导用户或在未经授权的情况下,出现侵犯第三方产品权益的内容描述,可能导致对相关商品的来源造成混淆的内容和行为(可能导致对相关商品的来源造成混淆的内容);
2)描述中不得在未经本人同意或者授权的情况下,干涉、盗用、冒用他人姓名,明星代言或有姓名使用授权除外。
3.2.3 不得出现功能夸大等行为:描述中不得使用极限词或虚假承诺等违反广告法的内容,不得随意使用“国家级”、“权威认证”等相关描述词汇(如,最强MCP,国家级MCP,顶级MCP,无敌MCP等)。
3.2.4 不得出现恶意引流行为:描述中除必要需要添加的客服联系方式外,不得夹带或直接使用联系方式、社交应用(如微信、qq)帐号、电话号、地址等诱导性及引流内容。
3.2.5 描述准确性要求:
1)描述不得为空,且需以简体中文撰写,可适当出现中英文内容,不得完全使用其他语言撰写;
2)描述中不得出现大量错别字、不规范使用的标点符号、语义不通等严重影响信息阅读的内容;
3)描述中不得存在大量占位符文本、空格、乱码等非法字符(如:#、*、& 等)。
3、功能要求
3.1 功能合规性规则:MCP Server 提供的所有功能,必须符合《网络安全法》《数据安全法》《个人信息保护法》《互联网信息服务管理办法》等法律法规,不得提供违法违规、危害网络安全、侵犯知识产权、侵害个人信息或可能被用于黑灰产的功能。功能描述与实际行为必须一致,不得隐瞒、伪装功能。
3.2 功能可用性规则:确保MCP Server自身的服务能力稳定、可用,与智能体功能兼容,接入前需测试功能调用的稳定性、响应速度,避免出现功能异常、崩溃、数据错乱等问题。