documentation/docs/mcp/_template_.mdx
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 ________________.
:::tip Quick Install <Tabs groupId="interface"> <TabItem value="ui" label="goose Desktop" default> Launch the installer </TabItem> <TabItem value="cli" label="goose CLI"> Command
{command}
:::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.
:::
<!-- For built-in extensions -->
<GooseBuiltinInstaller
extensionName="{Extension Name}"
description="{Extension description}"
extensionId="{extension_id}"
/>
<!-- For external STDIO MCP servers (npx, uvx, git, etc.) -->
<GooseDesktopInstaller
extensionId="{extension_id}"
extensionName="{Extension Name}"
description="{Extension description}"
type="stdio"
command="npx"
args={["-y", "@package/name"]}
timeout={300}
envVars={[
{ name: "API_KEY", label: "Description or placeholder value" }
]}
apiKeyLink="https://example.com/api-keys"
apiKeyLinkText="Service Access Token"
/>
<!-- For HTTP MCP servers -->
<GooseDesktopInstaller
extensionId="{extension_id}"
extensionName="{Extension Name}"
description="{Extension description}"
type="http"
url="https://example-server.com/mcp"
envVars={[ // also used for http request headers
{ name: "SOME_KEY", label: "Description or placeholder value" }
]}
apiKeyLink="https://example.com/api-keys"
apiKeyLinkText="Service Access Token"
/>
<!-- For external STDIO MCP servers (npx, uvx, git, etc.) -->
<CLIExtensionInstructions
name="{Extension Name}"
description="{Extension description}"
type="stdio"
command="{full command with args}"
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> and paste it in.
</>
}
/>
<!-- For HTTP MCP servers -->
<CLIExtensionInstructions
name="{Extension Name}"
description="{Extension description}"
type="http"
url="https://example-server.com/mcp"
timeout={300}
envVars={[ // also used for http request headers
{ 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>.
</>
}
/>
{describe any environment setup, access controls, and what you want to accomplish.}
exact prompt
:::note Desktop
{exact output}
:::