Skip to content

MCP Apps: Support appCapabilities.tools (View-exposed tools) #8016

@aharvard

Description

@aharvard

Description

The MCP Apps specification (2026-01-26) allows Views to expose their own tools via appCapabilities.tools in the ui/initialize request. This enables the host or model to call tools provided by the app — for example, an Excalidraw app could expose a getCanvasState tool that the model invokes to understand what the user has drawn.

Goose currently parses appCapabilities.availableDisplayModes but ignores appCapabilities.tools.

Scope

  • Parse appCapabilities.tools from the View's ui/initialize message
  • Register View-exposed tools so the host/model can discover and call them
  • Route tool calls back to the View via the sandbox bridge

Files

  • ui/desktop/src/components/McpApps/useDisplayMode.ts (parsing)
  • ui/desktop/src/components/McpApps/McpAppRenderer.tsx (tool routing)
  • Potentially crates/goose/src/agents/extension_manager.rs (registration with agent)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmcpMCP/Extension relatedmcp-apps-complianceMCP Apps spec compliance (2026-01-26)p3Priority 3 - Low

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions