Skip to content

web: deep-link openApp/appArgs/autoOpen — pre-select and pre-fill an app from the URL #1577

Description

@cliffhall

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).

Metadata

Metadata

Assignees

Labels

v2Issues and PRs for v2

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions