Add Loora to Goose as a remote extension.
Goose calls MCP servers extensions and configures them in YAML rather than JSON. The interactive goose configure flow writes the same block shown here, which is worth knowing because the key names — type: streamable_http and uri rather than url — are hard to guess.
Configuration
~/.config/goose/config.yaml, under extensions.
goose configureThe equivalent written out, if you would rather edit it by hand:
extensions:
loora:
enabled: true
type: streamable_http
uri: https://mcp.loora.design/mcp
timeout: 300Steps
- Run goose configure and choose Add Extension.
- Pick Remote Extension (Streaming HTTP) as the type.
- Name it loora and paste the endpoint as the URI.
- Accept the default timeout and finish the flow.
- Start a session and complete the browser sign-in on the first tool call.
Worth knowing
- The key is uri, not url, and the type is streamable_http with an underscore.
- Raise timeout for long runs: an agent inserting a full page of nodes can outlive a short default.
- enabled: false keeps the extension configured while dropping its tools from the session.
What you can ask for
Once the server is connected, Goose has the same vocabulary as every other client. Every call commits a validated canvas transaction, so it is inspectable, undoable, and safe to make on a branch.
| Group | Tools |
|---|---|
| Read | listDesigns, getDesignContext, readNode, readTree, searchNodes, listAssets, listVersions |
| Write | createPage, insertNodes, patchNodes, moveNodes, deleteNodes |
| Reuse | createComponent, createInstance, setTokens |
| Motion | setAnimations, animateNodes |
| Look | viewCanvas, viewPage, viewNode, getScreenshot |
| Branches | listBranches, createBranch, proposeBranch, compareBranch, applyBranch, reopenBranch, closeBranch |
| Designs | createDesign, renameDesign, deleteDesign, exportCode |
A good first prompt: ask for listDesigns, then getDesignContext on the one you want, then have it call setTokens before it draws anything. Why that order matters →
Goose and Loora: questions
How do I add a remote MCP server to Goose?
goose configure → Add Extension → Remote Extension (Streaming HTTP), then paste the URL. It writes an entry with type: streamable_http and a uri key into ~/.config/goose/config.yaml.
Why does Goose time out mid-build?
The extension timeout. A large insertNodes call takes longer than a conservative default; raise timeout on the loora extension.
Can I run Goose against a branch instead of the live design?
Yes. Ask it for createBranch first. Work stays on the branch until you apply it, and Main is untouched in the meantime.