Skip to content

feat(apps): implement mcp-apps extension#21

Merged
dbernheisel merged 1 commit intomainfrom
dbern/mcp-apps
Apr 30, 2026
Merged

feat(apps): implement mcp-apps extension#21
dbernheisel merged 1 commit intomainfrom
dbern/mcp-apps

Conversation

@dbernheisel
Copy link
Copy Markdown
Owner

@dbernheisel dbernheisel commented Apr 28, 2026

Summary

Implements the MCP Apps extension — interactive HTML interfaces delivered by the MCP server and rendered inside host applications (Claude Desktop, Cursor, etc.) as sandboxed iframes.

  • New Phantom.App behaviour for defining apps with Plug-style pipelines (layouts, CSP, etc.), implemented via mount/2 and render/1
  • Tools can declare app: MyApp.SomeApp, which auto-registers a ui:// resource serving the app's HTML
  • Phantom.App.CSP plug for fine-grained Content-Security-Policy control (connect domains, etc.)
  • Client-side preview runtime dev plug.
  • New guide at guides/mcp_apps.md walks through building an app end-to-end

Resolves #16

@dbernheisel dbernheisel force-pushed the dbern/mcp-apps branch 8 times, most recently from 1be1857 to 254ed98 Compare April 28, 2026 21:19
@dbernheisel dbernheisel marked this pull request as ready for review April 30, 2026 18:14
@dbernheisel dbernheisel merged commit 78ec17d into main Apr 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Track support for the MCP Apps extension (io.modelcontextprotocol/ui)

1 participant