规范概览

MCPlet 规范 v202603-03

本页是用于快速阅读和搜索索引的 HTML 概览。规范性草案仍为原始 Markdown 来源,但本概览以爬虫友好的格式呈现了主要概念、契约和安全模型。

状态 草案
版本 v202603-03
草案日期 2026-03-27
配置 WebUI 与 Agent
维护方 MCPlet Working Group
正本来源 原始 Markdown 草案

目的与范围

MCPlet 定义了具有单一业务意图、单一主要 MCP 工具契约、可选 MCP Apps UI、显式模型与应用安全边界和宿主管理编排的受约束 AI 优先能力单元。

目标是可预测、可审查和安全的 AI 工具交互。MCPlet 是 MCP 和 MCP Apps 之上的规约配置,不重新定义传输、运行时、沙箱或后端架构。

宿主配置

MCPlet 目前支持两种宿主实现配置。

  • WebUI Profile:渲染 MCP Apps UI、调用工具并在面向用户的环境中管理可见性和安全性的 MCP 客户端或代理 shell。
  • Agent Profile:由专门 Agent 和外部配置的 LLM 组成的编排层,不需要通用 UI 层。

两种配置均默认保持 MCPlet 无状态。状态、对话上下文和策略执行仍是宿主的职责。

MCPlet 与 MCP 和 MCP Apps 的对比

将 MCPlet 视为现有标准之上的一层而非其替代品,最容易理解。

层次 主要职责 定义内容 未定义内容
MCP 协议层 工具和资源的传输、发现和调用契约。 意图建模、操作安全策略或工具分类规则。
MCP Apps UI 集成层 宿主视图渲染、iframe 生命周期和应用桥接行为。 业务意图边界、工具分类或宿主安全规约。
MCPlet 规约配置 单意图单元、read/prepare/action 分类、可见性规则、认证要求和宿主管理的安全边界。 MCP 传输、通用运行时行为或强制性前端框架。

read

无副作用且幂等。宿主允许模型可见性时适合自主调用。

prepare

在提交前收集或验证信息。在多步骤工作流中作为明确检查点非常有用。

action

产生不可逆副作用。需要更强的确认和强制执行,特别是在模型可见时。

代码优先元数据契约

MCPlet v202603-03 明确采用代码优先。宿主通过注册元数据(如 _meta.mcpletType_meta.visibility_meta.auth_meta.ui 和可选的 _meta.pool)发现 MCPlet 语义。

{
  "_meta": {
    "mcpletType": "action",
    "visibility": ["model", "app"],
    "mcpletToolResultSchemaUri": "mcplet://tool-result-schema/approve_order",
    "ui": {
      "resourceUri": "ui://orders/approve.html",
      "displayMode": "inline"
    },
    "auth": {
      "required": "passkey",
      "enforcement": "strict",
      "promptMessage": "Please authenticate with Passkey to confirm"
    }
  }
}

mcplet.yaml 仍可用于向后兼容的默认值,但一旦存在代码元数据,它就不是唯一的真实来源。

Passkey 强制执行与受保护操作

受保护的 MCPlet 在 _meta.auth 中声明认证。对于模型可见的 action 工具,宿主拦截调用,通过浏览器上下文获取 Passkey 断言,在业务参数之外注入验证载荷,MCPlet 后端在任何不可逆操作执行之前验证该断言。

这种分离很重要,因为它让 LLM 专注于业务输入,同时将加密确认转移到宿主控制和后端可验证的路径中。

Pool、Agent 与路由边界

MCPlet v202603-03 为 Agent 引入了命名 Pool 和可访问 Pool 列表。Pool 让宿主按目标系统或策略范围对 MCPlet 进行分组,而每个 Agent 的 Pool 授权在调度时强制执行最小权限访问。

Agent Profile 还区分了内部 A2A 本地协议总线和外部 Agent 的外部 A2A 协议端点。宿主仍然负责认证、策略和调度验证。

阅读完整草案

原始 Markdown 文件仍是规范性草案来源。使用 HTML 概览快速扫描,使用 FAQ 获取简短答案,使用专利声明了解许可背景。