Andrew Harvard 6478d46f12 feat(mcp-apps): improve communication protocol compliance (Section 4)
This commit improves MCP Apps compliance with the SEP-1865 specification
(2026-01-26 Stable), specifically Section 4: Communication Protocol.

## Changes Overview

### 1. Sandbox Proxy Notification Rename (Section 4.4)
- Renamed 'ui/notifications/sandbox-ready' to 'ui/notifications/sandbox-proxy-ready'
- Files: mcp_app_proxy.html, useSandboxBridge.ts

### 2. Protocol Version & Host Capabilities (Section 5)
- Updated protocolVersion from '2025-06-18' to '2026-01-26'
- Restructured hostCapabilities to match spec:
  - Before: { links: true, messages: true }
  - After: { openLinks: {}, messages: {}, serverTools: {}, serverResources: {}, logging: {} }
- File: useSandboxBridge.ts

### 3. Container Dimensions (Section 6)
- Replaced 'viewport' with 'containerDimensions' per spec
- Added ContainerDimensions type supporting fixed (width/height) and
  flexible (maxWidth/maxHeight) dimension modes
- Updated ui/initialize response and host-context-changed notifications
- Files: types.ts, useSandboxBridge.ts

### 4. Display Mode Types (Section 7)
- Fixed DisplayMode type from 'inline' | 'fullscreen' | 'standalone'
  to spec-compliant 'inline' | 'fullscreen' | 'pip'
- File: types.ts

### 5. ui/request-display-mode Handler (Section 4.2)
- Added handler for View-initiated display mode change requests
- Validates requested mode against:
  - Host's supported modes (currently only 'inline')
  - App's declared availableDisplayModes (from appCapabilities)
- Returns actual mode set (may differ from requested)
- Sends host-context-changed notification if mode changes
- File: useSandboxBridge.ts

### 6. App Capabilities Parsing (Section 10)
- Added AppCapabilities interface for View-declared capabilities
- Parse and store appCapabilities from View's ui/initialize request
- Used for validating display mode requests
- Files: types.ts, useSandboxBridge.ts

## What's NOT included (future work)

- ui/update-model-context: Requires backend integration
- Actual fullscreen/pip implementation: Only 'inline' supported
- toolInfo in hostContext: Requires tool metadata plumbing
- styles.variables (theming): Requires CSS variable mapping

## Testing

- npm run lint: passes
- npx tsc --noEmit: passes

Spec reference: https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/2026-01-26/apps.mdx
2026-02-05 09:39:29 -05:00
2026-02-02 22:11:28 +00:00
2026-02-04 17:17:59 +00:00
2025-11-10 13:54:42 -06:00
2026-02-05 12:07:47 +00:00
2025-12-23 15:38:26 -06:00
2025-09-26 23:44:38 -05:00
2025-11-10 08:37:31 -05:00
2025-11-03 02:25:51 -06:00
2024-09-09 14:56:30 -04:00
2026-01-22 11:45:27 +11:00
2025-09-26 23:44:38 -05:00

goose

a local, extensible, open source AI agent that automates engineering tasks

Discord CI

goose is your on-machine AI agent, capable of automating complex development tasks from start to finish. More than just code suggestions, goose can build entire projects from scratch, write and execute code, debug failures, orchestrate workflows, and interact with external APIs - autonomously.

Whether you're prototyping an idea, refining existing code, or managing intricate engineering pipelines, goose adapts to your workflow and executes tasks with precision.

Designed for maximum flexibility, goose works with any LLM and supports multi-model configuration to optimize performance and cost, seamlessly integrates with MCP servers, and is available as both a desktop app as well as CLI - making it the ultimate AI assistant for developers who want to move faster and focus on innovation.

Watch the video

Quick Links

Need Help?

a little goose humor 🦢

Why did the developer choose goose as their AI agent?

Because it always helps them "migrate" their code to production! 🚀

goose around with us

S
Description
an open-source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM
Readme Apache-2.0 2 GiB
Languages
Rust 63.6%
TypeScript 29.6%
JavaScript 1.7%
Shell 1.6%
Python 1.5%
Other 1.8%