1. Choose the host profile
Use WebUI Profile if you render MCP Apps UI. Use Agent Profile if your host is an orchestration layer of specialized agents with an externally configured LLM.
This guide compresses MCPlet v202603-03 into an implementation path: choose the right host profile, classify tools correctly, expose code-first metadata, and apply stronger enforcement where actions can cause side effects.
Use WebUI Profile if you render MCP Apps UI. Use Agent Profile if your host is an orchestration layer of specialized agents with an externally configured LLM.
Pick read for safe retrieval, prepare for staged validation, and action for irreversible side effects that need tighter control.
At minimum, declare _meta.mcpletType and _meta.visibility. Add result schema URIs, UI metadata, auth metadata, and pools where applicable.
If an action is visible to the model, require explicit interception and strong confirmation, preferably with strict Passkey enforcement.
| Layer | Primary role | What it gives you | What it does not give you |
|---|---|---|---|
| MCP | Protocol | Tool and resource transport, discovery, and invocation semantics. | Intent modeling, action safety policy, or opinionated tool classification. |
| MCP Apps | UI integration | Host-view rendering, iframe lifecycle, and app bridge behavior. | Business intent boundaries, metadata safety rules, or auth conventions. |
| MCPlet | Convention profile | Single-intent units, read/prepare/action classification, visibility constraints, auth requirements, and host-managed safety boundaries. | MCP transport, generic runtime behavior, or a mandatory frontend framework. |
This example shows the fields most implementations should think about first when mapping a tool into MCPlet.
{
"_meta": {
"mcpletType": "prepare",
"visibility": ["model", "app"],
"mcpletToolResultSchemaUri": "mcplet://tool-result-schema/check_order",
"ui": {
"resourceUri": "ui://orders/check.html",
"displayMode": "inline"
}
}
}
For irreversible operations, switch the classification to action and add _meta.auth with stricter enforcement.
Need licensing context? Review the intellectual property notice.