URL: https://gofastmcp.com/integrations/goose
Title: Goose 🤝 FastMCP - FastMCP

Documentation Index
Fetch the complete documentation index at:
/llms.txt
Use this file to discover all available pages before exploring further.
Skip to main content
Meet
Prefect Horizon
, the enterprise MCP gateway built by the team behind FastMCP
FastMCP
home page
v3
Prefect Horizon
PrefectHQ/fastmcp
25,596
PrefectHQ/fastmcp
25,596
Search...
Navigation
AI Assistants
Goose 🤝 FastMCP
Search the docs...
Ctrl
K
Documentation
Get Started
Welcome!
Installation
Quickstart
Servers
Overview
Core Components
Working with Tools
MCP Providers
Interactivity
Extensibility
Auth
Deployment
Apps
Overview
Quickstart
NEW
FastMCPApp
NEW
Interactive Tools
NEW
Generative UI
NEW
Custom HTML
Reference
Clients
Overview
Client-Only Package
Transports
fastmcp-remote
Operations
UPDATED
Authentication
UPDATED
Integrations
Auth
Web Frameworks
AI Assistants
ChatGPT
Claude Code
Claude Desktop
Cursor
Gemini CLI
Goose
AI SDKs
MCP.json
More
Settings
CLI
Upgrading
Development
What's New
FAQ
On this page
Requirements
Create a Server
Install the Server
FastMCP CLI
Dependencies
Python Version
Environment Variables
Manual Configuration
Dependencies
Environment Variables
Using the Server
AI Assistants
Goose 🤝 FastMCP
Copy page
Install and use FastMCP servers in Goose
Copy page
This integration focuses on running local FastMCP server files with STDIO transport.
For remote servers running with HTTP or SSE transport, use your client's native configuration - FastMCP's integrations focus on simplifying the complex local setup with dependencies and
uv
commands.
Goose
is an open-source AI agent from Block that supports MCP servers as extensions. FastMCP can install your server directly into Goose using its deeplink protocol — one command opens Goose with an install dialog ready to go.
​
Requirements
This integration uses Goose’s deeplink protocol to register your server as a STDIO extension running via
uvx
. You must have Goose installed on your system for the deeplink to open automatically.
For remote deployments, configure your FastMCP server with HTTP transport and add it to Goose directly using
goose configure
or the config file.
​
Create a Server
The examples in this guide will use the following simple dice-rolling server, saved as
server.py
.
server.py
import
random
from
fastmcp
import
FastMCP
mcp
=
FastMCP
(
name
=
"
Dice Roller
"
)
@
mcp
.
tool
def
roll_dice
(
n_dice
:
int
)
->
list
[
int
]:
"""
Roll `n_dice` 6-sided dice and return the results.
"""
return
[
random
.
randint
(
1
,
6
)
for
_
in
range
(
n_dice
)]
if
__name__
==
"
__main__
"
:
mcp
.
run
()
​
Install the Server
​
FastMCP CLI
New in version
3.0.0
The easiest way to install a FastMCP server in Goose is using the
fastmcp install goose
command. This generates a
goose://
deeplink and opens it, prompting Goose to install the server.
fastmcp
install
goose
server.py
The install command supports the same
file.py:object
notation as the
run
command. If no object is specified, it will automatically look for a FastMCP server object named
mcp
,
server
, or
app
in your file:
# These are equivalent if your server object is named 'mcp'
fastmcp
install
goose
server.py
fastmcp
install
goose
server.py:mcp
# Use explicit object name if your server has a different name
fastmcp
install
goose
server.py:my_custom_server
Under the hood, the generated command uses
uvx
to run your server in an isolated environment. Goose requires
uvx
rather than
uv run
, so the install produces a command like:
uvx
--with
pandas
fastmcp
run
/path/to/server.py
​
Dependencies
Use the
--with
flag to specify additional packages your server needs:
fastmcp
install
goose
server.py
--with
pandas
--with
requests
Alternatively, you can use a
fastmcp.json
configuration file (recommended):
fastmcp.json
{
"
$schema
"
:
"
https://gofastmcp.com/public/schemas/fastmcp.json/v1.json
"
,
"
source
"
:
{
"
path
"
:
"
server.py
"
,
"
entrypoint
"
:
"
mcp
"
},
"
environment
"
:
{
"
dependencies
"
:
[
"
pandas
"
,
"
requests
"
]
}
}
​
Python Version
Use
--python
to specify which Python version your server should use:
fastmcp
install
goose
server.py
--python
3.11
The Goose install uses
uvx
, which does not support
--project
,
--with-requirements
, or
--with-editable
. If you need these options, use
fastmcp install mcp-json
to generate a full configuration and add it to Goose manually.
​
Environment Variables
Goose’s deeplink protocol does not support environment variables. If your server needs them (like API keys), you have two options:
Configure after install
: Run
goose configure
and add environment variables to the extension.
Manual config
: Use
fastmcp install mcp-json
to generate the full configuration, then add it to
~/.config/goose/config.yaml
with the
envs
field.
​
Manual Configuration
For more control, you can manually edit Goose’s configuration file at
~/.config/goose/config.yaml
:
extensions
:
dice-roller
:
name
:
Dice Roller
cmd
:
uvx
args
:
[
fastmcp
,
run
,
/path/to/server.py
]
enabled
:
true
type
:
stdio
timeout
:
300
​
Dependencies
When manually configuring, add packages using
--with
flags in the args:
extensions
:
dice-roller
:
name
:
Dice Roller
cmd
:
uvx
args
:
[
--with
,
pandas
,
--with
,
requests
,
fastmcp
,
run
,
/path/to/server.py
]
enabled
:
true
type
:
stdio
timeout
:
300
​
Environment Variables
Environment variables can be specified in the
envs
field:
extensions
:
weather-server
:
name
:
Weather Server
cmd
:
uvx
args
:
[
fastmcp
,
run
,
/path/to/weather_server.py
]
enabled
:
true
envs
:
API_KEY
:
your-api-key
DEBUG
:
"
true
"
type
:
stdio
timeout
:
300
You can also use
goose configure
to add extensions interactively, which prompts for environment variables.
uvx
(from
uv
) must be installed and available in your system PATH
. Goose uses
uvx
to run Python-based extensions in isolated environments.
​
Using the Server
Once your server is installed, you can start using your FastMCP server with Goose.
Try asking Goose something like:
“Roll some dice for me”
Goose will automatically detect your
roll_dice
tool and use it to fulfill your request, returning something like:
🎲 Here are your dice rolls: 4, 6, 4
You rolled 3 dice with a total of 14!
Goose can now access all the tools, resources, and prompts you’ve defined in your FastMCP server.
Gemini CLI 🤝 FastMCP
Previous
Anthropic API 🤝 FastMCP
Next
Ctrl
+I
discord
github
website
x
Powered by
This documentation is built and hosted on Mintlify, a developer documentation platform
Assistant
Responses are generated using AI and may contain mistakes.
\n\n
\n
\n \n
\n
