MCP-UI Extensions
Extensions built on MCP-UI allow Goose Desktop to provide interactive and engaging user experiences. Imagine using a graphical, clickable UI instead of reading text responses and typing all your prompts:
MCP-UI-enabled extensions return content that Goose can render as embedded UI elements for rich, dynamic, and streamlined interactions.
Try It Out
See how interactive responses work in Goose.
Add Enabled Extension
For this exercise, we'll add an MCP-UI-enabled extension that connects to MCP-UI Demos provided by Andrew Harvard.
- Goose Desktop
- Goose CLI
- Launch the installer
- Click
OK
to confirm the installation - Click the button in the top-left to open the sidebar
- Navigate to the chat
- Run the
configure
command:
goose configure
- Choose to add a
Remote Extension (Streaming HTTP)
.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◆ What type of extension would you like to add?
│ ○ Built-in Extension
│ ○ Command-line Extension
│ ○ Remote Extension (SSE)
│ ● Remote Extension (Streaming HTTP) (Connect to a remote extension via MCP Streaming HTTP)
└
- Give your extension a name.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streaming HTTP)
│
◆ What would you like to call this extension?
│ rich_demo
└
- Enter the Streaming HTTP endpoint URI.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streaming HTTP)
│
◇ What would you like to call this extension?
│ rich_demo
│
◆ What is the Streaming HTTP endpoint URI?
│ https://mcp-aharvard.netlify.app/mcp
└
- Enter the number of seconds Goose should wait for actions to complete before timing out. Default is
300
seconds.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streaming HTTP)
│
◇ What would you like to call this extension?
│ rich_demo
│
◇ What is the Streaming HTTP endpoint URI?
│ https://mcp-aharvard.netlify.app/mcp
│
◆ Please set the timeout for this tool (in secs):
│ 300
└
- Choose to add a description. If you select
No
, Goose will skip it.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streaming HTTP)
│
◇ What would you like to call this extension?
│ rich_demo
│
◇ What is the Streaming HTTP endpoint URI?
│ https://mcp-aharvard.netlify.app/mcp
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◆ Would you like to add a description?
│ No
└
- Choose
No
when asked to add custom headers.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streaming HTTP)
│
◇ What would you like to call this extension?
│ rich_demo
│
◇ What is the Streaming HTTP endpoint URI?
│ https://mcp-aharvard.netlify.app/mcp
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◇ Would you like to add a description?
│ No
│
◆ Would you like to add custom headers?
│ No
│
└ Added rich_demo extension
Interact in Chat
In Goose Desktop, ask:
Help me select seats for my flight
Instead of just text, you'll see an interactive response with:
- A visual seat map with available and occupied seats
- Real-time, clickable selection capabilities
- A booking confirmation with flight details
Ask questions to try out other demos:
Plan my next trip based on my mood
What's the weather in Philadelphia?
Stay tuned as more extensions build with MCP-UI!
For Extension Developers
Want to add interactivity to your own extensions? MCP-UI extends the Model Context Protocol to allow MCP servers to return content that agents can render as UI components instead of text-only responses. Learn more: