diff --git a/documentation/docs/mcp/fetch-mcp.md b/documentation/docs/mcp/fetch-mcp.md
index 27f78f19..576faf70 100644
--- a/documentation/docs/mcp/fetch-mcp.md
+++ b/documentation/docs/mcp/fetch-mcp.md
@@ -6,6 +6,7 @@ description: Add Fetch MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -37,8 +38,13 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
- 1. [Launch the installer](goose://extension?cmd=uvx&arg=mcp-server-fetch&id=fetch&name=Fetch&description=Web%20content%20fetching%20and%20processing%20capabilities)
- 2. Press `Yes` to confirm the installation
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/figma-mcp.md b/documentation/docs/mcp/figma-mcp.md
index d4dee065..f9d853c5 100644
--- a/documentation/docs/mcp/figma-mcp.md
+++ b/documentation/docs/mcp/figma-mcp.md
@@ -6,6 +6,7 @@ description: Add Figma MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -38,11 +39,18 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40hapins%2Ffigma-mcp&id=figma&name=Figma&description=Figma%20design%20tool%20integration&env=FIGMA_ACCESS_TOKEN%3DAccess%20token%20from%20Figma%20user%20settings)
- 2. Press `Yes` to confirm the installation
- 3. Obtain a [Figma Access Token](https://www.figma.com/developers/api#access-tokens) and paste it in
- 4. Click `Save Configuration`
- 5. Scroll to the top and click `Exit` from the upper left corner
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/filesystem-mcp.md b/documentation/docs/mcp/filesystem-mcp.md
index 51df62f9..b933e828 100644
--- a/documentation/docs/mcp/filesystem-mcp.md
+++ b/documentation/docs/mcp/filesystem-mcp.md
@@ -6,6 +6,7 @@ description: Add Filesystem MCP Server as Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -28,15 +29,18 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. Click `...` in the upper right corner
- 2. Click `Advanced Settings`
- 3. Under `Extensions`, click the `Add Custom Extensions` button
- 4. On the `Add Extension Manually` modal, enter the following:
- * **Type**: `Standard IO`
- * **Extension Name**: `filesystem` (_set this to whatever you want_)
- * **Description**: `filesystem MCP Server` (_(optional) set this to whatever you want_)
- * **Command**: `npx -y @modelcontextprotocol/server-filesystem ` (_Add additional allowed directories if desired, separated by a space._)
- 5. Click `Add Extension` button
+
diff --git a/documentation/docs/mcp/github-mcp.md b/documentation/docs/mcp/github-mcp.md
index 90164f42..0ad4d243 100644
--- a/documentation/docs/mcp/github-mcp.md
+++ b/documentation/docs/mcp/github-mcp.md
@@ -7,6 +7,7 @@ import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
import CLIStreamExtensionInstructions from '@site/src/components/CLIStreamExtensionInstructions';
+import { PanelLeft } from 'lucide-react';
@@ -38,9 +39,9 @@ These steps configure the Remote MCP Server. For other deployment options, see t
1. Obtain a [GitHub Personal Access Token](https://github.com/settings/personal-access-tokens)
- 2. Click the gear icon `⚙️` in the top right corner
- 3. Click `Advanced settings`
- 4. Under `Extensions`, click `Add custom extension`
+ 2. Click the button in the top-left to open the sidebar
+ 3. Click `Extensions`
+ 4. Click `Add custom extension`
5. On the `Add custom extension` modal, enter the following:
- **Extension Name**: GitHub
- **Type**: Streamable HTTP
@@ -50,6 +51,7 @@ These steps configure the Remote MCP Server. For other deployment options, see t
- **Value**: `Bearer `
6. Click `+ Add` to save the header
7. Click `Add Extension` to save the extension
+ 8. Navigate to the chat
diff --git a/documentation/docs/mcp/google-drive-mcp.md b/documentation/docs/mcp/google-drive-mcp.md
index 3406bf5f..bd1c7dc1 100644
--- a/documentation/docs/mcp/google-drive-mcp.md
+++ b/documentation/docs/mcp/google-drive-mcp.md
@@ -6,6 +6,7 @@ description: Add Google Drive MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -92,24 +93,24 @@ You'll need to re-authenticate once a day when using the Google Drive extension.
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40modelcontextprotocol%2Fserver-gdrive&id=google-drive&name=Google%20Drive&description=Google%20Drive%20integration&env=GDRIVE_CREDENTIALS_PATH%3DPath%20to%20Google%20Drive%20credentials&env=GDRIVE_OAUTH_PATH%3DPath%20to%20OAuth%20token)
- 2. Press `Yes` to confirm the installation
- 3. For `GDRIVE_CREDENTIALS_PATH`, enter the following:
- ```sh
- $USER_HOME/.config/.gdrive-server-credentials.json
- ```
- :::info
- Replace `$USER_HOME` with your home directory. You must specify an absolute path for this extension to work.
- :::
- 4. For `GDRIVE_OAUTH_PATH`, enter the following:
- ```sh
- $USER_HOME/.config/gcp-oauth.keys.json
- ```
- :::info
- Replace `$USER_HOME` with your home directory. You must specify an absolute path for this extension to work.
- :::
- 5. Click `Save Configuration`
- 6. Scroll to the top and click `Exit` from the upper left corner
+
+
+ :::info
+ - For `GDRIVE_CREDENTIALS_PATH`, enter `$USER_HOME/.config/.gdrive-server-credentials.json`
+ - For `GDRIVE_OAUTH_PATH`, enter `$USER_HOME/.config/gcp-oauth.keys.json`
+
+ Replace `$USER_HOME` with your home directory. You must specify an absolute path for this extension to work.
+ :::
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/google-maps-mcp.md b/documentation/docs/mcp/google-maps-mcp.md
index 613a604c..4e253a1d 100644
--- a/documentation/docs/mcp/google-maps-mcp.md
+++ b/documentation/docs/mcp/google-maps-mcp.md
@@ -6,6 +6,7 @@ description: Add Google Maps MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
This tutorial covers how to add the [Google Maps MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/google-maps) as a Goose extension to enable geocoding, place searching, distance calculations, elevation data retrieval, and directions.
@@ -36,11 +37,18 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40modelcontextprotocol%2Fserver-google-maps&id=google-maps&name=Google%20Maps&description=Google%20Maps%20API%20integration&env=GOOGLE_MAPS_API_KEY%3DGoogle%20Maps%20API%20key)
- 2. Press `Yes` to confirm the installation
- 3. Obtain a [GOOGLE_MAPS_API_KEY](https://developers.google.com/maps/documentation/javascript/get-api-key) and paste it in
- 4. Click `Save Configuration`
- 5. Scroll to the top and click `Exit` from the upper left corner
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/jetbrains-mcp.md b/documentation/docs/mcp/jetbrains-mcp.md
index 03170267..7b6bafaf 100644
--- a/documentation/docs/mcp/jetbrains-mcp.md
+++ b/documentation/docs/mcp/jetbrains-mcp.md
@@ -6,6 +6,7 @@ description: Use JetBrains MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller';
@@ -21,9 +22,10 @@ This tutorial covers how to enable and use the JetBrains MCP Server as a built-i
- 1. Click `...` in the upper right corner
- 2. Click `Advanced Settings`
- 3. Under `Extensions`, toggle `Jetbrains` to on.
+
diff --git a/documentation/docs/mcp/knowledge-graph-mcp.md b/documentation/docs/mcp/knowledge-graph-mcp.md
index 7b2a14e4..c36c76d0 100644
--- a/documentation/docs/mcp/knowledge-graph-mcp.md
+++ b/documentation/docs/mcp/knowledge-graph-mcp.md
@@ -6,6 +6,7 @@ description: Add Knowledge Graph Memory MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -34,9 +35,13 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40modelcontextprotocol%2Fserver-memory&id=knowledge_graph_memory&name=Knowledge%20Graph%20Memory&description=Graph-based%20memory%20system%20for%20persistent%20knowledge%20storage)
- 2. Press `Yes` to confirm the installation
- 3. Scroll to the top and click `Exit` from the upper left corner
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/mbot-mcp.md b/documentation/docs/mcp/mbot-mcp.md
index 8e23add3..4a0b0761 100644
--- a/documentation/docs/mcp/mbot-mcp.md
+++ b/documentation/docs/mcp/mbot-mcp.md
@@ -6,6 +6,7 @@ description: Control a MakeBlock mbot2 rover through MQTT and MCP as a Goose Ext
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -35,11 +36,18 @@ This tutorial will get you started with [deemkeen's MQTT MCP server](https://git
- 1. [Launch the installer](goose://extension?cmd=/path/to/java&arg=-jar&arg=/path/to/mbotmcp-0.0.1-SNAPSHOT.jar&name=mbot2&description=mbot2&env=MQTT_SERVER_URI%3Dtcp://1.2.3.4:1883&env=MQTT_USERNAME%3Dyour_username&env=MQTT_PASSWORD%3Dyour_password)
- 2. Press `Yes` to confirm the installation
- 3. Get your MQTT server URI, and your username/password if your MQTT uses authentication
- 4. Click `Save Configuration`
- 5. Scroll to the top and click `Exit` from the upper left corner
+
1. Run the `configure` command:
@@ -205,13 +213,13 @@ This tutorial will get you started with [deemkeen's MQTT MCP server](https://git
│
└ Added mbot2 extension
```
- :::info
- MQTT_USERNAME and MQTT_PASSWORD are required to exist, but can be empty strings if your MQTT server does not require authentication.
- :::
+ :::info
+ MQTT_USERNAME and MQTT_PASSWORD are required to exist, but can be empty strings if your MQTT server does not require authentication.
+ :::
## Example Usage
diff --git a/documentation/docs/mcp/netlify-mcp.md b/documentation/docs/mcp/netlify-mcp.md
index 91495ef9..286215f2 100644
--- a/documentation/docs/mcp/netlify-mcp.md
+++ b/documentation/docs/mcp/netlify-mcp.md
@@ -6,6 +6,7 @@ description: Add Netlify MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -41,8 +42,13 @@ netlify login
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40netlify%2Fmcp&id=netlify&name=Netlify&description=Build%2C%20deploy%2C%20and%20manage%20sites%20with%20Netlify%27s%20official%20MCP%20server.)
- 2. Press `OK` to confirm the installation
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/nostrbook-mcp.md b/documentation/docs/mcp/nostrbook-mcp.md
index 7df8a41d..18ed81da 100644
--- a/documentation/docs/mcp/nostrbook-mcp.md
+++ b/documentation/docs/mcp/nostrbook-mcp.md
@@ -5,6 +5,7 @@ description: Add Nostrbook MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -29,10 +30,13 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40nostrbook%2Fmcp&id=nostrbook&name=Nostrbook&description=A%20comprehensive%20registry%20of%20Nostr%20documentation%20with%20structured%20knowledge)
- 2. Press `Yes` to confirm the installation
- 3. Click `Save Configuration`
- 4. Scroll to the top and click `Exit` from the upper left corner
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/pdf-mcp.md b/documentation/docs/mcp/pdf-mcp.md
index 5ee9a41f..4913c4d9 100644
--- a/documentation/docs/mcp/pdf-mcp.md
+++ b/documentation/docs/mcp/pdf-mcp.md
@@ -6,6 +6,7 @@ description: Add PDF Reader MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -33,11 +34,14 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
- 1. [Launch the installer](goose://extension?cmd=uvx&arg=mcp-read-pdf&id=pdf_read&name=PDF%20Reader&description=Read%20large%20and%20complex%20PDF%20documents)
- 2. Press `Yes` to confirm the installation
- 3. Click `Save Configuration`
- 4. Scroll to the top and click `Exit` from the upper left corner
-
+
+
1. Run the `configure` command:
```sh
diff --git a/documentation/docs/mcp/pieces-mcp.md b/documentation/docs/mcp/pieces-mcp.md
index 32f4d836..bd4090ce 100644
--- a/documentation/docs/mcp/pieces-mcp.md
+++ b/documentation/docs/mcp/pieces-mcp.md
@@ -5,8 +5,8 @@ description: Add Pieces for Developers MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
-
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -34,8 +34,12 @@ http://localhost:39300/model_context_protocol/2024-11-05/sse
- 1. [Launch the installer](goose://extension?url=http%3A%2F%2Flocalhost%3A39300%2Fmodel_context_protocol%2F2024-11-05%2Fsse&id=pieces&name=Pieces%20for%20Developers&description=Provides%20access%20to%20your%20Pieces%20Long-Term%20Memory.%20You%20need%20to%20have%20Pieces%20installed%20to%20use%20this.)
- 2. Press `Yes` to confirm the installation
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/playwright-mcp.md b/documentation/docs/mcp/playwright-mcp.md
index 73dd84c9..f30c1861 100644
--- a/documentation/docs/mcp/playwright-mcp.md
+++ b/documentation/docs/mcp/playwright-mcp.md
@@ -6,6 +6,7 @@ description: Add Playwright MCP Server as a Goose Extension for Modern Web Testi
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -33,9 +34,13 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=@playwright/mcp@latest&id=playwright&name=Playwright&description=Modern%20web%20testing%20and%20automation)
- 2. Press `Yes` to confirm the installation
- 3. Scroll to the top and click `Exit` from the upper left corner
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/postgres-mcp.md b/documentation/docs/mcp/postgres-mcp.md
index d7e15a02..39a3a79a 100644
--- a/documentation/docs/mcp/postgres-mcp.md
+++ b/documentation/docs/mcp/postgres-mcp.md
@@ -6,6 +6,7 @@ description: Add PostgreSQL MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -60,11 +61,18 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=@modelcontextprotocol/server-postgres&arg=Your%20PostgreSQL%20connection%20URL&id=postgres&name=PostgreSQL&description=PostgreSQL%20database%20integration)
- 2. Press `Yes` to confirm the installation
- 3. Enter your PostgreSQL connection URL in the format: `postgresql://username:password@hostname:5432/database`
- 4. Click `Save Configuration`
- 5. Scroll to the top and click `Exit` from the upper left corner
+
+
+ :::info
+ Enter your PostgreSQL connection URL in the format: `postgresql://username:password@hostname:5432/database`
+ :::
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/puppeteer-mcp.md b/documentation/docs/mcp/puppeteer-mcp.md
index 46deb4b2..97f4c6f1 100644
--- a/documentation/docs/mcp/puppeteer-mcp.md
+++ b/documentation/docs/mcp/puppeteer-mcp.md
@@ -6,6 +6,7 @@ description: Add Puppeteer MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -34,10 +35,14 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40modelcontextprotocol%2Fserver-puppeteer&id=puppeteer&name=Puppeteer&description=Headless%20browser%20automation)
- 2. Press `Yes` to confirm the installation
- 3. Scroll to the top and click `Exit` from the upper left corner
-
+
+
1. Run the `configure` command:
```sh
diff --git a/documentation/docs/mcp/repomix-mcp.md b/documentation/docs/mcp/repomix-mcp.md
index b02f2027..2e34a8c7 100644
--- a/documentation/docs/mcp/repomix-mcp.md
+++ b/documentation/docs/mcp/repomix-mcp.md
@@ -6,6 +6,7 @@ description: Add Repomix MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -34,11 +35,14 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=repomix&arg=--mcp&id=repomix&name=Repomix&description=Pack%20repositories%20into%20AI-friendly%20formats%20for%20Goose)
- 2. Press `Yes` to confirm the installation
- 3. Click `Save Configuration`
- 4. Scroll to the top and click `Exit` from the upper left corner
-
+
+
1. Run the `configure` command:
```sh
diff --git a/documentation/docs/mcp/selenium-mcp.md b/documentation/docs/mcp/selenium-mcp.md
index 11e96401..56538b5e 100644
--- a/documentation/docs/mcp/selenium-mcp.md
+++ b/documentation/docs/mcp/selenium-mcp.md
@@ -6,6 +6,7 @@ description: Add Selenium MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -35,11 +36,14 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40angiejones%2Fmcp-selenium&id=selenium-mcp&name=Selenium%20MCP&description=automates%20browser%20interactions)
- 2. Press `Yes` to confirm the installation
- 3. Click `Save Configuration`
- 5. Scroll to the top and click `Exit` from the upper left corner
-
+
+
1. Run the `configure` command:
```sh
diff --git a/documentation/docs/mcp/speech-mcp.md b/documentation/docs/mcp/speech-mcp.md
index 0a5a07a8..038ad7e5 100644
--- a/documentation/docs/mcp/speech-mcp.md
+++ b/documentation/docs/mcp/speech-mcp.md
@@ -6,6 +6,7 @@ description: Add Speech MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -19,7 +20,7 @@ This tutorial covers how to add the [Speech MCP Server](https://github.com/Kvadr
:::tip TLDR
- [Launch the installer](goose://extension?cmd=uvx&&arg=-p&arg=3.10.14&arg=speech-mcp@latest&id=speech_mcp&name=Speech%20Interface&description=Voice%20interaction%20with%20audio%20visualization%20for%20Goose)
+ [Launch the installer](goose://extension?cmd=uvx&arg=-p&arg=3.10.14&arg=speech-mcp@latest&id=speech_mcp&name=Speech%20Interface&description=Voice%20interaction%20with%20audio%20visualization%20for%20Goose)
**Command**
@@ -40,10 +41,13 @@ Before adding this extension, make sure [PortAudio](https://github.com/GoogleClo
- 1. [Launch the installer](goose://extension?cmd=uvx&&arg=-p&arg=3.10.14&arg=speech-mcp@latest&id=speech_mcp&name=Speech%20Interface&description=Voice%20interaction%20with%20audio%20visualization%20for%20Goose)
- 2. Press `Yes` to confirm the installation
- 3. Click `Save Configuration`
- 4. Scroll to the top and click `Exit` from the upper left corner
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/square-mcp.md b/documentation/docs/mcp/square-mcp.md
index f3fa08fd..7ea63649 100644
--- a/documentation/docs/mcp/square-mcp.md
+++ b/documentation/docs/mcp/square-mcp.md
@@ -6,6 +6,7 @@ description: Add the Square API as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
🎥 Square MCP Server Video Walkthrough
@@ -53,9 +54,11 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
1. [Launch the installer](https://mcp.squareup.com/goose)
- 2. Goose will open and ask you to confirm installation.
- 3. Goose should open a browser tab to an OAuth permissions page. Double-check which permissions you want to allow, and click 'Grant Access'.
+ 2. Click `OK` to confirm the installation
+ 3. Goose should open a browser tab to an OAuth permissions page. Double-check which permissions you want to allow, and click `Grant Access`.
4. It will ask you to login or reauthenticate to Square, and may ask you to confirm the permissions you want to allow.
+ 5. In Goose, navigate to the chat
+
1. Run the `configure` command:
@@ -207,7 +210,8 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
:::tip TLDR
- [Launch the installer](goose://extension?cmd=npx&arg=square-mcp-server%20start&id=square-mcp&name=Square%20MCP%20Server&description=Square%20MCP%20Server&env=ACCESS_TOKEN%3DYour%20Access%20Token&env=SANDBOX%3Dtrue)
+ [Launch the installer](goose://extension?cmd=npx&arg=square-mcp-server&arg=start&id=mcp_square_api&name=Square%20MCP%20Server&description=Square%20API%20MCP%20Server&env=ACCESS_TOKEN%3DYour%20Access%20Token&env=SANDBOX%3Dtrue)
+
**Command**
@@ -231,13 +235,21 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
- 1. [Launch the installer](goose://extension?cmd=npx&arg=square-mcp-server%20start&id=square-mcp&name=Square%20MCP%20Server&description=Square%20MCP%20Server&env=ACCESS_TOKEN%3DYour%20Access%20Token&env=SANDBOX%3Dtrue)
- 2. Press `Yes` to confirm the installation
- 3. Get your [Square Access Token](https://developer.squareup.com/apps) and paste it in
- 4. Keep `SANDBOX` as the environment variable, or change to `PRODUCTION`, and set its value to `true`
- 5. Click `Save Configuration`
- 6. Scroll to the top and click `Exit` from the upper left corner
-
+
+
1. Run the `configure` command:
diff --git a/documentation/docs/mcp/tavily-mcp.md b/documentation/docs/mcp/tavily-mcp.md
index 518237bb..99b1f1cb 100644
--- a/documentation/docs/mcp/tavily-mcp.md
+++ b/documentation/docs/mcp/tavily-mcp.md
@@ -6,6 +6,7 @@ description: Add Tavily MCP Server as a Goose Extension
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -37,12 +38,19 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
- 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=tavily-mcp&id=tavily&name=Tavily%20Web%20Search&description=Search%20the%20web%20with%20Tavily%20MCP&env=TAVILY_API_KEY%3DTavily%20API%20Key)
- 2. Press `Yes` to confirm the installation
- 3. Obtain a [TAVILY_API_KEY](https://tavily.com/) and paste it in
- 4. Click `Save Configuration`
- 5. Scroll to the top and click `Exit` from the upper left corner
-
+
+
1. Run the `configure` command:
```sh
diff --git a/documentation/docs/mcp/tutorial-mcp.md b/documentation/docs/mcp/tutorial-mcp.md
index ad4e1d4b..560135c3 100644
--- a/documentation/docs/mcp/tutorial-mcp.md
+++ b/documentation/docs/mcp/tutorial-mcp.md
@@ -5,6 +5,7 @@ description: Learn how to use Goose's built-in Tutorial extension for guided lea
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
+import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller';
The Tutorial extension is a built-in feature of Goose that provides interactive, step-by-step guidance for learning various aspects of Goose and its capabilities. It's designed to help users get comfortable with Goose's features through hands-on practice.
@@ -19,9 +20,9 @@ The Tutorial extension serves as an interactive learning tool that:
- 1. Click `...` in the upper right corner
- 2. Click `Advanced Settings`
- 3. Under `Extensions`, toggle `Tutorial` to on.
+
diff --git a/documentation/docs/mcp/youtube-transcript-mcp.md b/documentation/docs/mcp/youtube-transcript-mcp.md
index 7a591792..77c5c52b 100644
--- a/documentation/docs/mcp/youtube-transcript-mcp.md
+++ b/documentation/docs/mcp/youtube-transcript-mcp.md
@@ -6,6 +6,7 @@ description: Add YouTube Transcript MCP Server as a Goose Extension for accessin
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
+import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
@@ -34,10 +35,13 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
- 1. [Launch the installer](goose://extension?cmd=uvx&arg=--from&arg=git%2Bhttps%3A%2F%2Fgithub.com%2Fjkawamoto%2Fmcp-youtube-transcript&arg=mcp-youtube-transcript&id=youtube-transcript&name=YouTube%20Transcript&description=Access%20YouTube%20video%20transcripts)
- 2. Press `Yes` to confirm the installation
- 3. Click `Save Configuration`
- 4. Scroll to the top and click `Exit` from the upper left corner
+
1. Run the `configure` command:
diff --git a/documentation/src/components/GooseDesktopInstaller.tsx b/documentation/src/components/GooseDesktopInstaller.tsx
index 9f7604e4..cf9f113c 100644
--- a/documentation/src/components/GooseDesktopInstaller.tsx
+++ b/documentation/src/components/GooseDesktopInstaller.tsx
@@ -10,12 +10,17 @@ interface GooseDesktopInstallerProps {
extensionId: string;
extensionName: string;
description: string;
- command: string;
- args: string[];
+ // Command-line extension props (optional when using url)
+ command?: string;
+ args?: string[];
+ // SSE extension prop (optional when using command+args)
+ url?: string;
envVars?: EnvVar[];
apiKeyLink?: string;
apiKeyLinkText?: string;
customStep3?: string;
+ hasEnvVars?: boolean; // Explicit control over configuration steps
+ appendToStep3?: string;
}
export default function GooseDesktopInstaller({
@@ -24,30 +29,43 @@ export default function GooseDesktopInstaller({
description,
command,
args,
+ url,
envVars = [],
apiKeyLink,
apiKeyLinkText,
- customStep3
+ customStep3,
+ hasEnvVars,
+ appendToStep3
}: GooseDesktopInstallerProps) {
// Build the goose:// URL
const buildGooseUrl = () => {
- const urlParts = [
- `cmd=${encodeURIComponent(command)}`,
- ...args.map(arg => `arg=${encodeURIComponent(arg)}`),
+ let urlParts = [];
+
+ // Add SSE extension URL or command-line extension command+args first
+ if (url) {
+ urlParts.push(`url=${encodeURIComponent(url)}`);
+ } else if (command && args) {
+ urlParts.push(`cmd=${encodeURIComponent(command)}`);
+ urlParts.push(...args.map(arg => `arg=${encodeURIComponent(arg)}`));
+ }
+
+ // Add common parameters
+ urlParts.push(
`id=${encodeURIComponent(extensionId)}`,
`name=${encodeURIComponent(extensionName)}`,
- `description=${encodeURIComponent(description)}`,
- // Add environment variables (matching TLDR sections encoding)
- ...envVars.map(envVar =>
- `env=${encodeURIComponent(`${envVar.name}=${envVar.label}`)}`
- )
- ];
+ `description=${encodeURIComponent(description)}`
+ );
+
+ // Add environment variables (matching TLDR sections encoding)
+ urlParts.push(...envVars.map(envVar =>
+ `env=${encodeURIComponent(`${envVar.name}=${envVar.label}`)}`
+ ));
return `goose://extension?${urlParts.join('&')}`;
};
- // Generate step 3 content
+ // Generate step 3 content (only if needed)
const getStep3Content = () => {
if (customStep3) {
return customStep3;
@@ -66,9 +84,23 @@ export default function GooseDesktopInstaller({
return `Obtain your ${envVarNames} and paste it in`;
}
- return 'Configure any required settings';
+ return null; // No configuration needed
};
+ const content = getStep3Content();
+ const step3Content = appendToStep3
+ ? (
+ <>
+ {content}
+ {content ?
: null}
+ {appendToStep3}
+ >
+ )
+ : content;
+
+ const hasConfigurationContent = step3Content !== null;
+ const shouldShowConfigurationSteps = hasEnvVars ?? hasConfigurationContent;
+
return (
@@ -76,8 +108,12 @@ export default function GooseDesktopInstaller({
Launch the installer
- Click
OK to confirm the installation
- - {getStep3Content()}
- - Click
Add Extension
+ {shouldShowConfigurationSteps && (
+ <>
+ - {step3Content}
+ - Click
Add Extension
+ >
+ )}
- Click the button in the top-left to open the sidebar
- Navigate to the chat