documentation/docs/guides/mcp-roots.md
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import { PanelLeft } from 'lucide-react';
MCP Roots lets goose share your session working directory with roots-aware MCP extensions.
This helps extensions understand which folder to use as the active workspace for the current session.
:::info MCP Roots is a feature in the Model Context Protocol. goose automatically enables it for MCP extensions that support roots. :::
When goose connects to an MCP extension, it advertises roots support during MCP initialization.
An extension that supports roots can then:
In goose, the root list currently contains one entry:
If you change the session working directory, goose updates the root and notifies connected extensions automatically.
There is no separate "Roots" settings screen in goose. MCP Roots follows the working directory you are already using for the session.
<Tabs groupId="interface"> <TabItem value="ui" label="goose Desktop" default>In goose Desktop, the current working directory appears at the bottom of the chat window.
To change directories:
In goose CLI, the session root follows the directory where you launch goose.
This means roots-aware extensions see the same workspace directory that goose is already using in the CLI.
</TabItem> </Tabs>MCP Roots is useful for extensions that need to work with local files or understand your project structure.
Without roots, an extension may need to guess which folder you mean or rely on custom configuration. With roots, goose can tell the extension which directory is currently in scope for the session.
For example, an extension can use roots to:
goose currently exposes a single root per session rather than a multi-folder workspace. For most workflows, this maps cleanly to how goose already works: one active project directory at a time.
If you want an extension to work in a different location, change the session working directory first.
If you're building an MCP extension for goose, support for roots allows your extension to discover the active workspace directory in a standard way instead of relying on custom configuration.
For protocol details, see the MCP Roots specification.