docs/getting-started/installation.mdx
We recommend using uv to install and manage FastMCP.
pip install fastmcp
Or with uv:
uv add fastmcp
FastMCP provides optional extras for specific features. For example, to install the background tasks extra:
pip install "fastmcp[tasks]"
See Background Tasks for details on the task system.
To verify that FastMCP is installed correctly, you can run the following command:
fastmcp version
You should see output like the following:
$ fastmcp version
FastMCP version: 3.0.0
MCP version: 1.25.0
Python version: 3.12.2
Platform: macOS-15.3.1-arm64-arm-64bit
FastMCP root path: ~/Developer/fastmcp
If this is a concern, you can install Cyclopts v5 alpha which removes this dependency:
pip install "cyclopts>=5.0.0a1"
Alternatively, wait for the stable v5 release. See this issue for details. </Info>
See the Upgrade Guide for a complete list of breaking changes and migration steps.
If you're using FastMCP 1.0 via the mcp package (meaning you import FastMCP as from mcp.server.fastmcp import FastMCP), upgrading is straightforward — for most servers, it's a single import change. See the full upgrade guide for details.
If you built your server directly on the mcp package's Server class — with list_tools()/call_tool() handlers and hand-written JSON Schema — see the migration guide for a full walkthrough.
import fastmcp fails after a pip upgradeThis affects one specific case: upgrading to FastMCP 3.3 or later from FastMCP 3.2 or earlier with pip. Fresh installs and uv upgrades are unaffected, so you can skip this unless you did exactly that.
If import fastmcp raises ModuleNotFoundError, or from fastmcp import FastMCP raises ImportError, immediately after the upgrade, your install is in a half-removed state. Reinstall in a single step:
pip install --force-reinstall fastmcp
If that doesn't resolve it, remove both distributions and reinstall from a clean state:
pip uninstall -y fastmcp fastmcp-slim
pip install fastmcp
FastMCP 3.3 moved the importable code from the fastmcp distribution into fastmcp-slim. During a single-command pip upgrade, pip can install the new files and then delete them while uninstalling the old fastmcp distribution, whose file manifest still lists those paths. uv uninstalls before it installs, so it is unaffected.
FastMCP follows semantic versioning with pragmatic adaptations for the rapidly evolving MCP ecosystem. Breaking changes may occur in minor versions (e.g., 2.3.x to 2.4.0) when necessary to stay current with the MCP Protocol.
For production use, always pin to exact versions:
fastmcp==3.0.0 # Good
fastmcp>=3.0.0 # Bad - may install breaking changes
See the full versioning and release policy for details on our public API, deprecation practices, and breaking change philosophy.
Interested in contributing to FastMCP? See the Contributing Guide for details on: