{"id":77622,"plugin_id":"plugins_6ae8cbe5a6708191b99fec2318f2e009","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-03T00:15:24.988Z","digest":"114946b3044ba66ab6e19207ac79ee83c9ac810adefbd36259f4644a1d796542","against":null,"payload":{"description":"Build a usable interactive MCP Apps UI with ui:// resources, host bridge, real tool interactions, accessible states and a useful text-only fallback.","included_files":[],"name":"build-mcp-ui","skill_md_contents":"---\nname: build-mcp-ui\ndescription: Build a usable interactive MCP Apps UI with ui:// resources, host bridge, real tool interactions, accessible states and a useful text-only fallback.\n---\n# Interactive MCP Apps UI\n\n1. Check target host supports MCP Apps and the UI actually improves selection, browsing, editing or confirmation. Otherwise deliver tool-only MCP.\n2. Use `@modelcontextprotocol/ext-apps` helpers (`registerAppTool`, `registerAppResource`, `RESOURCE_MIME_TYPE`) with the **current** installed MCP SDK version. Read the official ext-apps quickstart; do not mix v1 imports with v2 samples.\n3. Register the UI resource with `ui://...` URI and `text/html;profile=mcp-app`, and link the tool using `_meta.ui.resourceUri` in its registration. Ensure a real resource response is returned.\n4. Use the official MCP Apps bridge and capability negotiation. Do not reach into the host's parent DOM, assume arbitrary network access, or trust client-side authority.\n5. Create an original design system appropriate for the host surface. Read `../../references/design-references.md`, `../../references/design-quality.md`. Focus on hierarchy, proportion, readable type and restrained motion; avoid generic dashboard filler.\n6. Implement real loading, empty, error, permission, success and retry states and meaningful keyboard/focus behavior. Don't draw fake buttons or charts with fabricated data.\n7. Restrict CSP `connectDomains` and `resourceDomains` to actual needs; app-visible tool calls must still pass server authorization.\n8. Render in a compatible client or test harness, inspect visually, and test action-to-tool calls and fallback when possible. Report unverified host support accurately.\n\nUseful starting point: https://github.com/modelcontextprotocol/ext-apps/blob/main/docs/quickstart.md\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}