Add app-rendered elicitation MRTR example - #2578
Draft
krubenok wants to merge 1 commit into
Draft
Conversation
|
This was referenced Jul 29, 2026
Open
@modelcontextprotocol/client
@modelcontextprotocol/codemod
@modelcontextprotocol/core
@modelcontextprotocol/server
@modelcontextprotocol/server-legacy
@modelcontextprotocol/express
@modelcontextprotocol/fastify
@modelcontextprotocol/hono
@modelcontextprotocol/node
commit: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
2026-07-28example of using an MCP App as the UI for a standard form elicitationelicitation: {}inside the existingio.modelcontextprotocol/uiextension on both peers_meta.ui.resourceUrionly when the request-scoped client capabilities support app renderingInputRequiredResult, collect the standardElicitResult, and retry withinputResponsesDesign
This deliberately does not add a second extension package, custom method, or custom result type.
The example server publishes a self-contained
text/html;profile=mcp-appresource and embeds an ordinary form-modeelicitation/createrequest inInputRequiredResult. The headless example client verifies two-sided negotiation, reads the bound app resource over the same connection, returns a standardElicitResult, and lets the SDK perform the MRTR retry.A graphical host replaces the deterministic selection with its MCP Apps View↔Host bridge; the core wire flow is unchanged. The Apps bridge continues to negotiate its own protocol version independently of core MCP
2026-07-28.Related proposals:
Validation
pnpm --filter @mcp-examples/apps-elicitation client