modelcontextprotocol / modelcontextprotocol/inspector

Drop the ext-apps#733 elicitation mirrors when the package ships a release containing it

Open
#2,360 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

chore mcp-apps v2 waiting on sdk
Dominant language
TypeScript
Stars
10.9k
Forks
1.5k
Avg merge
6h 17m
Merged PRs (30d)
151

Description

Surfaced while doing #1745 / #2309 (PR #2358). Same shape as #1745 was: a set of in-source mirrors carried until an upstream @modelcontextprotocol/ext-apps release makes them redundant.

Trigger

Close this when @modelcontextprotocol/ext-apps publishes a release that contains ext-apps#733 (MCP Apps-rendered elicitations, SEP-3118). 2.0.0 does not include it — #733 (opened 2026-07-29) is still open upstream as of 2026-09-13, and 2.0.0 shipped 2026-09-08 without it — so there is no bridge.requestElicitation(), no elicitation key in McpUiHostCapabilities, and no /server helpers to switch to yet. The nightly SDK watch (#1063) will file the release issue; this is the cleanup it unlocks.

Mirror sites to remove (verified against the #2358 tree)

Each is tagged in-source with ext-apps#733:

  1. core/mcp/appElicitation.ts — mirrors the #733 server-capability / URI validator helpers; replace with the package's /server exports.
  2. clients/web/src/components/elements/AppRenderer/requestAppElicitation.ts — hand-issues the ui/elicitation request; replace with bridge.requestElicitation(params).
  3. clients/web/src/components/elements/AppRenderer/appCapabilities.ts — the WeakMap + transport observer that captures the app's initialize capabilities; delete the module and read getAppCapabilities() off the bridge.
  4. createAppBridgeFactory.ts ~line 326 — the Partial<McpUiHostCapabilities> spread that adds the elicitation key the type does not yet declare.
  5. docs/test-servers.md ~line 246 — the note that the Inspector speaks the #733 wire protocol but does not yet consume its helpers.

Folded in

While touching (3): type MessageObservable / observeAppCapabilities against the SDK v2 Transport interface, which PostMessageTransport now implements (the test fakes would need start/send/close). Cosmetic on its own; do it here rather than as a separate change.

Acceptance

  • Bump @modelcontextprotocol/ext-apps to the release containing #733 (root package.json only).
  • Remove mirrors 1–5; the app-rendered elicitation flow (mcp-app-elicitation test-server config, smoke-web-elicitation.mjs) still passes.
  • npm run local:gate green.

Why not a sub-issue of #2309

#2309 tracks the 2.0.0 upgrade, which #2358 completed. Parenting this to it would hold that issue open until an ext-apps release that does not exist yet, so it is a sibling with cross-references (maintainer-confirmed).

Priority scored with the /issue-triage rubric below.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

After the ext-apps release containing #733 is available, start with the tagged mirrors in core/mcp/appElicitation.ts, AppRenderer/requestAppElicitation.ts, AppRenderer/appCapabilities.ts, createAppBridgeFactory.ts, and docs/test-servers.md. Update the root package.json dependency, remove those mirrors, verify the mcp-app-elicitation test-server and smoke-web-elicitation.mjs, then run npm run local:gate; done means the elicitation flow still passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
tooling, web-dev
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.