Repository navigation
Remove the open_generated_ui MCP tool and generated UI runtime - #667
Conversation
Eliminates the generated UI / MCP Apps subsystem: the open_generated_ui tool, the generated_ui_app_resource MCP resource, the /ui-api session API, the /dev/generated-ui dev route, the client kodyWidget runtime (client/mcp-apps), shared generated-ui helpers, build targets, docs, guides, and the now-orphaned @mcp-ui/server and @modelcontextprotocol/ext-apps dependencies. Package apps remain and are reached through their hosted package URLs. Migrations are left untouched (additive only).
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (58)
💤 Files with no reviewable changes (37)
📝 WalkthroughWalkthroughThis PR removes the entire "generated UI" runtime and MCP feature surface: client bootstrap/runtime modules, the open_generated_ui MCP tool, generated-ui-api/session/resource modules, associated build targets, dependencies, CORS/routing logic, and tests. Documentation and search/capability metadata are updated to reference "package apps" instead. ChangesGenerated UI removal and package app terminology migration
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant Client
participant Worker as appHandler
participant StaticAssets
Note over Client,Worker: Before: generated UI widget origins allowlisted
Client->>Worker: Request with Origin header
Worker->>Worker: Check exact origin match only
alt Origin matches url.origin
Worker-->>Client: Allow CORS response
else
Worker-->>Client: Deny CORS
end
Worker->>StaticAssets: Serve static asset (safe methods, immutable cache)
StaticAssets-->>Client: Asset response
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🔎 Preview deployed: https://kody-pr-667.kody-a99.workers.dev Worker: Mocks:
|
Completely eliminates the generated UI / MCP Apps subsystem from the codebase, per request. The MCP tool surface is now just
searchandexecute. Package apps remain and are reached through their hosted package URLs (/@username/packages/:kodyId). Migrations are untouched (additive only).Removed
open_generated_uitool,generated_ui_app_resource, and the now-emptyregister-resources.ts/ui-api/*session API (generated-ui-api.ts,generated-ui-app-session.ts), the/dev/generated-uidev route, the/mcp-apps/*CORS asset-serving branch, the Claude widget origin allowlist, and the runtime HTML entry +claude-widget-domain.tspackages/worker/client/mcp-apps/directory (kodyWidgetruntime, host bridge, contract, styles) and built assets underpublic/mcp-apps/generated-ui-utils.ts,generated-ui-documents.ts,generated-ui-asset-paths.tsdev:mcp-apps/build:mcp-appsscripts, thebuild-mcp-appsNx target and cache entry,/mcp-apps/*wrangler asset rules, tsconfig includes,.gitignore/.prettierignoreentries@mcp-ui/serverand@modelcontextprotocol/ext-appsdocs/guides/generated-ui-oauth.md, thegenerated_ui_oauthguide catalog entry, and everyopen_generated_ui/ generated-UI reference acrossdocs/use/,docs/guides/,docs/contributing/,primitives.yaml, server instructions, and search tool guidance (reworded to hosted package URLs where package apps are still the subject)/dev/generated-uisecurity-hardening test, and the inline-UI MCP E2E smoke (the remaining authenticated search smoke still covers the MCP transport + OAuth journey)Kept
ui_artifacts-related migrations (0006–0042) — additive-only historykody.appmanifest support,hasAppindexing, hosted app routes, andhostedUrlin search resultsSystem recap — extends existing primitives (medium risk)
Mode: recap · Base:
main@27b28a4c· Head:a7050629Classification: extends — removes a tool from the MCP server surface and deletes the generated-UI runtime that backed it; no new primitives.
primitives.yamlupdated in this PR to dropopen_generated_uifrom themcp-serverandpackage-appssummaries.Primitives touched
mcp-serversearch+execute; resource registration removedcompact-mcp-surfacepackage-appscapability-registrygenerated_ui_oauthguide entry and values-domain wording removedsecretsSystem map
Before / after
Invariants
compact-mcp-surface: the public MCP tool surface shrinks; server instructions and search guidance updated to match. Noper-user-isolationpaths changed — only deletions of user-scoped session code.Verification
npm run validatepasses in full (format, lint, typecheck, unit, Playwright E2E, MCP E2E)['search', 'execute']/dev/generated-ui,/ui-api/*, and/mcp-apps/*all return 404;/healthand/mcpauth gate unaffectedopen_generated_ui,generated-ui,kodyWidget,@kody/ui-utils,mcp-apps, orclaudemcpcontentoutside migrationsSummary by CodeRabbit
New Features
Bug Fixes
Documentation