Files
goose/documentation/docs/mcp/_template_.mdx
2025-07-25 19:37:27 -05:00

107 lines
2.9 KiB
Plaintext

---
title: {Extension Name} Extension
escription: Add {Extension Name} MCP Server as a Goose Extension
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller';
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/VIDEO_ID" />
This tutorial covers how to add the [{Extension Name} MCP Server](/) as a Goose extension to enable file operations, repository management, search functionality, and more.
:::tip TLDR
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
[Launch the installer]({goose_url})
</TabItem>
<TabItem value="cli" label="Goose CLI">
**Command**
```sh
{command}
```
</TabItem>
</Tabs>
**Environment Variable**
```
{env_var}: <ENV_VALUE>
```
:::
## Configuration
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
<!-- For external MCP servers (npx, uvx, git, etc.) -->
<GooseDesktopInstaller
extensionId="{extension_id}"
extensionName="{Extension Name}"
extensionDescription="{Extension description}"
command="npx"
args={["-y", "@package/name"]}
cliCommand="{command}"
timeout={300}
note="Note that you'll need Node.js installed on your system to run this command, as it uses npx."
/>
<!-- For built-in extensions -->
<GooseBuiltinInstaller
extensionName="{Extension Name}"
extensionDescription="{Extension description}"
extensionId="{extension_id}"
/>
<!-- For external MCP servers with environment variables -->
<GooseDesktopInstaller
extensionId="{extension_id}"
extensionName="{Extension Name}"
extensionDescription="{Extension description}"
command="npx"
args={["-y", "@package/name"]}
cliCommand="{command}"
timeout={300}
envVars={[
{ key: "API_KEY", value: "••••••••••••••••" }
]}
infoNote={
<>
Get your API key from{" "}
<a href="https://example.com/api-keys" target="_blank" rel="noopener noreferrer">
example.com
</a>.
</>
}
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">
<CLIExtensionInstructions
name="{Extension Name}"
command="{command}"
timeout={300}
/>
</TabItem>
## Example Usage
{describe any environment setup, access controls, and what you want to accomplish.}
### Goose Prompt
> _exact prompt_
### Goose Output
:::note Desktop
{exact output}
:::