docs: description required for "Add Extension" in cli - phase 2 (#5635)

This commit is contained in:
dianed-square
2025-11-07 13:27:57 -08:00
committed by GitHub
parent 4b0bef18ae
commit 65b4b2bb18
32 changed files with 608 additions and 3865 deletions
+3 -3
View File
@@ -56,7 +56,7 @@ This tutorial covers how to add the [{Extension Name} MCP Server](/) as a goose
args={["-y", "@package/name"]}
timeout={300}
envVars={[
{ name: "API_KEY", label: "••••••••••••••••" }
{ name: "API_KEY", label: "Description or placeholder value" }
]}
apiKeyLink="https://example.com/api-keys"
apiKeyLinkText="Service Access Token"
@@ -87,7 +87,7 @@ This tutorial covers how to add the [{Extension Name} MCP Server](/) as a goose
command="{full command with args}"
timeout={300}
envVars={[
{ key: "API_KEY", value: "••••••••••••••••" }
{ key: "API_KEY", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
infoNote={
<>
@@ -107,7 +107,7 @@ This tutorial covers how to add the [{Extension Name} MCP Server](/) as a goose
url="https://example-server.com/endpoint"
timeout={300}
envVars={[ // also used for http request headers
{ key: "API_KEY", value: "••••••••••••••••" }
{ key: "API_KEY", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
infoNote={
<>
+18 -151
View File
@@ -1,15 +1,16 @@
---
title: AgentQL Extension
description: Add AgentQL MCP Server as a Goose Extension
description: Add AgentQL MCP Server as a goose Extension
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<!-- <YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/VIDEO_ID" /> -->
This tutorial covers how to add the [AgentQL MCP Server](https://github.com/tinyfish-io/agentql-mcp) as a Goose extension to extract and transform unstructured web content into structured data.
This tutorial covers how to add the [AgentQL MCP Server](https://github.com/tinyfish-io/agentql-mcp) as a goose extension to extract and transform unstructured web content into structured data.
:::tip TLDR
@@ -52,153 +53,19 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ agentql
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ agentql
// highlight-start
◆ What command should be run?
│ npx -y agentql-mcp
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ agentql
◇ What command should be run?
│ npx -y agentql-mcp
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ agentql
◇ What command should be run?
│ npx -y agentql-mcp
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Obtain an [AgentQL API Key](https://dev.agentql.com/api-keys) and paste it in.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ agentql
◇ What command should be run?
│ npx -y agentql-mcp
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ Yes
◇ Environment variable name:
│ AGENTQL_API_KEY
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
◇ Add another environment variable?
│ No
// highlight-end
└ Added agentql extension
```
<CLIExtensionInstructions
name="agentql"
description="Transform unstructured web content into structured data"
command="npx -y agentql-mcp"
envVars={[
{ key: "AGENTQL_API_KEY", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
infoNote={
<>
Obtain your <a href="https://dev.agentql.com/api-keys" target="_blank" rel="noopener noreferrer">AgentQL API Key</a> and paste it in.
</>
}
/>
</TabItem>
</Tabs>
@@ -211,7 +78,7 @@ Let's use the AgentQL extension to gather and structure tech conference data to
Anthropic's Claude 4 Sonnet was used for this task.
:::
### Goose Prompt
### goose Prompt
```
I'm a tech conference speaker planning my 2025-2026 submissions.
@@ -230,7 +97,7 @@ To identify:
Structure results as JSON
```
### Goose Output
### goose Output
```
I'll help you analyze conference patterns using the web data extraction tool. Let me break this down into a few queries to get comprehensive data.
+49 -321
View File
@@ -1,7 +1,7 @@
---
title: Alby Bitcoin Payments Extension
description: Connect Goose to your Bitcoin Lightning Wallet
description: Connect goose to your Bitcoin Lightning Wallet
---
import Tabs from '@theme/Tabs';
@@ -13,7 +13,7 @@ import { PanelLeft } from 'lucide-react';
This tutorial covers how to add the [Alby Bitcoin Payments MCP Server](https://github.com/getalby/mcp) as a Goose extension to interact with your lightning wallet, make and receive payments, list transactions, convert fiat amounts to sats, request invoices from lightning addresses, and interact with paid MCP tools (such as ones built with [PaidMCP](https://github.com/getAlby/paidmcp)).
This tutorial covers how to add the [Alby Bitcoin Payments MCP Server](https://github.com/getalby/mcp) as a goose extension to interact with your lightning wallet, make and receive payments, list transactions, convert fiat amounts to sats, request invoices from lightning addresses, and interact with paid MCP tools (such as ones built with [PaidMCP](https://github.com/getAlby/paidmcp)).
:::info
You'll need a lightning wallet that supports [NWC](https://nwc.dev). If you don't have one yet, consider trying [Alby Hub](https://albyhub.com).
@@ -22,7 +22,7 @@ You'll need a lightning wallet that supports [NWC](https://nwc.dev). If you don'
:::tip TLDR
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
[Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40getalby%2Fmcp&id=alby&name=Alby&description=Connect%20Goose%20to%20your%20Bitcoin%20Lightning%20Wallet&env=NWC_CONNECTION_STRING%3DNWC%20Connection%20Secret)
[Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40getalby%2Fmcp&id=alby&name=Alby&description=Connect%20goose%20to%20your%20Bitcoin%20Lightning%20Wallet&env=NWC_CONNECTION_STRING%3DNWC%20Connection%20Secret)
</TabItem>
<TabItem value="cli" label="goose CLI">
**Command**
@@ -52,7 +52,7 @@ You'll need [Node.js](https://nodejs.org/) installed on your system to run this
<GooseDesktopInstaller
extensionId="alby"
extensionName="Alby"
description="Connect Goose to your Bitcoin Lightning Wallet"
description="Connect goose to your Bitcoin Lightning Wallet"
command="npx"
args={["-y", "@getalby/mcp"]}
envVars={[
@@ -62,326 +62,54 @@ You'll need [Node.js](https://nodejs.org/) installed on your system to run this
/>
</TabItem>
<TabItem value="remote" label="Remote">
1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40getalby%2Fmcp&id=alby&name=Alby&description=Connect%20Goose%20to%20your%20Bitcoin%20Lightning%20Wallet)
2. Press `OK` to confirm the installation
3. Change the type to "Streamable HTTP"
4. Change the endpoint to `https://mcp.getalby.com/mcp`
5. Add a request header with Header name = `Authorization` and Value:
```
Bearer nostr+walletconnect://...
```
6. Press the `+Add` button to finish adding the request header
7. Press `Add Extension`
8. Click the <PanelLeft className="inline" size={16} /> button in the top-left to open the sidebar
9. Navigate to the chat
<GooseDesktopInstaller
extensionId="alby-remote"
extensionName="Alby"
description="Connect goose to your Bitcoin Lightning Wallet"
type="http"
url="https://mcp.getalby.com/mcp"
envVars={[
{ name: "Authorization", label: "Bearer YOUR_NWC_CONNECTION_STRING" }
]}
apiKeyLink="https://nwc.dev"
apiKeyLinkText="NWC connection secret"
customStep3="Obtain an NWC connection secret from your lightning wallet and paste it as the Bearer token (Bearer nostr+walletconnect://...)"
/>
</TabItem>
</Tabs>
</TabItem>
<TabItem value="cli" label="goose CLI">
<Tabs>
<TabItem value="local" label="Local" default>
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ Alby
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Alby
// highlight-start
◆ What command should be run?
│ npx -y @getalby/mcp
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Alby
◇ What command should be run?
│ npx -y @getalby/mcp
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Alby
◇ What command should be run?
│ npx -y @getalby/mcp
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Obtain a NWC connection secret from your lightning wallet and paste it in.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Alby
◇ What command should be run?
│ npx -y @getalby/mcp
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ Yes
◇ Environment variable name:
│ NWC_CONNECTION_STRING
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
◇ Add another environment variable?
│ No
// highlight-end
└ Added Alby extension
```
<CLIExtensionInstructions
name="Alby"
description="Connect goose to your Bitcoin Lightning Wallet"
command="npx -y @getalby/mcp"
envVars={[
{ key: "NWC_CONNECTION_STRING", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
infoNote={
<>
Obtain an NWC Connection secret from your lightning wallet (<code>nostr+walletconnect://...</code>) and paste it in.
</>
}
/>
</TabItem>
<TabItem value="remote" label="Remote">
8. Run the `configure` command:
```sh
goose configure
```
9. Choose to add a `Remote Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
│ ○ Command-line Extension (Run a local command or script)
│ ○ Remote Extension (SSE)
// highlight-start
│ ● Remote Extension (Streaming HTTP)
// highlight-end
```
10. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Remote Extension
// highlight-start
◆ What would you like to call this extension?
│ Alby
// highlight-end
```
11. Enter the Streaming HTTP endpoint URI
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Remote Extension
◇ What would you like to call this extension?
│ Alby
// highlight-start
◆ What is the Streaming HTTP URI?
│ https://mcp.getalby.com/mcp
// highlight-end
```
12. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Remote Extension
◇ What would you like to call this extension?
│ Alby
◇ What is the Streaming HTTP endpoint URI?
│ https://mcp.getalby.com/mcp
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
13. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Remote Extension
◇ What would you like to call this extension?
│ Alby
◇ What is the Streaming HTTP endpoint URI?
│ https://mcp.getalby.com/mcp
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◆ Would you like to add a description?
│ No
// highlight-end
```
14. Add a custom header containing `Bearer YOUR_CONNECTIONSECRET`.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Remote Extension
◇ What would you like to call this extension?
│ Alby
◇ What is the Streaming HTTP endpoint URI?
│ https://mcp.getalby.com/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?
// highlight-start
│ ● Yes / ○ No
// highlight-end
◆ Header name:
// highlight-start
│ Authorization
// highlight-end
◆ Header name:
// highlight-start
│ Bearer nostr+walletconnect://...
// highlight-end
◆ Add another header?
│ ○ Yes / ● No
```
<CLIExtensionInstructions
name="Alby"
description="Connect goose to your Bitcoin Lightning Wallet"
type="http"
url="https://mcp.getalby.com/mcp"
envVars={[
{ key: "Authorization", value: "Bearer nostr+walletconnect://..." }
]}
infoNote={
<>
Obtain an NWC connection secret from your lightning wallet and paste it as the <code>Bearer</code> token.
</>
}
/>
</TabItem>
</Tabs>
</TabItem>
@@ -397,11 +125,11 @@ Claude Sonnet 3.7 was used for this task. A similarly capable model is recommend
Use the built-in memory extension to save your contacts. e.g. "My friend Rene's lightning address is reneaaron@getalby.com. Please save it to your memory."
:::
### Goose Prompt
### goose Prompt
> _Pay Rene $1 USD, with message "Hi Rene, it's Roland. I'm making a Goose tutorial!"_
> _Pay Rene $1 USD, with message "Hi Rene, it's Roland. I'm making a goose tutorial!"_
### Goose Output
### goose Output
:::note CLI
@@ -438,13 +166,13 @@ Use the built-in memory extension to save your contacts. e.g. "My friend Rene's
✅ **Payment Successful!**
I've successfully sent $1 USD (935 sats) to Rene at `reneaaron@getalby.com` with your message: "Hi Rene, it's Roland. I'm making a Goose tutorial!"
I've successfully sent $1 USD (935 sats) to Rene at `reneaaron@getalby.com` with your message: "Hi Rene, it's Roland. I'm making a goose tutorial!"
**Transaction Details:**
- Amount: 935 sats ($1 USD)
- Fees: 3 sats
- Total cost: 938 sats
- Message: "Hi Rene, it's Roland. I'm making a Goose tutorial!"
- Message: "Hi Rene, it's Roland. I'm making a goose tutorial!"
- Payment hash: `cd30642470d81c2e8eb04c9ac95e679c53778537aecdf5554b15288ac42fe129`
Rene will receive the message "Thanks, sats received!" as confirmation of the payment.
+20 -158
View File
@@ -1,17 +1,18 @@
---
title: Asana Extension
description: Add Asana MCP Server as a Goose Extension
description: Add Asana 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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<!--<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/VIDEO_ID" />-->
This tutorial covers how to add the [Asana MCP Server](https://github.com/roychri/mcp-server-asana) as a Goose extension to enable task automation, project tracking, and team collaboration.
This tutorial covers how to add the [Asana MCP Server](https://github.com/roychri/mcp-server-asana) as a goose extension to enable task automation, project tracking, and team collaboration.
:::tip TLDR
<Tabs groupId="interface">
@@ -43,7 +44,7 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
<GooseDesktopInstaller
extensionId="asana"
extensionName="Asana"
description="enable task automation, project tracking, and team collaboration"
description="Enable task automation, project tracking, and team collaboration"
command="npx"
args={["-y", "@roychri/mcp-server-asana"]}
envVars={[
@@ -57,158 +58,19 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
:::
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ Asana
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Asana
// highlight-start
◆ What command should be run?
│ npx -y @roychri/mcp-server-asana
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Asana
◇ What command should be run?
│ npx -y @roychri/mcp-server-asana
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Asana
◇ What command should be run?
│ npx -y @roychri/mcp-server-asana
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Obtain a [Asana Access Token](https://app.asana.com/0/my-apps) and paste it in.
:::info
See [Asana's developer docs](https://developers.asana.com/docs/personal-access-token) if you need detailed instructions on creating an access token.
:::
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Asana
◇ What command should be run?
│ npx -y @roychri/mcp-server-asana
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ Yes
◇ Environment variable name:
│ ASANA_ACCESS_TOKEN
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
◇ Add another environment variable?
│ No
// highlight-end
└ Added Asana extension
```
<CLIExtensionInstructions
name="Asana"
description="Enable task automation, project tracking, and team collaboration"
command="npx -y @roychri/mcp-server-asana"
envVars={[
{ key: "ASANA_ACCESS_TOKEN", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
infoNote={
<>
Obtain your <a href="https://app.asana.com/0/my-apps" target="_blank" rel="noopener noreferrer">Asana Access Token</a> and paste it in. See <a href="https://developers.asana.com/docs/personal-access-token" target="_blank" rel="noopener noreferrer">Asana's developer docs</a> if you need detailed instructions on creating an access token.
</>
}
/>
</TabItem>
</Tabs>
@@ -218,12 +80,12 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
OpenAI's GPT-4o was used for this task. There's an [open bug](https://github.com/block/goose/issues/1804) for Amazon Bedrock models.
:::
### Goose Prompt
### goose Prompt
> _Goose, I have one hour. Look through uncompleted tasks assigned to me in Asana and show me ones that you estimate will take an hour or less. Order them by deadline._
> _goose, I have one hour. Look through uncompleted tasks assigned to me in Asana and show me ones that you estimate will take an hour or less. Order them by deadline._
### Goose Output
### goose Output
Note that IDs have been changed to generic ones
+7 -7
View File
@@ -1,6 +1,6 @@
---
title: Auto Visualiser Extension
description: Add automatic data visualization to Goose
description: Add automatic data visualization to goose
---
import Tabs from '@theme/Tabs';
@@ -11,7 +11,7 @@ import ImageCarousel from '@site/src/components/ImageCarousel';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/txh6DlzPwNo" />
The Auto Visualiser extension enables Goose to automatically generate interactive data visualizations directly in your conversation. This built-in extension leverages MCP-UI to create charts, graphs, maps, and other visual representations of your data without requiring manual requests.
The Auto Visualiser extension enables goose to automatically generate interactive data visualizations directly in your conversation. This built-in extension leverages MCP-UI to create charts, graphs, maps, and other visual representations of your data without requiring manual requests.
This guide will cover enabling and using the Auto Visualiser MCP Server.
@@ -51,7 +51,7 @@ This guide will cover enabling and using the Auto Visualiser MCP Server.
## Visualization Types
The Auto Visualiser is a powerful extension that integrates with Goose's MCP-UI system to automatically detect when data would benefit from visualization and render interactive visual components. It analyzes data patterns in your conversations and suggests the most appropriate visualization type.
The Auto Visualiser is a powerful extension that integrates with goose's MCP-UI system to automatically detect when data would benefit from visualization and render interactive visual components. It analyzes data patterns in your conversations and suggests the most appropriate visualization type.
| Chart Type | Description | Detected When Prompt Implies |
|------------|-------------|------------------------------|
@@ -78,7 +78,7 @@ The Auto Visualiser is a powerful extension that integrates with Goose's MCP-UI
### Features
- **Automatic Detection**: Goose intelligently chooses the best visualization type for your data
- **Automatic Detection**: goose intelligently chooses the best visualization type for your data
- **Interactive Components**: All visualizations are interactive with hover effects, zooming, and drilling capabilities
- **MCP-UI Integration**: Leverages the emerging MCP-UI standard for seamless rendering
- **Multiple Chart Support**: Can render multiple visualizations in a single response
@@ -88,10 +88,10 @@ The Auto Visualiser is a powerful extension that integrates with Goose's MCP-UI
## Example Usage
In this example, I'll have Goose analyze some sales data and automatically visualize it using the Auto Visualiser extension.
In this example, I'll have goose analyze some sales data and automatically visualize it using the Auto Visualiser extension.
### Goose Prompt
### goose Prompt
```
I have quarterly sales data for different product categories. Can you help me understand:
1. The hierarchical breakdown of revenue across our nested product categories
@@ -104,7 +104,7 @@ Here's the data:
- Home & Garden: Q1: $80k, Q2: $95k, Q3: $110k, Q4: $125k
```
### Goose Output
### goose Output
:::note Desktop
+12 -147
View File
@@ -1,16 +1,17 @@
---
title: Blender Extension
description: Add Blender MCP Server as a Goose Extension
description: Add Blender 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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/izoQatKtJ2I" />
This tutorial covers how to add the [Blender MCP Server](https://github.com/ahujasid/blender-mcp) as a Goose extension to create 3D scenes, control Blender with natural language, generate models, apply materials, and more.
This tutorial covers how to add the [Blender MCP Server](https://github.com/ahujasid/blender-mcp) as a goose extension to create 3D scenes, control Blender with natural language, generate models, apply materials, and more.
:::tip TLDR
<Tabs groupId="interface">
@@ -61,162 +62,26 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ blender
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ blender
// highlight-start
◆ What command should be run?
│ uvx blender-mcp
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ blender
◇ What command should be run?
│ uvx blender-mcp
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ blender
◇ What command should be run?
│ uvx blender-mcp
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ blender
◇ What command should be run?
│ uvx blender-mcp
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ No
|
// highlight-end
└ Added blender extension
```
<CLIExtensionInstructions
name="Blender"
description="Blender 3D scene creation integration"
command="uvx blender-mcp"
/>
</TabItem>
</Tabs>
## Example Usage
In this example, Ill show you how to use Goose with the Blender Extension to build an entire 3D campfire scene from scratch. By automating Blender controls through natural language, Goose can create objects like logs and fireballs, apply realistic materials, add lighting effects, generate particles for sparks, create subtle smoke, and even animate the fire to gently pulse over time.
In this example, Ill show you how to use goose with the Blender Extension to build an entire 3D campfire scene from scratch. By automating Blender controls through natural language, goose can create objects like logs and fireballs, apply realistic materials, add lighting effects, generate particles for sparks, create subtle smoke, and even animate the fire to gently pulse over time.
In this example, Ill show you how to use Goose with the Blender Extension to build a full 3D campfire scene, including logs, fireballs, lighting, and subtle fire animation, just by describing what you want.
In this example, Ill show you how to use goose with the Blender Extension to build a full 3D campfire scene, including logs, fireballs, lighting, and subtle fire animation, just by describing what you want.
### Goose Prompt
### goose Prompt
> Build a cozy campfire scene. Add a ground plane, place a few logs in a circle, and add a glowing fireball in the middle. Set the lighting to a warm tone like a sunset, and angle the camera for a dramatic shot. Give the logs a rough wood texture and make the fireball emit light.
### Goose Output
### goose Output
:::note CLI
+24 -142
View File
@@ -1,13 +1,14 @@
---
title: Browserbase Extension
description: Add Browserbase MCP Server as a Goose Extension for Web Automation
description: Add Browserbase MCP Server as a goose Extension for Web Automation
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
This tutorial covers how to add the Browserbase MCP Server as a Goose extension for browser automation, enabling programmatic control over navigation, page interactions, and content capture.
This tutorial covers how to add the Browserbase MCP Server as a goose extension for browser automation, enabling programmatic control over navigation, page interactions, and content capture.
:::tip TLDR
@@ -31,6 +32,10 @@ This tutorial covers how to add the Browserbase MCP Server as a Goose extension
## Configuration
:::info
Note that you'll need [Node.js](https://nodejs.org/) installed on your system to run this command, as it uses `npx`.
:::
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
<GooseDesktopInstaller
@@ -44,147 +49,24 @@ This tutorial covers how to add the Browserbase MCP Server as a Goose extension
{ name: "BROWSERBASE_API_KEY", label: "Browserbase API Key" }
]}
apiKeyLink="https://browserbase.io/dashboard"
apiKeyLinkText="Get your Browserbase credentials"
apiKeyLinkText="Browserbase credentials"
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ browserbase
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ browserbase
// highlight-start
◆ What command should be run?
│ npx @browserbasehq/mcp
// highlight-end
```
5. Enter the timeout (default 300s)
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ browserbase
◇ What command should be run?
│ npx @browserbasehq/mcp
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Add a description (optional)
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ browserbase
◇ What command should be run?
│ npx @browserbasehq/mcp
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Add environment variables
```sh
┌ goose-configure
// highlight-start
◆ Would you like to add environment variables?
│ Yes
◇ Environment variable name:
│ BROWSERBASE_PROJECT_ID
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
◇ Add another environment variable?
│ Yes
◇ Environment variable name:
│ BROWSERBASE_API_KEY
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
◇ Add another environment variable?
│ No
// highlight-end
└ Added browserbase extension
```
<CLIExtensionInstructions
name="Browserbase"
description="Automate web browsing and data extraction"
command="npx @browserbasehq/mcp"
envVars={[
{ key: "BROWSERBASE_PROJECT_ID", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" },
{ key: "BROWSERBASE_API_KEY", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
infoNote={
<>
Obtain your <a href="https://browserbase.io/dashboard" target="_blank" rel="noopener noreferrer">Browserbase credentials</a> and paste them in.
</>
}
/>
</TabItem>
</Tabs>
@@ -196,7 +78,7 @@ Let's use the Browserbase extension to gather information about trending MCP-rel
Claude 4 Sonnet was used for this task.
:::
### Goose Prompt
### goose Prompt
```
1. Go to https://github.com/trending
@@ -222,7 +104,7 @@ Claude 4 Sonnet was used for this task.
• README excerpt
```
### Goose Output
### goose Output
```
# MCP Repositories Report
+11 -147
View File
@@ -1,13 +1,14 @@
---
title: Chrome DevTools Extension
description: Add Chrome DevTools MCP Server as a Goose Extension
description: Add Chrome DevTools MCP Server as a goose Extension
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
This tutorial covers how to add the Chrome DevTools MCP Server as a Goose extension to enable browser automation, web performance testing, and interactive web application debugging in a Chrome browser.
This tutorial covers how to add the Chrome DevTools MCP Server as a goose extension to enable browser automation, web performance testing, and interactive web application debugging in a Chrome browser.
:::tip TLDR
<Tabs groupId="interface">
@@ -39,164 +40,27 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
args={["-y", "chrome-devtools-mcp@latest"]}
cliCommand="npx -y chrome-devtools-mcp@latest"
timeout={300}
note="Note that you'll need Node.js installed on your system to run this command, as it uses npx."
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ chrome-devtools
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ chrome-devtools
// highlight-start
◆ What command should be run?
│ npx -y chrome-devtools-mcp@latest
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ chrome-devtools
◇ What command should be run?
│ npx -y chrome-devtools-mcp@latest
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ chrome-devtools
◇ What command should be run?
│ npx -y chrome-devtools-mcp@latest
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ chrome-devtools
◇ What command should be run?
│ npx -y chrome-devtools-mcp@latest
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ No
|
// highlight-end
└ Added chrome-devtools extension
```
<CLIExtensionInstructions
name="Chrome DevTools"
description="Browser automation and web performance testing capabilities"
command="npx -y chrome-devtools-mcp@latest"
/>
</TabItem>
</Tabs>
## Example Usage
In this example, I'll show you how to use Goose with the Chrome DevTools Extension to perform automated performance testing on a demo website.
In this example, I'll show you how to use goose with the Chrome DevTools Extension to perform automated performance testing on a demo website.
### Goose Prompt
### goose Prompt
```
Use the chrome dev tools extension to Navigate to https://www.saucedemo.com
Then, login as performance_glitch_user and measure the site's performance
```
### Goose Output
### goose Output
```
@@ -1,16 +1,17 @@
---
title: Cloudinary Asset Management Extension
description: Add Cloudinary Asset Management MCP Server as a Goose Extension
description: Add Cloudinary Asset Management MCP Server as a goose Extension
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/4diEvoRFVrQ" />
This tutorial covers how to add the [Cloudinary Asset Management MCP Server](https://github.com/cloudinary/asset-management-js) as a Goose extension to automate complex image processing workflows that would typically require specialized design software or manual editing.
This tutorial covers how to add the [Cloudinary Asset Management MCP Server](https://github.com/cloudinary/asset-management-js) as a goose extension to automate complex image processing workflows that would typically require specialized design software or manual editing.
:::tip TLDR
@@ -47,164 +48,29 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
args={["-y", "--package", "@cloudinary/asset-management", "--", "mcp", "start"]}
envVars={[{ name: "CLOUDINARY_URL", label: "Cloudinary URL (cloudinary://api_key:api_secret@cloud_name)" }]}
apiKeyLink="https://console.cloudinary.com/settings/api-keys"
apiKeyLinkText="Get your Cloudinary URL"
apiKeyLinkText="Cloudinary URL"
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ cloudinary
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ cloudinary
// highlight-start
◆ What command should be run?
│ npx -y --package @cloudinary/asset-management -- mcp start
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ cloudinary
◇ What command should be run?
│ npx -y --package @cloudinary/asset-management -- mcp start
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ cloudinary
◇ What command should be run?
│ npx -y --package @cloudinary/asset-management -- mcp start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Obtain your [Cloudinary URL](https://console.cloudinary.com/settings/api-keys) from your dashboard and paste it in.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ cloudinary
◇ What command should be run?
│ npx -y --package @cloudinary/asset-management -- mcp start
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ Yes
◇ Environment variable name:
│ CLOUDINARY_URL
◇ Environment variable value:
│ cloudinary://<your_api_key>:<your_api_secret>@<your_cloud_name>
◇ Add another environment variable?
│ No
// highlight-end
└ Added cloudinary extension
```
<CLIExtensionInstructions
name="Cloudinary"
description="Powerful media processing and transformation"
command="npx -y --package @cloudinary/asset-management -- mcp start"
envVars={[
{ key: "CLOUDINARY_URL", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
infoNote={
<>
Obtain your <a href="https://console.cloudinary.com/settings/api-keys" target="_blank" rel="noopener noreferrer">Cloudinary URL</a> from your dashboard and paste it in. For example: <code>cloudinary://&lt;your_api_key&gt;:&lt;your_api_secret&gt;@&lt;your_cloud_name&gt;</code>
</>
}
/>
</TabItem>
</Tabs>
## Example Usage
Let's use the Cloudinary extension to find and transform product images with advanced visual effects. In this example, we'll demonstrate how Goose can help you:
Let's use the Cloudinary extension to find and transform product images with advanced visual effects. In this example, we'll demonstrate how goose can help you:
1. Search for specific images in your media library
2. Apply complex transformations including background removal
@@ -214,7 +80,7 @@ Let's use the Cloudinary extension to find and transform product images with adv
Anthropic's Claude 4 Sonnet was used for this task.
:::
### Goose Prompt
### goose Prompt
```
1. find shoe images in my Cloudinary samples that have 'shoe' in the filename or public ID.
2. Let's transform the first result and only extract just the shoes
@@ -222,7 +88,7 @@ Anthropic's Claude 4 Sonnet was used for this task.
4. Add a background to the image. It should be black
```
### Goose Output
### goose Output
```
I'll help you find shoe images in your Cloudinary samples and apply the transformations you've requested. Let me start by searching for images with 'shoe' in the filename or public ID.
+27 -158
View File
@@ -1,13 +1,13 @@
---
title: Cognee Extension
description: Add Cognee MCP Server as a Goose Extension
description: Add Cognee MCP Server as a goose Extension
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
This tutorial covers how to add the [Cognee MCP Server](https://github.com/topoteretes/cognee/tree/main/cognee-mcp) as a Goose extension to enable knowledge graph memory capabilities, connecting to over 30 data sources for enhanced context and retrieval.
This tutorial covers how to add the [Cognee MCP Server](https://github.com/topoteretes/cognee/tree/main/cognee-mcp) as a goose extension to enable knowledge graph memory capabilities, connecting to over 30 data sources for enhanced context and retrieval.
:::tip TLDR
**Command**
@@ -29,7 +29,8 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
<Tabs groupId="interface">
<TabItem value="cli" label="goose CLI" default>
1. First, install Cognee:
**Install Cognee:**
```bash
# Clone and install Cognee
git clone https://github.com/topoteretes/cognee
@@ -40,158 +41,26 @@ uv sync --dev --all-extras --reinstall
sudo apt install -y libpq-dev python3-dev
```
2. Run the `configure` command:
```sh
goose configure
```
3. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
4. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ Cognee
// highlight-end
```
5. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Cognee
// highlight-start
◆ What command should be run?
│ uv --directory /path/to/cognee-mcp run python src/server.py
// highlight-end
```
6. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Cognee
◇ What command should be run?
│ uv --directory /path/to/cognee-mcp run python src/server.py
// highlight-start
◆ Please set the timeout for this tool (in secs):
300
// highlight-end
```
7. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Cognee
◇ What command should be run?
│ uv --directory /path/to/cognee-mcp run python src/server.py
◇ Please set the timeout for this tool (in secs):
300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
8. Add the required environment variables:
:::info
You'll need an API key for your LLM provider. By default, this is an [OpenAI API key](https://platform.openai.com/api-keys).
:::
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Cognee
◇ What command should be run?
│ uv --directory /path/to/cognee-mcp run python src/server.py
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ Yes
◇ Environment variable name:
│ LLM_API_KEY
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
◇ Add another environment variable?
│ No
// highlight-end
└ Added Cognee extension
```
**Configure the extension:**
<CLIExtensionInstructions
name="Cognee"
description="Knowledge graph memory capabilities with 30+ data source connections"
command="uv --directory /path/to/cognee-mcp run python src/server.py"
envVars={[
{ key: "LLM_API_KEY", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
commandNote={
<>
Replace <code>/path/to/cognee-mcp</code> with the actual path to your cloned cognee-mcp directory.
</>
}
infoNote={
<>
Obtain an API key for your LLM provider and paste it in. By default, this is an <a href="https://platform.openai.com/api-keys" target="_blank" rel="noopener noreferrer">OpenAI API key</a>.
</>
}
/>
</TabItem>
</Tabs>
@@ -201,17 +70,17 @@ See the [Cognee MCP documentation](https://docs.cognee.ai/how-to-guides/deployme
## Example Usage
Cognee provides knowledge graph memory capabilities for Goose, allowing it to remember and connect information across conversations and documents.
Cognee provides knowledge graph memory capabilities for goose, allowing it to remember and connect information across conversations and documents.
:::info LLM
OpenAI's GPT-4o was used for this task.
:::
### Goose Prompt
### goose Prompt
> _Goose, please cognify this information: "I prefer Python for data analysis and use pandas extensively. My current project involves analyzing customer behavior data." Then search for information about my programming preferences._
> _goose, please cognify this information: "I prefer Python for data analysis and use pandas extensively. My current project involves analyzing customer behavior data." Then search for information about my programming preferences._
### Goose Output
### goose Output
:::note CLI
@@ -1,6 +1,6 @@
---
title: Computer Controller Extension
description: Use Computer Controller MCP Server as a Goose Extension
description: Use Computer Controller MCP Server as a goose Extension
---
import Tabs from '@theme/Tabs';
@@ -12,10 +12,10 @@ import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller';
The Computer Controller extension helps automate everyday computer tasks and web interactions such as searching the web, controlling system settings, processing data files, and controlling applications without needing to know how to code.
This tutorial covers enabling and using the Computer Controller MCP Server, which is a built-in Goose extension.
This tutorial covers enabling and using the Computer Controller MCP Server, which is a built-in goose extension.
:::tip
Let Goose complete its tasks without interruption - avoid using your mouse or keyboard until it's done.
Let goose complete its tasks without interruption - avoid using your mouse or keyboard until it's done.
:::
## Configuration
@@ -34,68 +34,26 @@ Let Goose complete its tasks without interruption - avoid using your mouse or ke
goose configure
```
2. Choose to add a `Built-in Extension`
2. Choose to `Toggle Extensions`
```sh
┌ goose-configure
◇ What would you like to configure?
Add Extension (Connect to a new extension)
Toggle Extensions
What type of extension would you like to add?
Enable extensions: (use "space" to toggle and "enter" to submit)
// highlight-start
│ ● Built-in Extension (Use an extension that comes with Goose)
// highlight-end
│ ○ Command-line Extension
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Select the `Computer Controller` extension
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Built-in Extension
◆ Which built-in extension would you like to enable?
│ ○ Developer Tools
// highlight-start
│ ● Computer Controller
│ ● computercontroller
// highlight-end
│ ○ Memory
| ○ JetBrains
└ Enabled Computer Controller extension
|
└ Extension settings updated successfully
```
4. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Built-in Extension
◆ Which built-in extension would you like to enable?
│ Computer Controller
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
└ Enabled Computer Controller extension
```
</TabItem>
</Tabs>
## Example Usage
In this example, I'll show you how Goose can multitask, handling everything from system controls and music playback to web research and data organization.
In this example, I'll show you how goose can multitask, handling everything from system controls and music playback to web research and data organization.
:::info LLM
Anthropic's Claude 4 Sonnet was used for this task.
@@ -103,11 +61,11 @@ Anthropic's Claude 4 Sonnet was used for this task.
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
1. Open a new session in Goose Desktop
1. Open a new session in goose Desktop
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Open a terminal and start a new Goose session:
1. Open a terminal and start a new goose session:
```sh
goose session
@@ -116,9 +74,9 @@ Anthropic's Claude 4 Sonnet was used for this task.
</TabItem>
</Tabs>
### Goose Prompt
### goose Prompt
```
Goose, I need to decompress while researching AI models for tomorrow's meeting. Can you create a relaxing environment and help me research?
goose, I need to decompress while researching AI models for tomorrow's meeting. Can you create a relaxing environment and help me research?
1. Play classical music in Safari
2. Dim screen brightness (2 levels)
@@ -131,7 +89,7 @@ Goose, I need to decompress while researching AI models for tomorrow's meeting.
6. Reset brightness and close Safari
```
### Goose Output
### goose Output
```md
I'll help you create a relaxing research environment and gather information about AI models. I'll break this down into steps:
+30 -16
View File
@@ -1,6 +1,6 @@
---
title: Context7 Extension
description: Add Context7 MCP Server as a Goose Extension
description: Add Context7 MCP Server as a goose Extension
---
import Tabs from '@theme/Tabs';
@@ -13,7 +13,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/LNmPi6YCocI" />
This tutorial covers how to add the [Context7 MCP Server](https://github.com/upstash/context7) as a Goose extension to pull up-to-date, version-specific code and docs so Goose can vibe code with real context, not hallucinated or outdated answers.
This tutorial covers how to add the [Context7 MCP Server](https://github.com/upstash/context7) as a goose extension to pull up-to-date, version-specific code and docs so goose can vibe code with real context, not hallucinated or outdated answers.
:::tip TLDR
<Tabs groupId="interface">
@@ -31,20 +31,34 @@ This tutorial covers how to add the [Context7 MCP Server](https://github.com/ups
## Configuration
<GooseDesktopInstaller
extensionId="context7"
extensionName="Context7"
description="Context7 MCP server for up-to-date code and docs"
command="npx"
args={["-y", "@upstash/context7-mcp"]}
cliCommand="npx -y @upstash/context7-mcp"
timeout={300}
note="Note that you'll need Node.js installed on your system to run this command, as it uses npx."
/>
:::info
Note that you'll need [Node.js](https://nodejs.org/) installed on your system to run this command, as it uses `npx`.
:::
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
<GooseDesktopInstaller
extensionId="context7"
extensionName="Context7"
description="Context7 MCP server for up-to-date code and docs"
command="npx"
args={["-y", "@upstash/context7-mcp"]}
cliCommand="npx -y @upstash/context7-mcp"
timeout={300}
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
<CLIExtensionInstructions
name="Context7"
description="Context7 MCP server for up-to-date code and docs"
command="npx -y @upstash/context7-mcp"
/>
</TabItem>
</Tabs>
## Example Usage
In this example, Goose uses Context7 to pull real-time docs, compare tools, and scaffold a modern app using only the latest, official implementation patterns.
In this example, goose uses Context7 to pull real-time docs, compare tools, and scaffold a modern app using only the latest, official implementation patterns.
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
@@ -52,7 +66,7 @@ In this example, Goose uses Context7 to pull real-time docs, compare tools, and
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Open a terminal and start a new Goose session:
1. Open a terminal and start a new goose session:
```sh
goose session
@@ -61,7 +75,7 @@ In this example, Goose uses Context7 to pull real-time docs, compare tools, and
</TabItem>
</Tabs>
### Goose Prompt
### goose Prompt
I need help building a modern web application. Could you:
@@ -89,7 +103,7 @@ I need help building a modern web application. Could you:
Please reference specific documentation sections and explain why certain approaches are recommended over others.
### Goose Output
### goose Output
:::note Desktop
+48 -24
View File
@@ -1,17 +1,18 @@
---
title: ElevenLabs Extension
description: Add ElevenLabs MCP Server as a Goose Extension
description: Add ElevenLabs 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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/1Z8XtjQ9El0" />
This tutorial covers how to add the [ElevenLabs MCP Server](https://github.com/elevenlabs/elevenlabs-mcp) as a Goose extension to enable AI-powered voice generation, voice cloning, audio editing, and speech-to-text transcription.
This tutorial covers how to add the [ElevenLabs MCP Server](https://github.com/elevenlabs/elevenlabs-mcp) as a goose extension to enable AI-powered voice generation, voice cloning, audio editing, and speech-to-text transcription.
:::tip TLDR
<Tabs groupId="interface">
@@ -34,48 +35,71 @@ This tutorial covers how to add the [ElevenLabs MCP Server](https://github.com/e
## Configuration
<GooseDesktopInstaller
extensionId="elevenlabs"
extensionName="ElevenLabs"
description="ElevenLabs voice synthesis server"
command="uvx"
args={["elevenlabs-mcp"]}
envVars={[
{ name: "ELEVENLABS_API_KEY", label: "ElevenLabs API Key" }
]}
apiKeyLink="https://elevenlabs.io/app/settings/api-keys"
apiKeyLinkText="Get your ElevenLabs API Key"
/>
:::info
Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on your system to run this command, as it uses `uvx`.
:::
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
<GooseDesktopInstaller
extensionId="elevenlabs"
extensionName="ElevenLabs"
description="ElevenLabs voice synthesis server"
command="uvx"
args={["elevenlabs-mcp"]}
envVars={[
{ name: "ELEVENLABS_API_KEY", label: "ElevenLabs API Key" }
]}
apiKeyLink="https://elevenlabs.io/app/settings/api-keys"
apiKeyLinkText="ElevenLabs API Key"
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
<CLIExtensionInstructions
name="ElevenLabs"
description="ElevenLabs voice synthesis server"
command="uvx elevenlabs-mcp"
envVars={[
{ key: "ELEVENLABS_API_KEY", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
infoNote={
<>
Obtain your <a href="https://elevenlabs.io/app/settings/api-keys" target="_blank" rel="noopener noreferrer">ElevenLabs API Key</a> and paste it in.
</>
}
/>
</TabItem>
</Tabs>
## Example Usage
In this example, Ill show you how to use Goose with the ElevenLabs Extension to create AI-generated voiceovers for a YouTube Short. Goose will take a sample script I provided, generate a narrated version using different AI voices, and seamlessly switch tones mid-script to match the content flow.
In this example, Ill show you how to use goose with the ElevenLabs Extension to create AI-generated voiceovers for a YouTube Short. goose will take a sample script I provided, generate a narrated version using different AI voices, and seamlessly switch tones mid-script to match the content flow.
By connecting to the ElevenLabs MCP server, Goose can transform plain text into natural-sounding speech, offering multiple voice styles and character options — all without any manual recording or editing.
By connecting to the ElevenLabs MCP server, goose can transform plain text into natural-sounding speech, offering multiple voice styles and character options — all without any manual recording or editing.
### Goose Prompt
### goose Prompt
> Hey Goose, create a script for me for my youtube short video, I want there to be two different voices. The first voice should cut me off and be a human narrator style and then switch to a cassual AI tone after I read the prompt. Here's an example of a YT short script I've done in the past:
> Hey goose, create a script for me for my youtube short video, I want there to be two different voices. The first voice should cut me off and be a human narrator style and then switch to a cassual AI tone after I read the prompt. Here's an example of a YT short script I've done in the past:
Wait… Within Seconds, Goose performed Security Audits Across Multiple Projects?! 🔥
Wait… Within Seconds, goose performed Security Audits Across Multiple Projects?! 🔥
Lets, plug & play to find out how
Lets provide Goose with the command it needs to connect to the Filesystem MCP server extension…
Lets provide goose with the command it needs to connect to the Filesystem MCP server extension…
Now lets play
propmt: "Hey Goose, I need to perform a security audit across multiple projects. Let's check for…🔹 Hardcoded Credentials API keys, passwords, and secrets left in the code.🔹 SQL Injection Risks Unsafe queries that could expose data.🔹 Insecure Cryptographic Practices Weak encryption methods that put data at risk.AND🔹 Exposed Config Files Sensitive information that shouldn't be public.🔹 Outdated Dependencies Security vulnerabilities in third-party libraries."
propmt: "Hey goose, I need to perform a security audit across multiple projects. Let's check for…🔹 Hardcoded Credentials API keys, passwords, and secrets left in the code.🔹 SQL Injection Risks Unsafe queries that could expose data.🔹 Insecure Cryptographic Practices Weak encryption methods that put data at risk.AND🔹 Exposed Config Files Sensitive information that shouldn't be public.🔹 Outdated Dependencies Security vulnerabilities in third-party libraries."
Go Goose, go Goose!
Go goose, go goose!
Goose scanned the entire codebase across 3 different projects, identified security risks, generated a detailed report with fixes and provided me with step by step instructions on how I can test and verify these code fixes!
goose scanned the entire codebase across 3 different projects, identified security risks, generated a detailed report with fixes and provided me with step by step instructions on how I can test and verify these code fixes!
If thats not amazing idk what is …
🚀 to get started visit block.github.io/goose_
### Goose Output
### goose Output
:::note Desktop
+11 -144
View File
@@ -1,12 +1,13 @@
---
title: Fetch Extension
description: Add Fetch MCP Server as a Goose Extension
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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/_WMm4kDYMog" />
@@ -14,7 +15,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
The Fetch extension [does not work](https://github.com/block/goose/issues/1184) with Google models (e.g. gemini-2.0-flash) because this extension uses `format: uri` in its JSON schema which Google doesn't support.
:::
This tutorial covers how to add the [Fetch MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) as a Goose extension to retrieve and process content from the web.
This tutorial covers how to add the [Fetch MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) as a goose extension to retrieve and process content from the web.
:::tip TLDR
<Tabs groupId="interface">
@@ -47,145 +48,11 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ fetch
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ fetch
// highlight-start
◆ What command should be run?
│ uvx mcp-server-fetch
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ fetch
◇ What command should be run?
│ uvx mcp-server-fetch
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ fetch
◇ What command should be run?
│ uvx mcp-server-fetch
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ fetch
◇ What command should be run?
│ uvx mcp-server-fetch
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◇ Would you like to add environment variables?
│ No
// highlight-end
└ Added fetch extension
```
<CLIExtensionInstructions
name="Fetch"
description="Web content fetching and processing capabilities"
command="uvx mcp-server-fetch"
/>
</TabItem>
</Tabs>
@@ -194,15 +61,15 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
Let's use the Fetch extension to get random programming jokes from the [Official Joke API](https://official-joke-api.appspot.com/random_joke).
:::info
While this API does not require an API key, many APIs do. If you need to provide an API key, you can set it as an environment variable and tell Goose its name. Example: _"get tomorrow's weather for New Orleans from the weatherapi. Don't use the key directly but instead use a script that gets the value from the env var WEATHER_API_KEY"_
While this API does not require an API key, many APIs do. If you need to provide an API key, you can set it as an environment variable and tell goose its name. Example: _"get tomorrow's weather for New Orleans from the weatherapi. Don't use the key directly but instead use a script that gets the value from the env var WEATHER_API_KEY"_
:::
### Goose Prompt
### goose Prompt
```
make a web page that tells jokes for programmers. The page should ask the user the setup of the joke, allow them to guess the punchline and then tell them if they are right or wrong. Include a button that allows them to request another joke. you can fetch the jokes from the official joke api
```
### Goose Output
### goose Output
```
I'll help you create a web page that uses the Official Joke API to display programming jokes. I'll break this down into steps:
+18 -147
View File
@@ -1,17 +1,18 @@
---
title: Filesystem Extension
description: Add Filesystem MCP Server as Goose Extension
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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
import { PanelLeft, Settings } from 'lucide-react';
<YouTubeShortEmbed videoUrl="https://youtube.com/embed/2IVPcjEr-yQ" />
This tutorial covers how to add the [Filesystem MCP server](https://github.com/modelcontextprotocol/servers/tree/HEAD/src/filesystem) as a Goose extension, enabling powerful code analysis and file management. With this extension, Goose can analyze project structures, edit and organize files, detect unused dependencies, and generate documentation to improve software maintainability.
This tutorial covers how to add the [Filesystem MCP server](https://github.com/modelcontextprotocol/servers/tree/HEAD/src/filesystem) as a goose extension, enabling powerful code analysis and file management. With this extension, goose can analyze project structures, edit and organize files, detect unused dependencies, and generate documentation to improve software maintainability.
:::tip TLDR
**Command**
@@ -33,7 +34,7 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
<GooseDesktopInstaller
extensionId="filesystem"
extensionName="filesystem"
description="Filesystem MCP Server"
description="Enables code analysis and file management"
command="npx"
args={[
"-y",
@@ -53,156 +54,26 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ filesystem
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ filesystem
// highlight-start
◆ What command should be run?
│ npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
// highlight-end
```
:::tip Multiple Directories
You can specify multiple allowed directories by separating them with a space.
:::
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ filesystem
◇ What command should be run?
│ npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ filesystem
◇ What command should be run?
│ npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◆ Would you like to add a description?
│ No
// highlight-end
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ filesystem
◇ What command should be run?
│ npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ No
// highlight-end
└ Added filesystem extension
```
<CLIExtensionInstructions
name="Filesystem"
description="Enables code analysis and file management"
command="npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory"
commandNote={
<>
Replace <code>/path/to/allowed/directory</code> with the actual path(s) to directories you want to allow access to. You can specify multiple directories by separating them with spaces.
</>
}
/>
</TabItem>
</Tabs>
## Example Usage
In this example, I'll use Goose to perform a comprehensive security audit across multiple projects, including a payment processing system, authentication service, and e-commerce dashboard. I need to identify security vulnerabilities, implement fixes, and ensure sensitive data and operations are properly protected.
In this example, I'll use goose to perform a comprehensive security audit across multiple projects, including a payment processing system, authentication service, and e-commerce dashboard. I need to identify security vulnerabilities, implement fixes, and ensure sensitive data and operations are properly protected.
### Goose Prompt
### goose Prompt
```
Hey Goose, I need to perform a security audit and implement fixes across multiple projects:
Hey goose, I need to perform a security audit and implement fixes across multiple projects:
1. Please analyze these codebases for security issues:
- /Users/ebonyl/e-commerce-dashboard
@@ -234,7 +105,7 @@ In this example, I'll use Goose to perform a comprehensive security audit across
Please focus particularly on the payment system and authentication service as they handle sensitive data.
```
### Goose Output
### goose Output
```
I'll help you conduct the security audit, starting with the payment system project since it handles sensitive financial data. Let me first check if we have access to these directories.
+15 -148
View File
@@ -1,17 +1,18 @@
---
title: Knowledge Graph Memory Extension
description: Add Knowledge Graph Memory MCP Server as a Goose Extension
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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/PF6hpDaI9Mc" />
This tutorial covers how to add the [Knowledge Graph Memory MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/memory) as a Goose extension. This enables Goose to analyze relationships, detect patterns, and gain a deeper understanding of your data. The knowledge graph builds on the [memory extension](/docs/mcp/memory-mcp) by mapping complex relationships between concepts and providing persistent memory across Goose sessions.
This tutorial covers how to add the [Knowledge Graph Memory MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/memory) as a goose extension. This enables goose to analyze relationships, detect patterns, and gain a deeper understanding of your data. The knowledge graph builds on the [memory extension](/docs/mcp/memory-mcp) by mapping complex relationships between concepts and providing persistent memory across goose sessions.
:::tip TLDR
<Tabs groupId="interface">
@@ -44,156 +45,22 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ knowledge graph memory
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ knowledge graph memory
// highlight-start
◆ What command should be run?
│ npx -y @modelcontextprotocol/server-memory
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ knowledge graph memory
◇ What command should be run?
│ npx -y @modelcontextprotocol/server-memory
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ knowledge graph memory
◇ What command should be run?
│ npx -y @modelcontextprotocol/server-memory
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ knowledge graph memory
◇ What command should be run?
│ npx -y @modelcontextprotocol/server-memory
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ No
// highlight-end
└ Added knowledge graph memory extension
```
<CLIExtensionInstructions
name="Knowledge Graph Memory"
description="Graph-based memory system for persistent knowledge storage"
command="npx -y @modelcontextprotocol/server-memory"
/>
</TabItem>
</Tabs>
## Example Usage
In this example, I'll show you how Goose can become an intelligent security reviewer by using connected knowledge patterns to detect and analyze vulnerabilities. Goose will be able to understand the relationship between security issues, their impacts, and mitigations.
In this example, I'll show you how goose can become an intelligent security reviewer by using connected knowledge patterns to detect and analyze vulnerabilities. goose will be able to understand the relationship between security issues, their impacts, and mitigations.
This means Goose doesn't just spot issues - it understands how vulnerabilities connect to real world impacts and can suggest comprehensive solutions.
This means goose doesn't just spot issues - it understands how vulnerabilities connect to real world impacts and can suggest comprehensive solutions.
### Step 1: Teach Goose About Security Patterns
#### Goose Prompt #1
### Step 1: Teach goose About Security Patterns
#### goose Prompt #1
```
goose, learn these security vulnerability patterns and their relationships:
@@ -216,7 +83,7 @@ This means Goose doesn't just spot issues - it understands how vulnerabilities c
- JWT-based solutions
```
#### Goose Output
#### goose Output
```
I'll store this security knowledge in the Knowledge Graph Memory with proper entities and relationships
@@ -257,7 +124,7 @@ This means Goose doesn't just spot issues - it understands how vulnerabilities c
- Understand how different security issues are related
```
### Step 2: Use Connected Knowledge for Code Review
#### Goose Prompt # 2
#### goose Prompt # 2
```
Review this API endpoint for security issues:
@@ -275,7 +142,7 @@ This means Goose doesn't just spot issues - it understands how vulnerabilities c
});
});
```
#### Goose Output
#### goose Output
```
I'll analyze this code using our connected knowledge graph to trace security vulnerabilities and their implications:
+22 -169
View File
@@ -1,12 +1,13 @@
---
title: mbot Extension
description: Control a MakeBlock mbot2 rover through MQTT and MCP as a Goose Extension
description: Control a MakeBlock mbot2 rover through MQTT and MCP 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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/QKg2Q6YCzdw" />
@@ -30,177 +31,29 @@ This tutorial will get you started with [deemkeen's MQTT MCP server](https://git
<Tabs groupId="interface">
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
1. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
2. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ mbot2
// highlight-end
```
3. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ mbot2
// highlight-start
◆ What command should be run?
│ /path/to/java -jar /path/to/mbotmcp-0.0.1-SNAPSHOT.jar
// highlight-end
```
4. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ mbot2
◇ What command should be run?
│ /path/to/java -jar /path/to/mbotmcp-0.0.1-SNAPSHOT.jar
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
5. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ mbot2
◇ What command should be run?
│ /path/to/java -jar /path/to/mbotmcp-0.0.1-SNAPSHOT.jar
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
6. Add environment variables for MQTT
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ mbot2
◇ What command should be run?
│ /path/to/java -jar /path/to/mbotmcp-0.0.1-SNAPSHOT.jar
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ Yes
◇ Environment variable name:
│ MQTT_SERVER_URI
◇ Environment variable value:
│ tcp://1.2.3.4:1883
◇ Add another environment variable?
│ Yes
◇ Environment variable name:
│ MQTT_USERNAME
◇ Environment variable value:
│ username
◇ Add another environment variable?
│ Yes
◇ Environment variable name:
│ MQTT_PASSWORD
◇ Environment variable value:
│ password
// highlight-end
└ Added mbot2 extension
```
<CLIExtensionInstructions
name="mbot2"
description="Control a MakeBlock mbot2 rover through MQTT and MCP"
command="/path/to/java -jar /path/to/mbotmcp-0.0.1-SNAPSHOT.jar"
envVars={[
{ key: "MQTT_SERVER_URI", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" },
{ key: "MQTT_USERNAME", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" },
{ key: "MQTT_PASSWORD", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
commandNote={
<>
Replace <code>/path/to/java</code> and <code>/path/to/mbotmcp-0.0.1-SNAPSHOT.jar</code> with your actual Java installation and JAR file paths.
</>
}
infoNote={
<>
MQTT_SERVER_URI has a value like <code>tcp://1.2.3.4:1883</code>. MQTT_USERNAME and MQTT_PASSWORD are required to exist, but can be empty strings if your MQTT server does not require authentication.
</>
}
/>
</TabItem>
</Tabs>
:::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
The available commands allow you to drive the mbot2 rover around, including:
+25 -90
View File
@@ -1,6 +1,6 @@
---
title: Memory Extension
description: Use Memory MCP Server as a Goose Extension
description: Use Memory MCP Server as a goose Extension
---
import Tabs from '@theme/Tabs';
@@ -10,9 +10,9 @@ import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller';
<YouTubeShortEmbed videoUrl="https://youtube.com/embed/BZ0yrSLXQwk" />
The Memory extension turns Goose into a knowledgeable assistant by allowing you to teach it personalized key information (e.g. commands, code snippets, preferences and configurations) that it can recall and apply later. Whether its project-specific (local) or universal (global) knowledge, Goose learns and remembers what matters most to you.
The Memory extension turns goose into a knowledgeable assistant by allowing you to teach it personalized key information (e.g. commands, code snippets, preferences and configurations) that it can recall and apply later. Whether its project-specific (local) or universal (global) knowledge, goose learns and remembers what matters most to you.
This tutorial covers enabling and using the Memory MCP Server, which is a built-in Goose extension.
This tutorial covers enabling and using the Memory MCP Server, which is a built-in goose extension.
## Configuration
@@ -25,111 +25,46 @@ This tutorial covers enabling and using the Memory MCP Server, which is a built-
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Built-in Extension`
2. Choose to `Toggle Extensions`
```sh
┌ goose-configure
◇ What would you like to configure?
Add Extension (Connect to a new extension)
Toggle Extensions
What type of extension would you like to add?
Enable extensions: (use "space" to toggle and "enter" to submit)
// highlight-start
│ ● Built-in Extension (Use an extension that comes with Goose)
// highlight-end
│ ○ Command-line Extension
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Arrow down to the `Memory` extension and press Enter
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Built-in Extension
◆ Which built-in extension would you like to enable?
│ ○ Developer Tools
│ ○ Computer Controller
// highlight-start
│ ● Memory
│ ● memory
// highlight-end
| ○ JetBrains
```
4. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Built-in Extension
◇ Which built-in extension would you like to enable?
│ Memory
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
└ Enabled Memory extension
```
5. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Built-in Extension
◇ Which built-in extension would you like to enable?
│ Memory
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◆ Would you like to add a description?
│ No
// highlight-end
└ Enabled Memory extension
|
Extension settings updated successfully
```
</TabItem>
</Tabs>
## Why Use Memory?
With the Memory extension, youre not just storing static notes, youre teaching Goose how to assist you better. Imagine telling Goose:
With the Memory extension, youre not just storing static notes, youre teaching goose how to assist you better. Imagine telling goose:
> _learn everything about MCP servers and save it to memory._
Later, you can ask:
> _utilizing our MCP server knowledge help me build an MCP server._
Goose will recall everything youve saved as long as you instruct it to remember. This makes it easier to have consistent results when working with Goose.
goose will recall everything youve saved as long as you instruct it to remember. This makes it easier to have consistent results when working with goose.
Goose loads all saved memories at the start of a session and includes them in every prompt sent to the LLM. For large or detailed instructions, store them in files and instruct Goose to reference those files:
goose loads all saved memories at the start of a session and includes them in every prompt sent to the LLM. For large or detailed instructions, store them in files and instruct goose to reference those files:
> _Remember that if I ask for help writing JavaScript, I want you to refer to "/path/to/javascript_notes.txt" and follow the instructions in that file._
## Trigger Words and When to Use Them
Goose also recognizes certain trigger words that signal when to store, retrieve, or remove memory.
goose also recognizes certain trigger words that signal when to store, retrieve, or remove memory.
| **Trigger Words** | **When to Use** |
|---------------------|----------------|
@@ -144,21 +79,21 @@ Goose also recognizes certain trigger words that signal when to store, retrieve,
## Example Usage
In this example, Ill show you how to make Goose a knowledgeable development assistant by teaching it about your projects API standards. With the Memory extension, Goose can store structured information and recall it when needed, helping you stay consistent in your work.
In this example, Ill show you how to make goose a knowledgeable development assistant by teaching it about your projects API standards. With the Memory extension, goose can store structured information and recall it when needed, helping you stay consistent in your work.
This means you no longer have to repeat yourself. Goose will remember your projects requirements and automatically apply them to new tasks.
This means you no longer have to repeat yourself. goose will remember your projects requirements and automatically apply them to new tasks.
:::tip
If you frequently work with API standards or other structured knowledge, Goose may automatically suggest saving them to memory for you when it detects a pattern in your workflow.
If you frequently work with API standards or other structured knowledge, goose may automatically suggest saving them to memory for you when it detects a pattern in your workflow.
:::
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
1. Open a new session in Goose Desktop
1. Open a new session in goose Desktop
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Open a terminal and start a new Goose session:
1. Open a terminal and start a new goose session:
```sh
goose session
@@ -167,10 +102,10 @@ If you frequently work with API standards or other structured knowledge, Goose m
</TabItem>
</Tabs>
### Step 1: Teach Goose Your API Standards
#### Goose Prompt #1
### Step 1: Teach goose Your API Standards
#### goose Prompt #1
```
Goose, learn our API development standards:
goose, learn our API development standards:
- All endpoints must use TypeScript interfaces
- Error responses follow RFC 7807 Problem Details spec
@@ -181,7 +116,7 @@ If you frequently work with API standards or other structured knowledge, Goose m
Remember this so you can help me follow these practices.
```
#### Goose Output
#### goose Output
```
I've learned your API standards. I'll help enforce these requirements when working on API endpoints.
@@ -198,12 +133,12 @@ If you frequently work with API standards or other structured knowledge, Goose m
- Documentation requirements
```
### Step 2: Use Stored Knowledge to Create a New API Endpoint
#### Goose Prompt # 2
#### goose Prompt # 2
```
Help me create a new endpoint for user preferences
```
#### Goose Output
#### goose Output
```
I see you need a new endpoint. Based on our API development standards that I have stored in memory, I'll ensure it meets all our requirements.
+16 -129
View File
@@ -1,13 +1,14 @@
---
title: MongoDB Extension
description: Add MongoDB MCP Server as a Goose Extension
description: Add MongoDB MCP Server as a goose Extension
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
The [MongoDB MCP Server](https://github.com/mongodb-js/mongodb-mcp-server) extension allows Goose to interact directly with your MongoDB databases, enabling comprehensive database operations including querying, document manipulation, collection management, and database administration. This makes it easy to work with your MongoDB databases through natural language interactions.
The [MongoDB MCP Server](https://github.com/mongodb-js/mongodb-mcp-server) extension allows goose to interact directly with your MongoDB databases, enabling comprehensive database operations including querying, document manipulation, collection management, and database administration. This makes it easy to work with your MongoDB databases through natural language interactions.
:::tip TLDR
<Tabs groupId="interface">
@@ -70,130 +71,16 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension
```
3. Name your extension
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ MongoDB
// highlight-end
```
4. Enter the command with the database connection string that matches your [MongoDB environment](#customizing-your-connection)
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What would you like to call this extension?
│ MongoDB
// highlight-start
◆ What command should be run?
│ npx -y mongodb-mcp-server --connection-string mongodb://localhost:27017
// highlight-end
```
5. Set the timeout (default 300s is usually sufficient)
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What would you like to call this extension?
│ MongoDB
◇ What command should be run?
│ npx -y mongodb-mcp-server --connection-string mongodb://localhost:27017
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What would you like to call this extension?
│ MongoDB
◇ What command should be run?
│ npx -y mongodb-mcp-server --connection-string mongodb://localhost:27017
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◆ Would you like to add a description?
│ No
// highlight-end
```
7. Complete the configuration
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What would you like to call this extension?
│ MongoDB
◇ What command should be run?
│ npx -y mongodb-mcp-server --connection-string mongodb://localhost:27017
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ No
// highlight-end
└ Added MongoDB extension
```
<CLIExtensionInstructions
name="MongoDB"
description="MongoDB database integration"
command="npx -y mongodb-mcp-server --connection-string mongodb://localhost:27017"
commandNote={
<>
Replace <code>mongodb://localhost:27017</code> with the actual MongoDB connection string that matches your <a href="#customizing-your-connection">MongoDB environment</a>.
</>
}
/>
</TabItem>
</Tabs>
@@ -223,16 +110,16 @@ The MongoDB extension provides comprehensive database management capabilities th
- **View collection indexes** and their configurations
- **Check database statistics** and collection storage sizes
Just describe what you want to accomplish in natural language, and Goose will help you execute the appropriate MongoDB operations safely and efficiently.
Just describe what you want to accomplish in natural language, and goose will help you execute the appropriate MongoDB operations safely and efficiently.
## Example Usage
#### Goose Prompt
#### goose Prompt
```
Update all users in the premium tier who haven't logged in for more than 90 days - set their status to 'inactive' and add a note about when this change was made.
```
#### Goose Output
#### goose Output
```
I've successfully updated inactive premium users using updateMany:
+15 -150
View File
@@ -1,16 +1,17 @@
---
title: Netlify Extension
description: Add Netlify MCP Server as a Goose Extension
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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/iSUNmxOf6gw" />
This tutorial covers how to add the [Netlify MCP Server](https://github.com/netlify/netlify-mcp) as a Goose extension to build, deploy, and manage Netlify sites.
This tutorial covers how to add the [Netlify MCP Server](https://github.com/netlify/netlify-mcp) as a goose extension to build, deploy, and manage Netlify sites.
:::tip TLDR
<Tabs groupId="interface">
@@ -28,10 +29,6 @@ This tutorial covers how to add the [Netlify MCP Server](https://github.com/netl
## Configuration
:::info
Note that you'll need [Node.js](https://nodejs.org/) installed on your system to run this command, as it uses `npx`.
:::
Make sure that you are signed in to your Netlify account:
```bash
@@ -40,6 +37,10 @@ netlify login
### Add Netlify MCP Server
:::info
Note that you'll need [Node.js](https://nodejs.org/) installed on your system to run this command, as it uses `npx`.
:::
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
<GooseDesktopInstaller
@@ -51,159 +52,23 @@ netlify login
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ netlify
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ netlify
// highlight-start
◆ What command should be run?
│ npx -y @netlify/mcp
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ netlify
◇ What command should be run?
│ npx -y @netlify/mcp
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ netlify
◇ What command should be run?
│ npx -y @netlify/mcp
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ netlify
◇ What command should be run?
│ npx -y @netlify/mcp
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ No
|
// highlight-end
└ Added netlify extension
```
<CLIExtensionInstructions
name="Netlify"
description="Build, deploy, and manage sites with Netlify's official MCP server"
command="npx -y @netlify/mcp"
/>
</TabItem>
</Tabs>
## Example Usage
In this example, Ill show you how to use Goose with the Netlify Extension to deploy a web application.
In this example, Ill show you how to use goose with the Netlify Extension to deploy a web application.
### Goose Prompt
### goose Prompt
> Can you deploy my app to Netlify via my GitHub repo?
### Goose Output
### goose Output
:::note CLI
+22 -153
View File
@@ -1,24 +1,29 @@
---
title: Nostrbook Extension
description: Add Nostrbook MCP Server as a Goose Extension
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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
This tutorial covers how to add the [Nostrbook MCP Server](https://gitlab.com/soapbox-pub/nostrbook) as a Goose extension to provide access to a comprehensive registry of Nostr documentation that helps users understand the decentralized social protocol, its implementation possibilities, and technical specifications.
This tutorial covers how to add the [Nostrbook MCP Server](https://gitlab.com/soapbox-pub/nostrbook) as a goose extension to provide access to a comprehensive registry of Nostr documentation that helps users understand the decentralized social protocol, its implementation possibilities, and technical specifications.
:::tip TLDR
**Command**
```sh
npx -y @nostrbook/mcp@latest
```
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
[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)
</TabItem>
<TabItem value="cli" label="goose CLI">
**Command**
```sh
npx -y @nostrbook/mcp@latest
```
</TabItem>
</Tabs>
:::
## Configuration
@@ -39,158 +44,22 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ Nostrbook
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Nostrbook
// highlight-start
◆ What command should be run?
│ npx -y @nostrbook/mcp@latest
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Nostrbook
◇ What command should be run?
│ npx -y @nostrbook/mcp@latest
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Nostrbook
◇ What command should be run?
│ npx -y @nostrbook/mcp@latest
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Nostrbook
◇ What command should be run?
│ npx -y @nostrbook/mcp@latest
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ No
// highlight-end
└ Added Nostrbook extension
```
<CLIExtensionInstructions
name="Nostrbook"
description="A comprehensive registry of Nostr documentation with structured knowledge"
command="npx -y @nostrbook/mcp@latest"
/>
</TabItem>
</Tabs>
## Example Usage
### Goose Prompt
### goose Prompt
> _Goose, what is the NIP-61 and how can I implement it?._
> _goose, what is the NIP-61 and how can I implement it?._
### Goose Output
### goose Output
Note that IDs have been changed to generic ones
+32 -142
View File
@@ -1,18 +1,19 @@
---
title: OpenMetadata Extension
description: Add OpenMetadata MCP Server as a Goose Extension
description: Add OpenMetadata MCP Server as a goose Extension
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
The [OpenMetadata MCP Server](https://open-metadata.org/mcp) extension allows Goose to interact directly with your OpenMetadata, enabling operations for OpenMetadata assets, glossaries, and lineage. This makes it easy to work with your metadata stored in OpenMetadata through natural language interactions.
The [OpenMetadata MCP Server](https://open-metadata.org/mcp) extension allows goose to interact directly with your OpenMetadata, enabling operations for OpenMetadata assets, glossaries, and lineage. This makes it easy to work with your metadata stored in OpenMetadata through natural language interactions.
:::tip TLDR
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
[Launch the installer](goose://extension?cmd=npx&arg=-y&arg=mcp-remote&arghttp://localhost:8585/mcp&arg=--auth-server-url&arg=http://localhost:8585/mcp&id=openmetadata&name=OpenMetadata&description=OpenMetadata%20integration)
[Launch the installer](goose://extension?cmd=npx&arg=-y&arg=mcp-remote&arg=http%3A%2F%2Flocalhost%3A8585%2Fmcp&arg=--auth-server-url%3Dhttp%3A%2F%2Flocalhost%3A8585%2Fmcp&arg=--client-id%3Dopenmetadata&arg=--verbose&arg=--clean&arg=--header&arg=Authorization%3A%24%7BAUTH_HEADER%7D&id=openmetadata&name=OpenMetadata&description=Intelligent%20data%20management%20and%20automated%20data%20operations&env=AUTH_HEADER%3DBearer%20YOUR_OPENMETADATA_PAT)
</TabItem>
<TabItem value="cli" label="goose CLI">
**Command**
@@ -38,9 +39,14 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
<GooseDesktopInstaller
extensionId="openmetadata"
extensionName="OpenMetadata"
description="OpenMetadata integration"
description="Intelligent data management and automated data operations"
command="npx"
args={["-y", "mcp-remote", "http://localhost:8585/mcp", "--auth-server-url=http://localhost:8585/mcp", "--client-id=openmetadata", "--verbose", "--clean", "--header", "Authorization:${AUTH_HEADER}"]}
envVars={[
{ name: "AUTH_HEADER", label: "Bearer YOUR_OPENMETADATA_PAT" }
]}
apiKeyLink="https://docs.open-metadata.org/latest/how-to-guides/mcp#adding-a-personal-access-token-to-your-mcp-client"
apiKeyLinkText="OpenMetadata Personal Access Token"
/>
:::info Configure Your Connection String
@@ -49,140 +55,24 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension
```
3. Name your extension
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ OpenMetadata
// highlight-end
```
4. Enter the command with an URL that matches your [OpenMetadata environment](#customizing-your-connection)
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What would you like to call this extension?
│ OpenMetadata
// highlight-start
◆ What command should be run?
│ npx -y mcp-remote http://localhost:8585/mcp --auth-server-url=http://localhost:8585/mcp --client-id=openmetadata --verbose --clean --header Authorization:${AUTH_HEADER}
// highlight-end
```
5. Set the timeout (default 300s is usually sufficient)
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What would you like to call this extension?
│ OpenMetadata
◇ What command should be run?
│ npx -y mcp-remote http://localhost:8585/mcp --auth-server-url=http://localhost:8585/mcp --client-id=openmetadata --verbose --clean --header Authorization:${AUTH_HEADER}
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What would you like to call this extension?
│ OpenMetadata
◇ What command should be run?
│ npx -y mcp-remote http://localhost:8585/mcp --auth-server-url=http://localhost:8585/mcp --client-id=openmetadata --verbose --clean --header Authorization:${AUTH_HEADER}
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◆ Would you like to add a description?
│ No
// highlight-end
```
7. Complete the configuration by added your [OpenMetadata Personal Access Token (PAT)](https://docs.open-metadata.org/latest/how-to-guides/mcp#adding-a-personal-access-token-to-your-mcp-client)
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What would you like to call this extension?
│ OpenMetadata
◇ What command should be run?
│ npx -y mcp-remote http://localhost:8585/mcp --auth-server-url=http://localhost:8585/mcp --client-id=openmetadata --verbose --clean --header Authorization:${AUTH_HEADER}
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ Yes
◇ Environment variable name:
│ AUTH_HEADER
◇ Environment variable value:
│ "Bearer <YOUR_OpenMetadata_PAT>"
◇ Add another environment variable?
│ No
// highlight-end
└ Added OpenMetadata extension
```
<CLIExtensionInstructions
name="OpenMetadata"
description="Intelligent data management and automated data operations"
command="npx -y mcp-remote http://localhost:8585/mcp --auth-server-url=http://localhost:8585/mcp --client-id=openmetadata --verbose --clean --header Authorization:${AUTH_HEADER}"
envVars={[
{ key: "AUTH_HEADER", value: "Bearer YOUR_OPENMETADATA_PAT" }
]}
commandNote={
<>
Replace <code>http://localhost:8585/mcp</code> with the actual OpenMetadata instance URL that matches your <a href="#customizing-your-connection">OpenMetadata environment</a>.
</>
}
infoNote={
<>
Obtain your <a href="https://docs.open-metadata.org/latest/how-to-guides/mcp#adding-a-personal-access-token-to-your-mcp-client" target="_blank" rel="noopener noreferrer">OpenMetadata Personal Access Token</a> and paste it in as the <code>Bearer</code> token.
</>
}
/>
</TabItem>
</Tabs>
@@ -197,18 +87,18 @@ The OpenMetadata extension provides comprehensive metadata management capabiliti
- **create_glossary_term** Create a new term within an existing glossary, with support for hierarchical relationships.
- **get_entity_lineage** Retrieve upstream and downstream lineage information for any entity to understand data dependencies and impact analysis.
Just describe what you want to accomplish in natural language, and Goose will help you execute the appropriate OpenMetadata operations safely and efficiently.
Just describe what you want to accomplish in natural language, and goose will help you execute the appropriate OpenMetadata operations safely and efficiently.
## Example Usage
In this example, Goose looks at the metadata for a Redshift table named `customers` stored in OpenMetadata, particularly its lineage. If the lineage does not show that a Databricks table named `customerinfo` is used to build `customers`, Goose will add it.
In this example, goose looks at the metadata for a Redshift table named `customers` stored in OpenMetadata, particularly its lineage. If the lineage does not show that a Databricks table named `customerinfo` is used to build `customers`, goose will add it.
#### Goose Prompt
#### goose Prompt
```
which tables are used to create my customers table in redshift? if the databricks table customerinfo is not already, add it to the customers table lineage.
```
#### Goose Output
#### goose Output
```
Based on my analysis, I found your Redshift customers table at `redshift prod.dev.dbt_jaffle.customers`. Here are the tables currently used to create it:
+13 -152
View File
@@ -1,16 +1,17 @@
---
title: PDF Reader Extension
description: Add PDF Reader MCP Server as a Goose Extension
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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/EJf2_iZfaWk" />
This tutorial covers how to add the [PDF Reader MCP Server](https://github.com/michaelneale/mcp-read-pdf) as a Goose extension, enabling Goose to read and extract text from protected and unprotected PDFs.
This tutorial covers how to add the [PDF Reader MCP Server](https://github.com/michaelneale/mcp-read-pdf) as a goose extension, enabling goose to read and extract text from protected and unprotected PDFs.
:::tip TLDR
<Tabs groupId="interface">
@@ -43,159 +44,19 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ pdf
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ pdf
// highlight-start
◆ What command should be run?
│ uvx mcp-read-pdf
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ pdf
◇ What command should be run?
│ uvx mcp-read-pdf
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ pdf
◇ What command should be run?
│ uvx mcp-read-pdf
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ pdf
◇ What command should be run?
│ uvx mcp-read-pdf
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ No
// highlight-end
└ Added pdf extension
```
</TabItem>
</Tabs>
<CLIExtensionInstructions
name="PDF Reader"
description="Read large and complex PDF documents"
command="uvx mcp-read-pdf"
/>
</TabItem>
</Tabs>
## Example Usage
This example shows how to use the PDF Reader Extension to analyze an applicant's resume for specific attributes. With the PDF Reader extension, Goose can read specific pages or entire documents as well as extract text from large and complex PDFs.
This example shows how to use the PDF Reader Extension to analyze an applicant's resume for specific attributes. With the PDF Reader extension, goose can read specific pages or entire documents as well as extract text from large and complex PDFs.
### Goose Prompt
### goose Prompt
```
Read the resume at ~/Downloads/resume.pdf and evaluate how well this candidate aligns with the following role requirements:
@@ -209,7 +70,7 @@ Read the resume at ~/Downloads/resume.pdf and evaluate how well this candidate a
Give a score out of 5 for each requirement, supporting evidence, and a summary at the end with pros, cons, and a decision: Strong Fit / Moderate Fit / Weak Fit.
```
### Goose Output
### goose Output
:::note CLI
+21 -159
View File
@@ -1,16 +1,17 @@
---
title: Pieces for Developers Extension
description: Add Pieces for Developers MCP Server as a Goose Extension
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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/V8zp9m9__t4" />
This tutorial covers how to add the [Pieces for Developers MCP Server](https://docs.pieces.app/products/mcp/get-started?utm_source=goose&utm_medium=collab&utm_campaign=mcp) as a Goose extension to enable interaction with your Pieces Long-Term Memory.
This tutorial covers how to add the [Pieces for Developers MCP Server](https://docs.pieces.app/products/mcp/get-started?utm_source=goose&utm_medium=collab&utm_campaign=mcp) as a goose extension to enable interaction with your Pieces Long-Term Memory.
## Configuration
@@ -42,156 +43,17 @@ http://localhost:39300/model_context_protocol/2024-11-05/sse
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Remote Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
│ ○ Command-line Extension (Run a local command or script)
// highlight-start
│ ● Remote Extension (SSE)
// highlight-end
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Remote Extension (SSE)
// highlight-start
◆ What would you like to call this extension?
│ Pieces
// highlight-end
```
4. Enter the SSE endpoint URI.
:::info
Use the server URL you copied from PiecesOS settings earlier.
:::
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Remote Extension (SSE)
◇ What would you like to call this extension?
│ Pieces
// highlight-start
◆ What is the SSE endpoint URI?
│ http://localhost:39300/model_context_protocol/2024-11-05/sse
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Remote Extension (SSE)
◇ What would you like to call this extension?
│ Pieces
◇ What is the SSE endpoint URI?
│ http://localhost:39300/model_context_protocol/2024-11-05/sse
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Add a description if you want, otherwise to leave the description blank select No.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Remote Extension (SSE)
◇ What would you like to call this extension?
│ Pieces
◇ What is the SSE endpoint URI?
│ http://localhost:39300/model_context_protocol/2024-11-05/sse
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◆ Would you like to add a description?
│ ○ Yes / ● No
// highlight-end
```
7. No environment variables are needed, so select No.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Remote Extension (SSE)
◇ What would you like to call this extension?
│ Pieces
◇ What is the SSE endpoint URI?
│ http://localhost:39300/model_context_protocol/2024-11-05/sse
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ ○ Yes / ● No
// highlight-end
```
<CLIExtensionInstructions
name="Pieces"
description="Provides access to your Pieces Long-Term Memory"
type="sse"
url="http://localhost:39300/model_context_protocol/2024-11-05/sse"
commandNote={
<>
Use the server URL you copied from PiecesOS settings. PiecesOS may use a different port if 39300 is already in use on your system.
</>
}
/>
</TabItem>
</Tabs>
@@ -199,25 +61,25 @@ http://localhost:39300/model_context_protocol/2024-11-05/sse
Let's use the Pieces for Developers MCP server to generate a status update for a standup meeting based on your activities on the previous day.
### Goose Prompt
### goose Prompt
```
I need a status update for what I was using yesterday. Create a report with 5 bullet points based off the most important activities, and give each one a brief description.
```
### Goose Output
### goose Output
```
Here's a report summarizing your key activities from yesterday, based on the most important interactions and applications you were using:
1. Code Development with Goose:
1. Code Development with goose:
Activity: You worked on integrating SSE MCP servers into the Goose CLI, making enhancements to handle extensions via schema URLs.
Description: This task involved modifying code and testing new integrations to support advanced functionalities. It also included interactions with the Goose community on Discord for feedback and troubleshooting.
Activity: You worked on integrating SSE MCP servers into the goose CLI, making enhancements to handle extensions via schema URLs.
Description: This task involved modifying code and testing new integrations to support advanced functionalities. It also included interactions with the goose community on Discord for feedback and troubleshooting.
2. Documentation Updates:
Activity: You updated and managed documentation related to the Goose project and MCP integrations.
Activity: You updated and managed documentation related to the goose project and MCP integrations.
Description: This involved preparing documentation for new features, including usage guidelines and technical details, aiding in the improvement of user experience and technical instructions.
3. Community Interaction on Discord:
@@ -227,7 +89,7 @@ Here's a report summarizing your key activities from yesterday, based on the mos
4. Managing and Testing Extensions:
Activity: You focused on testing and managing various extensions through the Goose platform.
Activity: You focused on testing and managing various extensions through the goose platform.
Description: This included configuring and validating different extensions, ensuring their compatibility and functionality, and incorporating feedback from testing.
5. Content and Integration Planning:
+11 -132
View File
@@ -1,16 +1,17 @@
---
title: Playwright Extension
description: Add Playwright MCP Server as a Goose Extension for Modern Web Testing
description: Add Playwright MCP Server as a goose Extension for Modern Web Testing
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/iAxiFMlTE1Q" />
This tutorial covers how to add the Playwright MCP Server as a Goose extension, to enable cross-browser testing and web automation across Chromium and Webkit.
This tutorial covers how to add the Playwright MCP Server as a goose extension, to enable cross-browser testing and web automation across Chromium and Webkit.
:::tip TLDR
<Tabs groupId="interface">
@@ -43,139 +44,17 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◆ What would you like to call this extension?
│ Playwright
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Playwright
◆ What command should be run?
│ npx -y @playwright/mcp@latest
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Playwright
◇ What command should be run?
│ npx -y @playwright/mcp@latest
◆ Please set the timeout for this tool (in secs):
│ 300
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Playwright
◇ What command should be run?
│ npx -y @playwright/mcp@latest
◇ Please set the timeout for this tool (in secs):
│ 300
◆ Would you like to add a description?
│ No
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Playwright
◇ What command should be run?
│ npx -y @playwright/mcp@latest
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
◆ Would you like to add environment variables?
│ No
└ Added Playwright extension
```
<CLIExtensionInstructions
name="Playwright"
description="Modern web testing and automation"
command="npx -y @playwright/mcp@latest"
/>
</TabItem>
</Tabs>
## Example Usage
Let's use Goose with the Playwright extension to create a cross-browser testing suite. In this example, we'll demonstrate how Goose can help you:
Let's use goose with the Playwright extension to create a cross-browser testing suite. In this example, we'll demonstrate how goose can help you:
1. Test a web application across multiple browsers
2. Generate maintainable test code
@@ -185,7 +64,7 @@ Let's use Goose with the Playwright extension to create a cross-browser testing
Anthropic's Claude 4 Sonnet was used for this task.
:::
### Goose Prompt
### goose Prompt
```
Test the random redesign generator app (https://blackgirlbytes.github.io/random-redesign-picker/)
in Chromium and WebKit. For each browser:
@@ -196,7 +75,7 @@ in Chromium and WebKit. For each browser:
Then generate a Playwright test that works across all browsers.
```
### Goose Output
### goose Output
```
Let's start with Chromium:
+14 -149
View File
@@ -1,22 +1,23 @@
---
title: Repomix Extension
description: Add Repomix MCP Server as a Goose Extension
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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/69h4LLkIg_E" />
This tutorial covers how to add the [Repomix MCP Server](https://github.com/yamadashy/repomix) as a Goose extension to enable automated repository packing, codebase analysis, architecture summaries, test generation, and code exploration, all while compressing the codebase to minimize token usage and stay within your LLM's context limits.
This tutorial covers how to add the [Repomix MCP Server](https://github.com/yamadashy/repomix) as a goose extension to enable automated repository packing, codebase analysis, architecture summaries, test generation, and code exploration, all while compressing the codebase to minimize token usage and stay within your LLM's context limits.
:::tip TLDR
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
[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)
[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)
</TabItem>
<TabItem value="cli" label="goose CLI">
**Command**
@@ -38,168 +39,32 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
<GooseDesktopInstaller
extensionId="repomix"
extensionName="Repomix"
description="Pack repositories into AI-friendly formats for Goose"
description="Pack repositories into AI-friendly formats for goose"
command="npx"
args={["-y", "repomix", "--mcp"]}
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ repomix
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ repomix
// highlight-start
◆ What command should be run?
│ npx -y repomix --mcp
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ repomix
◇ What command should be run?
│ npx -y repomix --mcp
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ repomix
◇ What command should be run?
│ npx -y repomix --mcp
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ repomix
◇ What command should be run?
│ npx -y repomix --mcp
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ No
// highlight-end
└ Added repomix extension
```
<CLIExtensionInstructions
name="Repomix"
description="Pack repositories into AI-friendly formats for goose"
command="npx -y repomix --mcp"
/>
</TabItem>
</Tabs>
## Example Usage
In this example, Ill show you how to use Goose with the Repomix Extension to analyze the compressed Axios repository. Goose will focus on the `lib/core/Axios.js` file, explain its role in the architecture, spot missing tests, write new unit tests, and suggest improvements to the testing strategy and code maintainability.
In this example, Ill show you how to use goose with the Repomix Extension to analyze the compressed Axios repository. goose will focus on the `lib/core/Axios.js` file, explain its role in the architecture, spot missing tests, write new unit tests, and suggest improvements to the testing strategy and code maintainability.
By compressing the entire codebase into an AI-friendly format, Repomix helps Goose stay within token limits while providing detailed, file-specific insights.
By compressing the entire codebase into an AI-friendly format, Repomix helps goose stay within token limits while providing detailed, file-specific insights.
### Goose Prompt
### goose Prompt
> Review the file lib/core/Axios.js from the Axios repository and identify any missing unit tests needed to thoroughly cover its core functions and classes. Explain the role this file plays in the overall Axios architecture, how it integrates with other modules, and how well it is currently tested. Write new unit tests to improve coverage, and recommend improvements to the testing strategy or refactoring opportunities to make the code more maintainable.
### Goose Output
### goose Output
:::note CLI
+11 -146
View File
@@ -1,17 +1,18 @@
---
title: Selenium Extension
description: Add Selenium MCP Server as a Goose Extension
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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/PLqPOEeGPLc" />
This tutorial covers how to add the [Selenium MCP Server](https://github.com/angiejones/mcp-selenium) as a Goose extension to automate browser interactions such as navigating web pages and completing forms.
This tutorial covers how to add the [Selenium MCP Server](https://github.com/angiejones/mcp-selenium) as a goose extension to automate browser interactions such as navigating web pages and completing forms.
:::tip TLDR
<Tabs groupId="interface">
@@ -45,160 +46,24 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ Selenium
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Selenium
// highlight-start
◆ What command should be run?
│ npx -y @angiejones/mcp-selenium
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Selenium
◇ What command should be run?
│ npx -y @angiejones/mcp-selenium
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Selenium
◇ What command should be run?
│ npx -y @angiejones/mcp-selenium
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ Selenium
◇ What command should be run?
│ npx -y @angiejones/mcp-selenium
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ No
// highlight-end
└ Added Selenium extension
```
<CLIExtensionInstructions
name="Selenium"
description="Automates browser interactions"
command="npx -y @angiejones/mcp-selenium"
/>
</TabItem>
</Tabs>
## Example Usage
Let's use Goose to build a test automation project from scratch! We'll use the Selenium MCP to automate filling out a web form, then have Goose generate a Selenium project with the code so that we can run these tests again when needed.
Let's use goose to build a test automation project from scratch! We'll use the Selenium MCP to automate filling out a web form, then have goose generate a Selenium project with the code so that we can run these tests again when needed.
### Goose Prompt
### goose Prompt
> Use selenium to go to the heroku formy site and fill out the form page with generic data. then can you turn what you've done into an automation script for me? I would like it in Java. Also use the Page Object Model pattern.
### Goose Output
### goose Output
<iframe class="aspect-ratio" src="https://www.youtube.com/embed/mRV0N8hcgYA?start=28&end=152" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
+19 -155
View File
@@ -1,16 +1,17 @@
---
title: Tavily Web Search Extension
description: Add Tavily MCP Server as a Goose Extension
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';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://youtube.com/embed/mxS2G9afGxE" />
This tutorial covers how to add the [Tavily Web Search MCP Server](https://github.com/tavily-ai/tavily-mcp) as a Goose extension to enable AI-powered web search functionality.
This tutorial covers how to add the [Tavily Web Search MCP Server](https://github.com/tavily-ai/tavily-mcp) as a goose extension to enable AI-powered web search functionality.
:::tip TLDR
<Tabs groupId="interface">
@@ -52,175 +53,38 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ tavily
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ tavily
// highlight-start
◆ What command should be run?
│ npx -y tavily-mcp
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ tavily
◇ What command should be run?
│ npx -y tavily-mcp
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ tavily
◇ What command should be run?
│ npx -y tavily-mcp
◇ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. Obtain a [Tavily API Key](https://tavily.com/) and paste it in.
:::info
You can get your API key by signing up at [tavily.com](https://app.tavily.com/) and navigating to your account settings.
:::
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ tavily
◇ What command should be run?
│ npx -y tavily-mcp
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No
// highlight-start
◆ Would you like to add environment variables?
│ Yes
◇ Environment variable name:
│ TAVILY_API_KEY
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
◇ Add another environment variable?
│ No
// highlight-end
└ Added tavily extension
```
<CLIExtensionInstructions
name="Tavily Web Search"
description="Search the web with Tavily MCP"
command="npx -y tavily-mcp"
envVars={[
{ key: "TAVILY_API_KEY", value: "▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪" }
]}
infoNote={
<>
Obtain your <a href="https://tavily.com/" target="_blank" rel="noopener noreferrer">Tavily API Key</a> and paste it in. You can get your API key by signing up at <a href="https://app.tavily.com/" target="_blank" rel="noopener noreferrer">tavily.com</a> and navigating to your account settings.
</>
}
/>
</TabItem>
</Tabs>
## Example Usage
The Tavily MCP server enables AI-powered web search functionality in your Goose interactions. When you obtain your API key, you'll have access to Tavily's advanced search capabilities including:
The Tavily MCP server enables AI-powered web search functionality in your goose interactions. When you obtain your API key, you'll have access to Tavily's advanced search capabilities including:
1. Real-time web search
2. Structured data extraction
3. Content analysis
4. Topic-specific search
### Goose Prompt
### goose Prompt
```
Search for recent news about artificial intelligence breakthroughs in medicine and summarize the key findings.
```
### Goose Output
### goose Output
```
I'll use the Tavily news search tool to find recent news about AI breakthroughs in medicine.
+30 -72
View File
@@ -1,17 +1,17 @@
---
title: Tutorial Extension
description: Learn how to use Goose's built-in Tutorial extension for guided learning
description: Learn how to use goose's built-in Tutorial extension for guided learning
---
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.
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.
The Tutorial extension serves as an interactive learning tool that:
- Provides structured, step-by-step tutorials
- Allows hands-on practice with Goose features
- Allows hands-on practice with goose features
- Offers immediate feedback and guidance
## Configuration
@@ -26,67 +26,25 @@ The Tutorial extension serves as an interactive learning tool that:
</TabItem>
<TabItem value="cli" label="goose CLI">
```sh
goose configure
```
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Built-in Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
Add Extension (Connect to a new extension)
What type of extension would you like to add?
// highlight-start
│ ● Built-in Extension (Use an extension that comes with Goose)
// highlight-end
│ ○ Command-line Extension
○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Select the `Tutorial` extension
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Built-in Extension
◆ Which built-in extension would you like to enable?
│ ○ Developer Tools
│ ○ Computer Controller
// highlight-start
│ ● Tutorial
// highlight-end
│ ○ Memory
| ○ JetBrains
```
4. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Built-in Extension
◇ Which built-in extension would you like to enable?
│ Tutorial
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
└ Enabled Tutorials extension
```
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
│ ● tutorial
// highlight-end
|
Extension settings updated successfully
```
</TabItem>
</Tabs>
@@ -95,7 +53,7 @@ goose configure
Currently, the following tutorials are available:
- **build-mcp-extension**: Learn how to build an extension using the Model Context Protocol (MCP)
- **first-game**: Create your first game with Goose
- **first-game**: Create your first game with goose
More tutorials are being added regularly to cover additional features and use cases.
@@ -105,10 +63,10 @@ More tutorials are being added regularly to cover additional features and use ca
There are two main ways to interact with tutorials:
1. **Ask Goose directly**: You can simply ask about a topic you're interested in, and Goose will suggest relevant tutorials.
1. **Ask goose directly**: You can simply ask about a topic you're interested in, and goose will suggest relevant tutorials.
```
( O)> I'd like to learn how to build an extension for Goose
( O)> I'd like to learn how to build an extension for goose
```
2. **Request a specific tutorial**: You can directly request a tutorial by name.
@@ -121,7 +79,7 @@ There are two main ways to interact with tutorials:
While going through a tutorial:
1. Goose will guide you step-by-step through the process
1. goose will guide you step-by-step through the process
2. You'll receive clear instructions before any actions are taken
3. You can ask questions at any time for clarification
4. You can take breaks and resume later
@@ -129,7 +87,7 @@ While going through a tutorial:
### Best Practices
- **Take your time**: Don't rush through the tutorials. Make sure you understand each step before moving on.
- **Ask questions**: If something isn't clear, ask Goose to explain it further.
- **Ask questions**: If something isn't clear, ask goose to explain it further.
- **Experiment**: Feel free to try variations of what you're learning.
- **Take notes**: Document any interesting findings or techniques you learn.
@@ -139,12 +97,12 @@ While going through a tutorial:
Here's an example of how to start learning about building extensions:
### Goose Prompt
### goose Prompt
```
I'd like to learn how to build an extension for Goose
I'd like to learn how to build an extension for goose
```
### Goose Output
### goose Output
```
I'll help you learn about building extensions! The "build-mcp-extension" tutorial would be perfect for this. Let me load it and guide you through it.
@@ -180,7 +138,7 @@ Which SDK would you like to use to get started?
After completing tutorials, you can:
- Apply learned concepts to your own projects
- Contribute to the Goose community by sharing your experiences
- Contribute to the goose community by sharing your experiences
- Suggest new tutorial topics that would be helpful for others
### Need Further Help?
+10 -142
View File
@@ -1,16 +1,17 @@
---
title: YouTube Transcript Extension
description: Add YouTube Transcript MCP Server as a Goose Extension for accessing YouTube video transcripts
description: Add YouTube Transcript MCP Server as a goose Extension for accessing YouTube video transcripts
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/N38u7hZqZJg" />
This tutorial covers how to add the [YouTube Transcript MCP Server](https://github.com/jkawamoto/mcp-youtube-transcript) as a Goose extension to enable fetching and working with YouTube video transcripts.
This tutorial covers how to add the [YouTube Transcript MCP Server](https://github.com/jkawamoto/mcp-youtube-transcript) as a goose extension to enable fetching and working with YouTube video transcripts.
:::tip TLDR
<Tabs groupId="interface">
@@ -44,144 +45,11 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
/>
</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
```
3. Give your extension a name
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ youtube-transcript
// highlight-end
```
4. Enter the command
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ youtube-transcript
// highlight-start
◆ What command should be run?
│ uvx --from git+https://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript
// highlight-end
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ youtube-transcript
◇ What command should be run?
│ uvx --from git+https://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-end
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ youtube-transcript
◇ What command should be run?
│ uvx --from git+https://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript
◆ Please set the timeout for this tool (in secs):
│ 300
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
```
7. No environment variables are required for this extension
```sh
┌ goose-configure
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ youtube-transcript
◇ What command should be run?
│ uvx --from git+https://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript
◇ Please set the timeout for this tool (in secs):
│ 300
◇ Would you like to add a description?
│ No // highlight-start
◆ Would you like to add environment variables?
│ No
// highlight-end
└ Added youtube-transcript extension
```
<CLIExtensionInstructions
name="YouTube Transcript"
description="Access YouTube video transcripts"
command="uvx --from git+https://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript"
/>
</TabItem>
</Tabs>
@@ -189,13 +57,13 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on
The YouTube Transcript extension allows you to fetch and work with transcripts from YouTube videos. You'll need the video ID from the YouTube URL you want to get the transcript for.
### Goose Prompt
### goose Prompt
```
Get me the transcript for this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ
```
### Goose Output
### goose Output
:::note CLI
I'll help you get the transcript for that video. The video ID is "dQw4w9WgXcQ". Let me fetch the transcript for you.
@@ -16,6 +16,7 @@ interface CLIExtensionInstructionsProps {
timeout?: number;
envVars?: EnvVar[]; // For stdio: environment variables, for http: headers
infoNote?: string;
commandNote?: React.ReactNode; // Note to display for command/URL step
}
export default function CLIExtensionInstructions({
@@ -27,6 +28,7 @@ export default function CLIExtensionInstructions({
timeout = 300,
envVars = [],
infoNote,
commandNote,
}: CLIExtensionInstructionsProps) {
const hasEnvVars = envVars.length > 0;
const isSSE = type === 'sse';
@@ -101,6 +103,14 @@ ${
<ol start={4}>
<li>Enter the {isSSE ? 'SSE endpoint URI' : 'Streaming HTTP endpoint URI'}.</li>
</ol>
{commandNote && (
<>
<Admonition type="info">
{commandNote}
</Admonition>
<br />
</>
)}
<CodeBlock language="sh">{`┌ goose-configure
What would you like to configure?
@@ -123,6 +133,14 @@ ${
<ol start={4}>
<li>Enter the command to run when this extension is used.</li>
</ol>
{commandNote && (
<>
<Admonition type="info">
{commandNote}
</Admonition>
<br />
</>
)}
<CodeBlock language="sh">{`┌ goose-configure
What would you like to configure?
+1 -1
View File
@@ -437,7 +437,7 @@
"name": "OpenMetadata",
"description": "Bring OpenMetadata's single source of truth across your data systems to agents",
"command": "npx -y mcp-remote http://localhost:8585/mcp --auth-server-url=http://localhost:8585/mcp --client-id=openmetadata --verbose --clean --header Authorization:${AUTH_HEADER}",
"link": "https://open-metadata.org/mcp",
"link": "https://github.com/open-metadata/OpenMetadata",
"installation_notes": "Install using npx package manager.",
"is_builtin": false,
"endorsed": true,