diff --git a/ui/desktop/src/components/McpApps/McpAppRenderer.tsx b/ui/desktop/src/components/McpApps/McpAppRenderer.tsx index a69af118..379ac592 100644 --- a/ui/desktop/src/components/McpApps/McpAppRenderer.tsx +++ b/ui/desktop/src/components/McpApps/McpAppRenderer.tsx @@ -61,6 +61,7 @@ export default function McpAppRenderer({ }); const [error, setError] = useState(null); const [iframeHeight, setIframeHeight] = useState(DEFAULT_IFRAME_HEIGHT); + const [iframeWidth, setIframeWidth] = useState(null); useEffect(() => { if (!sessionId) { @@ -200,9 +201,10 @@ export default function McpAppRenderer({ [append, sessionId, extensionName] ); - const handleSizeChanged = useCallback((height: number, _width?: number) => { + const handleSizeChanged = useCallback((height: number, width?: number) => { const newHeight = Math.max(DEFAULT_IFRAME_HEIGHT, height); setIframeHeight(newHeight); + setIframeWidth(width ?? null); }, []); const { iframeRef, proxyUrl } = useSandboxBridge({ @@ -264,7 +266,8 @@ export default function McpAppRenderer({ ref={iframeRef} src={proxyUrl} style={{ - width: '100%', + width: iframeWidth ? `${iframeWidth}px` : '100%', + maxWidth: '100%', height: `${iframeHeight}px`, border: 'none', overflow: 'hidden',