-
Notifications
You must be signed in to change notification settings - Fork 2.8k
docs: Extension Manager MCP #5883
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,120 @@ | ||||||
| --- | ||||||
| title: Extension Manager | ||||||
| description: Dynamically discover, enable, and disable extensions during goose sessions | ||||||
| --- | ||||||
|
|
||||||
| import Tabs from '@theme/Tabs'; | ||||||
| import TabItem from '@theme/TabItem'; | ||||||
| import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller'; | ||||||
|
|
||||||
| You don't always need to manually manage extensions. The Extension Manager extension enables goose to dynamically discover, enable, and disable extensions during active sessions. Based on the task you give it, goose recognizes when it needs a specific extension, enables it when required, and suggests disabling unused extensions if the bloat is eating up your context window. | ||||||
|
|
||||||
| Simply describe your task, and goose will handle the extension management automatically. | ||||||
|
|
||||||
| ## Configuration | ||||||
|
|
||||||
| :::info | ||||||
| The Extension Manager extension is a built-in goose platform extension and is already enabled by default when goose is installed. | ||||||
| ::: | ||||||
|
|
||||||
| <Tabs groupId="interface"> | ||||||
| <TabItem value="ui" label="goose Desktop" default> | ||||||
| <GooseBuiltinInstaller | ||||||
| extensionName="Extension Manager" | ||||||
| description="Dynamically discover, enable, and disable extensions during sessions" | ||||||
| /> | ||||||
| </TabItem> | ||||||
| <TabItem value="cli" label="goose CLI"> | ||||||
|
|
||||||
| 1. Run the `configure` command: | ||||||
| ```sh | ||||||
| goose configure | ||||||
| ``` | ||||||
|
|
||||||
| 2. Choose to `Toggle Extensions` | ||||||
| ```sh | ||||||
| ┌ goose-configure | ||||||
| │ | ||||||
| ◇ What would you like to configure? | ||||||
| │ Toggle Extensions | ||||||
| │ | ||||||
| ◆ Enable extensions: (use "space" to toggle and "enter" to submit) | ||||||
| // highlight-start | ||||||
| │ ● extensionmanager | ||||||
| // highlight-end | ||||||
| └ Extension settings updated successfully | ||||||
| ``` | ||||||
| </TabItem> | ||||||
| </Tabs> | ||||||
|
|
||||||
| ## Why Use Extension Manager? | ||||||
|
|
||||||
| goose can work with many extensions, but having too many enabled at once can: | ||||||
| - Overwhelm the LLM with too many tool choices | ||||||
| - Reduce the quality of tool selection | ||||||
| - Slow down response times | ||||||
| - Exceed recommended limits (5 extensions or 50 tools) | ||||||
|
|
||||||
| The Extension Manager solves this by letting goose: | ||||||
| - **Discover** what extensions are available | ||||||
| - **Enable** extensions only when needed for specific tasks | ||||||
| - **Disable** extensions when they're no longer required | ||||||
|
|
||||||
| This creates a more focused, efficient experience where goose has access to exactly the tools it needs, when it needs them. | ||||||
|
|
||||||
| :::tip Recommended Limits | ||||||
| For optimal performance, aim for **5 or fewer active extensions** with a total of **50 or fewer tools**. The Extension Manager helps you stay within these limits by enabling task-specific extensions only when needed. | ||||||
| ::: | ||||||
|
|
||||||
| ## Available Tools | ||||||
|
|
||||||
| The Extension Manager provides these tools: | ||||||
|
|
||||||
| | Tool | Description | Use Case | | ||||||
| |------|-------------|----------| | ||||||
| | `search_available_extensions` | Discover extensions that can be enabled or disabled | Finding the right extension for a task | | ||||||
| | `manage_extensions` | Enable or disable an extension by name | Loading/unloading extensions dynamically | | ||||||
|
||||||
| | `manage_extensions` | Enable or disable an extension by name | Loading/unloading extensions dynamically | | |
| | `manage_extensions` | Tool to manage extensions and tools in goose context. Enable or disable extensions to help complete tasks. | Loading/unloading extensions dynamically | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description for
search_available_extensionsshould match the tool's actual description. The actual tool description is "Searches for additional extensions available to help complete tasks." The current description "Discover extensions that can be enabled or disabled" is less accurate.