Summary
Extend the deep link to land on a rendered MCP App with one navigate + one click (or zero clicks with autoOpen):
&openApp=<toolName> — once connected and the tool appears in the tools list, switch to the Apps tab and pre-select the tool.
&appArgs=<base64url(JSON)> — pre-fill the tool form; values are merged over collectSchemaDefaults() so required-with-default fields don't disable "Open App".
&autoOpen=<token> — auto-click "Open App" (same CSRF token gate as autoConnect).
Why
The last mile of the programmatic-review recipe: CLI probe (--app-info) → deep-link navigate → rendered widget, with no manual form-filling in between.
Reference implementation (PR #1510)
Re-implement informed by these changes at 33fac3f:
Depends on
- Deep-link auto-connect + connection-status surface (parser, App.tsx wiring)
- App status + machine-readable attributes on the Apps screen (drivers need
data-app-status to know the render finished)
Wave 4 — sequential after the auto-connect issue.
Notes
autoOpen fires a tool call from a URL — the token gate is mandatory; never allow it unauthenticated even under DANGEROUSLY_OMIT_AUTH without deciding that explicitly.
- Document the params in
clients/web/README.md alongside the auto-connect scheme.
- Coverage gate ≥90 on all four dimensions.
Part of the PR #1510 decomposition (see tracking issue).
Summary
Extend the deep link to land on a rendered MCP App with one navigate + one click (or zero clicks with
autoOpen):&openApp=<toolName>— once connected and the tool appears in the tools list, switch to the Apps tab and pre-select the tool.&appArgs=<base64url(JSON)>— pre-fill the tool form; values are merged overcollectSchemaDefaults()so required-with-default fields don't disable "Open App".&autoOpen=<token>— auto-click "Open App" (same CSRF token gate asautoConnect).Why
The last mile of the programmatic-review recipe: CLI probe (
--app-info) → deep-link navigate → rendered widget, with no manual form-filling in between.Reference implementation (PR #1510)
Re-implement informed by these changes at
33fac3f:openApp/appArgs/autoOpenparsing + token gatedeepLinkOpenAppRefguard, effect waiting for connected + tool present, schema-default merge, Apps-tab seedingDepends on
data-app-statusto know the render finished)Wave 4 — sequential after the auto-connect issue.
Notes
autoOpenfires a tool call from a URL — the token gate is mandatory; never allow it unauthenticated even underDANGEROUSLY_OMIT_AUTHwithout deciding that explicitly.clients/web/README.mdalongside the auto-connect scheme.Part of the PR #1510 decomposition (see tracking issue).