FastMCP
Python framework for building MCP servers, clients and apps
BestMCPTools
FastMCP
bestmcptools.org
Last verified: September 30, 2026
Maintenance status
ActiveHow to Install FastMCP
$pip install fastmcpRequires Claude Desktop, Cursor, Windsurf, or another MCP-compatible client.
About FastMCP
FastMCP is a Python framework for building MCP servers, clients and interactive MCP apps. It is not a ready-made server that you connect to. You write ordinary Python functions, mark them as tools, and FastMCP generates the schema, validation and protocol handling around them. It is maintained by Prefect (PrefectHQ/fastmcp on GitHub).
Quick facts (as of September 30, 2026)
| FastMCP | |
|---|---|
| Maker | Prefect |
| Type | Python framework (a library you build on), not a hosted or prebuilt server |
| Language | Python 3.10 or newer, per PyPI |
| Install | uv add fastmcp (the README's recommendation) or pip install fastmcp |
| Latest release | 4.0.10 on PyPI, uploaded September 25, 2026 |
| License | Apache-2.0, as recorded from the GitHub repository metadata for this listing (the README itself shows only a license badge) |
| Docs | gofastmcp.com |
| Related | FastMCP for TypeScript is a separate official project: PrefectHQ/fastmcp-ts |
What it does
The README describes three parts:
- Servers. Wrap Python functions into MCP tools, resources and prompts. Declare a tool with a function and the schema, validation and documentation are generated automatically.
- Clients. Connect to any MCP server, local or remote, from code or the command line. The README says transport negotiation, authentication and protocol lifecycle are handled for you.
- Apps. Give tools interactive interfaces that render inside the conversation.
A minimal server, adapted from the README:
from fastmcp import FastMCP
mcp = FastMCP("Demo")
@mcp.tool
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
if __name__ == "__main__":
mcp.run()
What it does not do
FastMCP ships no Git, GitHub, package inspection or build tools of its own. The only tools a FastMCP server has are the ones you write. If you want a ready-made server for a specific service, browse the rest of this directory instead.
Getting started
- Install with
uv add fastmcporpip install fastmcp(Python 3.10 or newer). - Save the example above as a file and run it.
- Register the server in your MCP client using that client's own instructions. The FastMCP docs at gofastmcp.com cover transports and client setup; we linked to them but did not read that site in full.
- Upgrading? The README links guides for moving from FastMCP 2, FastMCP 3, and from the official MCP Python SDK v1 or v2.
Limitations and things to watch
- Python only. TypeScript authors use the separate fastmcp-ts project.
- Do not confuse it with the npm package named
fastmcp. That is a different TypeScript framework from a different maintainer. Its README says it implements the older handshake-based MCP revisions (2025-11-25 and earlier) and not the 2026-07-28 specification. Check which package you are installing. - Fast-moving major versions. The README carries upgrade guides from earlier major versions, so pin the version in anything you deploy.
- You own what your tools can do. The framework handles the protocol. Which actions your tools take, which secrets they hold and who may call them is decided by the server you write.
- Hosting is separate. Prefect sells Horizon, an enterprise gateway and deployment product, separately from the open source framework.
Pros and cons
Pros
- Very little boilerplate: decorated functions become tools, with schemas generated from type hints (per the README).
- One library covers servers, clients and interactive apps.
- Actively maintained: the repository was last pushed September 28, 2026 and PyPI shows a release on September 25, 2026.
- The README points to
llms.txtandllms-full.txtversions of the docs for use with AI assistants.
Cons
- Python only, and a framework rather than a product: you write, test and host the server yourself.
- Major-version migrations are a real cost if you do not pin versions.
- We did not test authentication or deployment patterns, so check the docs before relying on them.
Who it is for
A good fit if:
- You are a Python developer wrapping an internal API, script or dataset so an agent can call it.
- You want servers, tests and clients in one library.
Not the right tool if:
- You want a finished server for a SaaS product. Look at the other listings here.
- You write in TypeScript or another language.
- You only need a couple of tools and prefer the official toolkit: compare the MCP Python SDK.
What we could not verify
- Server-side authentication options and the full list of supported transports. The README says these are handled, but we did not read the pages on gofastmcp.com.
- The maintainers' usage figures (a claimed million downloads a day and a claimed share of all MCP servers). They are the maintainers' own numbers and we did not check them.
- The license text itself. The Apache-2.0 value comes from repository metadata, not from an opened LICENSE file.
How this page was put together
We read the FastMCP README on GitHub, the PyPI entry for fastmcp (version, Python requirement, upload date) and the npm entry for the similarly named TypeScript package, all on September 30, 2026. We did not run FastMCP. Check the linked sources for anything you depend on.
Sources
- GitHub: PrefectHQ/fastmcp
- FastMCP documentation (linked from the README, not read in full)
- PyPI: fastmcp
- GitHub: PrefectHQ/fastmcp-ts (linked from the README, not read)
- npm: fastmcp (a different, TypeScript project)
Pricing
Free: from Free (open source)
Our Take on FastMCP
Not a server you install but the toolkit you build one with. If you are wrapping an internal Python API or script for agents, start here. If you want a ready-made server for a SaaS product, look elsewhere in the directory. For a comparison with the official toolkit, see the MCP Python SDK.