Files
goose/documentation/docs/tutorials/_template_.md
2025-05-09 12:15:38 -06:00

5.6 KiB

title: {name} Extension description: Add {name} MCP Server as a Goose Extension

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';

This tutorial covers how to add the {name} MCP Server as a Goose extension to enable file operations, repository management, search functionality, and more.

:::tip TLDR Launch the installer Command

{command}
**Environment Variable** ``` {env_var}: ``` :::

Configuration

:::info 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 uv installed on your system to run this command, as it uses uvx. :::

:::info Note that you'll need JBang installed on your system to run this command, as it uses jbang. :::

1. [Launch the installer]({goose_url}) 2. Press `Yes` to confirm the installation 3. Obtain a [XYZ Access Token](/) and paste it in 4. Click `Save Configuration` 5. Scroll to the top and click `Exit` from the upper left corner 1. Run the `configure` command: ```sh goose configure ```
  1. Choose to add a Command-line Extension
  ┌   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 
  └ 
  1. Give your extension a name
  ┌   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?
  │  {name}
  // highlight-end
  └ 
  1. Enter the command
  ┌   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?
  │  {name}
  │
  // highlight-start
  ◆  What command should be run?
  │  {command}
  // highlight-end
  └ 
  1. 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? │ {name} │ ◇ What command should be run? │ {command} │ // 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?
  │  {name}
  │
  ◇  What command should be run?
  │  {command}
  │
  ◆  Please set the timeout for this tool (in secs):
  │  300
  │
  // highlight-start
  ◇  Would you like to add a description?
  │  No
  // highlight-end
  │
  └ 
  1. Obtain a GitHub Personal Access Token and paste it in. :::info When creating your access token, you can specify the repositories and granular permissions you'd like Goose to have access to. :::
 ┌   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?
 │  {name}
 │
 ◇  What command should be run?
 │  {command}
 │     
 ◇  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:
 │  {env_var}
 │
 ◇  Environment variable value:
 │  ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
 │
 ◇  Add another environment variable?
 │  No 
 // highlight-end
 └  Added github extension

Example Usage

{describe any environment setup, access controls, and what you want to accomplish.}

Goose Prompt

exact prompt

Goose Output

:::note Desktop

{exact output}

:::