Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
99de092
refactor(ui): use @mcp-ui/client AppRenderer for MCP Apps
aharvard Feb 5, 2026
af3861e
fix(server): update sandbox proxy message to match @mcp-ui/client pro…
aharvard Feb 5, 2026
f57eaf1
Fix MCP App toolResult not being sent to iframe
aharvard Feb 5, 2026
932df15
Remove unnecessary comment
aharvard Feb 5, 2026
5834f8c
Merge origin/main into aharvard/mcp-ui-client-apprenderer
aharvard Feb 6, 2026
70d4a6a
Revert fetchResourceData back to fetchResource
aharvard Feb 6, 2026
7a121c8
Add SandboxPermissions type for iframe sandbox attribute
aharvard Feb 6, 2026
f635c3e
Clean up types.ts: use SDK types where possible, add documentation
aharvard Feb 6, 2026
c81dc42
Remove type aliases, import directly from sources
aharvard Feb 6, 2026
d5c20a5
Remove unused types from types.ts
aharvard Feb 6, 2026
a9951be
Remove unused types: ContentBlock, SandboxToken
aharvard Feb 6, 2026
1e2521d
Use SDK types for ToolInput, ToolInputPartial, ToolCancelled
aharvard Feb 6, 2026
67a1087
Add code comments to McpAppRenderer for clarity
aharvard Feb 6, 2026
e569977
Replace fullscreen prop with displayMode, add GooseDisplayMode type
aharvard Feb 6, 2026
b294df3
Add typed MCP request handler infrastructure for future SDK support
aharvard Feb 6, 2026
35dac19
Simplify handleRequest comment, add McpRequestHandler type
aharvard Feb 6, 2026
a83f89b
Remove custom MCP request types, simplify to TODO comment
aharvard Feb 6, 2026
0650352
Reorganize imports, simplify TODO comment for future onRequest handler
aharvard Feb 6, 2026
f9f2bc6
Remove intermediate variables, use displayMode explicitly
aharvard Feb 6, 2026
48dae91
Add JSDoc comments to handlers describing JSON-RPC methods, fix AVAIL…
aharvard Feb 6, 2026
678e59d
Add minimal commented handleRequest for future sampling/createMessage…
aharvard Feb 6, 2026
fd0f0d7
Implement remaining hostContext properties: locale, timeZone, userAge…
aharvard Feb 6, 2026
038ca95
Add containerDimensions to hostContext for inline mode
aharvard Feb 6, 2026
de36cc5
Refactor: use isExpandedView helper for cleaner display mode checks
aharvard Feb 6, 2026
e19bb79
Use inline styles consistently for dynamic width/height, Tailwind for…
aharvard Feb 6, 2026
1a44d68
Refactor to single outer div with renderContent() for error/loading/a…
aharvard Feb 6, 2026
6493871
Allow apps to declare height smaller than DEFAULT_IFRAME_HEIGHT
aharvard Feb 6, 2026
468511a
Add fallback for iframeHeight to prevent 0px height
aharvard Feb 6, 2026
5c9b970
set default height to 100
aharvard Feb 6, 2026
949c263
Fix iframe responsive width: always fill container, ignore app-declar…
aharvard Feb 6, 2026
af8791d
Smart width handling: respect explicit width, fluid when not provided
aharvard Feb 6, 2026
dbd5fab
Fix missing iframeWidth state in McpAppRenderer
aharvard Feb 6, 2026
bf82b56
Update TODO comments for onFallbackRequest handler
aharvard Feb 6, 2026
c72efb5
Pass structuredContent in tool results per MCP Apps spec
aharvard Feb 6, 2026
9ea6be1
Fix structuredContent property access (runtime uses camelCase)
aharvard Feb 6, 2026
797fe70
tweak margins
aharvard Feb 6, 2026
9980d8c
refactor(McpAppRenderer): use ToolResult type and simplify transforma…
aharvard Feb 6, 2026
76c223c
feat(McpApps): add ToolResult type
aharvard Feb 6, 2026
eddbe21
remove notes file
aharvard Feb 6, 2026
90bb9c6
fix(types): use type-only import for Content
aharvard Feb 10, 2026
2e747a2
fix(McpAppRenderer): fix isToolCancelled to check presence, not reason
aharvard Feb 10, 2026
8c09129
fix(McpAppRenderer): defer sandboxUrlFetched until fetch resolves, su…
aharvard Feb 10, 2026
cc325c7
fix(McpAppRenderer): propagate structured_content in handleCallTool r…
aharvard Feb 10, 2026
5de5fa9
chore: upgrade @modelcontextprotocol/ext-apps to v1.0.1
aharvard Feb 10, 2026
55e1754
fix(McpAppRenderer): align permissions type with ext-apps spec
aharvard Feb 10, 2026
93fcf5d
fix(McpAppRenderer): remove allow-forms from default sandbox tokens
aharvard Feb 10, 2026
0637383
fix(McpAppRenderer): fix hostContext platform, touch detection, and d…
aharvard Feb 10, 2026
582be59
fix(csp): add frame_domains and base_uri_domains to CspMetadata, forw…
aharvard Feb 10, 2026
e005035
fix(McpAppRenderer): wait for resource fetch before creating sandbox …
aharvard Feb 10, 2026
d9b17cf
fix(McpAppRenderer): document available display modes, detect hover c…
aharvard Feb 10, 2026
5437cd8
fix(McpAppRenderer): pass content through without re-mapping, support…
aharvard Feb 10, 2026
4ac7e61
fix(McpAppRenderer): report standalone as-is instead of mapping to fu…
aharvard Feb 10, 2026
4a2ab11
feat(McpAppRenderer): loading state with flapping goose and shimmer, …
aharvard Feb 10, 2026
62c3d92
docs(McpAppRenderer): fix handleSizeChanged JSDoc to accurately descr…
aharvard Feb 10, 2026
4ba7aa9
chore: remove redundant comments and commented-out code per review fe…
aharvard Feb 11, 2026
36b43d5
chore: reduce comment verbosity, add protocol reference block
aharvard Feb 11, 2026
f256484
refactor: replace boolean state flags with useReducer state machine
aharvard Feb 11, 2026
1f63f78
refactor: remove unnecessary useMemo wrappers in McpAppWrapper
aharvard Feb 11, 2026
8463947
fix: replace non-null assertion with explicit sandboxConfig guard
aharvard Feb 11, 2026
254ba9d
update types
aharvard Feb 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@
.parent
.postMessage({
jsonrpc: '2.0',
method: 'ui/notifications/sandbox-ready',
method: 'ui/notifications/sandbox-proxy-ready',
params: {}
}, '*');
})();
Expand Down
6 changes: 6 additions & 0 deletions crates/goose/src/goose_apps/resource.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ pub struct CspMetadata {
/// Domains allowed for resource loading (scripts, styles, images, fonts, media)
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_domains: Option<Vec<String>>,
/// Domains allowed for frame-src (nested iframes)
#[serde(skip_serializing_if = "Option::is_none")]
pub frame_domains: Option<Vec<String>>,
/// Domains allowed for base-uri
#[serde(skip_serializing_if = "Option::is_none")]
pub base_uri_domains: Option<Vec<String>>,
}

/// Sandbox permissions for MCP Apps
Expand Down
16 changes: 16 additions & 0 deletions ui/desktop/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -3672,6 +3672,14 @@
"type": "object",
"description": "Content Security Policy metadata for MCP Apps\nSpecifies allowed domains for network connections and resource loading",
"properties": {
"baseUriDomains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Domains allowed for base-uri",
"nullable": true
},
"connectDomains": {
"type": "array",
"items": {
Expand All @@ -3680,6 +3688,14 @@
"description": "Domains allowed for connect-src (fetch, XHR, WebSocket)",
"nullable": true
},
"frameDomains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Domains allowed for frame-src (nested iframes)",
"nullable": true
},
"resourceDomains": {
"type": "array",
"items": {
Expand Down
Loading
Loading