fix(apps): restore MCP app sampling support reverted by #6933#7366
Merged
fix(apps): restore MCP app sampling support reverted by #6933#7366
Conversation
PR #6933 (local inference provider) was based on a stale branch that didn't include #7039's sampling changes to McpAppRenderer.tsx. When it merged, it silently reverted all client-side sampling plumbing: - RequestHandlerExtra and JSONRPCRequest imports - SamplingCreateMessageParams/Response type imports - apiHost/secretKey state + initialization useEffect - handleFallbackRequest callback (sampling/createMessage handler) - onFallbackRequest prop on AppRenderer The server-side route (sampling.rs), types.ts, and chat.html all survived — only the McpAppRenderer.tsx wiring was lost. This restores the exact code that #7039 added and #6933 removed.
Contributor
There was a problem hiding this comment.
Pull request overview
Restores the client-side MCP Apps “sampling” plumbing in the desktop UI host (McpAppRenderer) that was inadvertently reverted, so MCP Apps can again issue sampling/createMessage requests via the postMessage bridge and have them fulfilled by goose-server.
Changes:
- Re-adds the
onFallbackRequesthook to handlesampling/createMessageJSON-RPC requests from the iframe. - Re-introduces host-side initialization for
apiHostandsecretKeyneeded to call the sampling REST endpoint. - Restores the required SDK/type imports for the fallback request handler.
alexhancock
approved these changes
Feb 19, 2026
michaelneale
added a commit
that referenced
this pull request
Feb 19, 2026
* main: (46 commits) chore(deps): bump hono from 4.11.9 to 4.12.0 in /ui/desktop (#7369) Include 3rd-party license copy for JavaScript/CSS minified files (#7352) docs for reasoning env var (#7367) docs: update skills detail page to reference Goose Summon extension (#7350) fix(apps): restore MCP app sampling support reverted by #6933 (#7366) feat: TUI client of goose-acp (#7362) docs: agent variable (#7365) docs: pass env vars to shell (#7361) docs: update sandbox topic (#7336) feat: add local inference provider with llama.cpp backend and HuggingFace model management (#6933) Docs: claude code uses stream-json (#7358) Improve link confirmation modal (#7333) fix(ci): deflake smoke tests for Google models (#7344) feat: add Cerebras provider support (#7339) fix: skip whitespace-only text blocks in Anthropic message (#7343) fix(goose-acp): heap allocations (#7322) Remove trailing space from links (#7156) fix: detect low balance and prompt for top up (#7166) feat(apps): add support for MCP apps to sample (#7039) Typescript SDK for ACP extension methods (#7319) ...
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.
Problem
PR #6933 (local inference provider) was based on a stale branch that didn't include #7039's sampling changes to
McpAppRenderer.tsx. When it merged ~16 hours after #7039, it silently reverted all client-side sampling plumbing.What was lost
The following code from #7039 was removed from
McpAppRenderer.tsx:RequestHandlerExtraimport from@mcp-ui/clientJSONRPCRequestimport from@modelcontextprotocol/sdk/types.jsSamplingCreateMessageParams/SamplingCreateMessageResponsetype importsapiHost/secretKeystate variables + initializationuseEffecthandleFallbackRequestcallback (~35 lines) that handlessampling/createMessagerequestsonFallbackRequest={handleFallbackRequest}prop on<AppRenderer>What survived
These parts of #7039 were not affected (different files):
crates/goose-server/src/routes/sampling.rs)mod.rstypes.tschat.htmldemo app + cache registrationFix
This PR restores the exact code that #7039 added and #6933 removed. The
@mcp-ui/clientSDK (v6.1.0) still supportsonFallbackRequest— confirmed in the bundled code.Verification
tsc --noEmitpasses)McpAppRenderer.tsx