Skip to content

Extensions capability UI + MCP Apps (io.modelcontextprotocol/ui) alignment #1633

Description

@cliffhall

⚠️ There may be overlap with #1579 (the Apps re-implementation wave) — check before implementing.

Stack: SDK V2 + New Spec — 10 of 10 (small but high-leverage; needs era model from card 3).

Formalize Extensions in the UI and align the existing MCP Apps work with the standardized capabilities.extensions mechanism.

Scope

  • Extensions capability plumbing: declare Inspector-advertised extensions via constructor capabilities; read the server's via getServerCapabilities()?.extensions. Handle graceful degradation.
  • Extensions UI (new, small): display the server's extensions map in Connection Info, and let users toggle which extensions the Inspector advertises — servers legitimately change tool registration based on client-declared extensions, so this is a real debugging knob.
  • Apps alignment: advertise io.modelcontextprotocol/ui with mimeTypes through the now-formalized capabilities.extensions. Generalize the existing EMA advertisement pattern in inspectorClient.ts (capabilities.extensions["io.modelcontextprotocol/enterprise-managed-authorization"]) to a first-class extensions map. Track the ext-apps 2026-01-26 spec / AppBridge version (core/mcp/apps.ts uses @modelcontextprotocol/ext-apps).

Key files

core/mcp/inspectorClient.ts (client capabilities / EMA precedent), core/mcp/apps.ts, clients/web/src/components/groups/ConnectionInfoContent/*, AppsScreen/AppRenderer (version alignment only).

Acceptance

  • Server extensions map visible in Connection Info; advertised-extensions toggle works and demonstrably changes server tool registration.
  • io.modelcontextprotocol/ui advertised via capabilities.extensions.
  • npm run ci green.

Ref: specification/v2_new_spec_impact.md §6.1, §6.2, §8.3(extensions), §9.3(Apps/Extensions).

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