Conversation
The widget was calling `notifyIntrinsicHeight()` which is an OpenAI Apps
SDK method that doesn't exist on the MCP Apps bridge
(@modelcontextprotocol/ext-apps). This caused the height notification to
silently no-op, leaving the iframe stuck at a tiny auto-detected height.
Wrap the widget with `McpUseProvider autoSize` which uses ResizeObserver
to detect content height changes and sends them via the correct bridge
method (`bridge.sendSizeChanged({ height })`).
Co-authored-by: Cursor <[email protected]>
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
McpUseProvider autoSizefor proper iframe height auto-sizingnotifyIntrinsicHeight()call which silently no-ops on MCP Apps bridgeProblem
The widget calls
appRef.current?.notifyIntrinsicHeight?.(height)to notify the host about its content height. However,notifyIntrinsicHeightis an OpenAI Apps SDK method that doesn't exist on the MCP Apps bridge (@modelcontextprotocol/ext-apps). The?.optional chain silently no-ops, so the iframe host never receives correct height information and the widget appears stuck at a tiny auto-detected height (~110px).Fix
Use
McpUseProviderfrommcp-use/reactwith theautoSizeprop, which:ResizeObserverbridge.sendSizeChanged({ height }))This is the recommended approach for mcp-use widgets and works with both MCP Apps and ChatGPT Apps SDK protocols.
Changes
resources/remotion-player/widget.tsx:McpUseProviderfrommcp-use/react<McpUseProvider autoSize>notifyIntrinsicHeightuseEffect (replaced by ResizeObserver auto-sizing)