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.Remote MCP server support is currently in beta and available for users on Claude Pro, Max, Team, and Enterprise plans (as of June 2025). Most users will still need to use local STDIO connections.
This guide focuses specifically on using FastMCP servers with Claude Desktop. For general Claude Desktop MCP setup and official examples, see the official Claude Desktop quickstart guide.
Requirements
Claude Desktop traditionally requires MCP servers to run locally using STDIO transport, where your server communicates with Claude through standard input/output rather than HTTP. However, users on certain plans now have access to remote server support as well.If you don’t have access to remote server support or need to connect to remote servers, you can create a proxy server that runs locally via STDIO and forwards requests to remote HTTP servers. See the Proxy Servers section below.
Create a Server
The examples in this guide will use the following simple dice-rolling server, saved asserver.py
.
server.py
Install the Server
FastMCP CLI
New in version: 2.10.3
The easiest way to install a FastMCP server in Claude Desktop is using the fastmcp install claude-desktop
command. This automatically handles the configuration and dependency management.
Prior to version 2.10.3, Claude Desktop could be managed by running
fastmcp install <path>
without specifying the client.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:
Dependencies
FastMCP provides several ways to manage your server’s dependencies when installing in Claude Desktop: Individual packages: Use the--with
flag to specify packages your server needs. You can use this flag multiple times:
requirements.txt
file listing all your dependencies, use --with-requirements
to install them all at once:
--with-editable
to install them in editable mode:
fastmcp.json
configuration file (recommended):
fastmcp.json
Python Version and Project Directory
FastMCP allows you to control the Python environment for your server: Python version: Use--python
to specify which Python version your server should run with. This is particularly useful when your server requires a specific Python version:
--project
to run your server within a specific project directory. This ensures that uv
will discover all pyproject.toml
, uv.toml
, and .python-version
files from that project:
Environment Variables
Claude Desktop runs servers in a completely isolated environment with no access to your shell environment or locally installed applications. You must explicitly pass any environment variables your server needs.
.env
file:
uv
must be installed and available in your system PATH. Claude Desktop runs in its own isolated environment and needsuv
to manage dependencies.- On macOS, it is recommended to install
uv
globally with Homebrew so that Claude Desktop will detect it:brew install uv
. Installinguv
with other methods may not make it accessible to Claude Desktop.
Manual Configuration
For more control over the configuration, you can manually edit Claude Desktop’s configuration file. You can open the configuration file from Claude’s developer settings, or find it in the following locations:- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
mcpServers
key, which contains the configuration for each MCP server.
Dependencies
If your server has dependencies, you can useuv
or another package manager to set up the environment.
When manually configuring dependencies, the recommended approach is to use uv
with FastMCP. The configuration uses uv run
to create an isolated environment with your specified packages:
--python
to use a specific Python version, or --project
to run within a project directory:
uv
must be installed and available in your system PATH. Claude Desktop runs in its own isolated environment and needsuv
to manage dependencies.- On macOS, it is recommended to install
uv
globally with Homebrew so that Claude Desktop will detect it:brew install uv
. Installinguv
with other methods may not make it accessible to Claude Desktop.
Environment Variables
You can also specify environment variables in the configuration:Claude Desktop runs servers in a completely isolated environment with no access to your shell environment or locally installed applications. You must explicitly pass any environment variables your server needs.
Remote Servers
Users on Claude Pro, Max, Team, and Enterprise plans have first-class remote server support via integrations. For other users, or as an alternative approach, FastMCP can create a proxy server that forwards requests to a remote HTTP server. You can install the proxy server in Claude Desktop. Create a proxy server that connects to a remote HTTP server:proxy_server.py
Authentication
For authenticated remote servers, create an authenticated client following the guidance in the client auth documentation and pass it to the proxy:auth_proxy_server.py