# fastmcp

> 🚀 The fast, Pythonic way to build MCP servers and clients.

- **URL**: https://www.freshcrate.ai/projects/fastmcp
- **Author**: PrefectHQ
- **Category**: MCP Servers
- **Latest version**: `v3.4.0` (2026-06-03)
- **License**: Apache-2.0
- **Source**: https://github.com/PrefectHQ/fastmcp
- **Homepage**: https://gofastmcp.com
- **Language**: Python
- **GitHub**: 24,733 stars, 1,944 forks
- **Registry**: github
- **Tags**: `agents`, `fastmcp`, `llms`, `mcp`, `mcp-clients`, `mcp-servers`, `mcp-tools`, `model-context-protocol`, `python`

## Description

🚀 The fast, Pythonic way to build MCP servers and clients.

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v3.4.0` | 2026-06-03 | High | FastMCP 3.4 is about reaching servers that live somewhere else. The headline is `fastmcp-remote`, a standalone bridge that connects stdio-only MCP hosts to servers hosted over HTTP. Around it, this release hardens the proxy layer those remote connections depend on — making bridges fail loudly instead of silently, and keeping authenticated sessions alive across the long idle periods that remote clients are prone to.  ## fastmcp-remote  Some MCP hosts still insist on launching a local stdio comman |
| `v3.3.1` | 2026-05-15 | High | FastMCP 3.3.1 is a hotfix for the 3.3 packaging split. Clean installs of 3.3.0 could fail on standalone component imports like `from fastmcp.tools import tool` because component modules reached auth and task primitives through `fastmcp.server`, pulling in the server/provider stack and exposing a circular import.  Component-level auth and task primitives now live in lightweight utility modules, with the old server import paths preserved as compatibility re-exports. Component imports stay lightwei |
| `v3.3.0` | 2026-05-15 | High | FastMCP 3.3 ships `fastmcp-slim`, a new lightweight distribution that separates the client from the server stack. It also closes out a meaningful backlog of security hardening, observability improvements, and auth additions that accumulated through the 3.2 cycle.  ## fastmcp-slim  The full FastMCP package pulls in Starlette, Uvicorn, and the rest of the server machinery — necessary for running a server, but wasteful if you're writing a client, a script, or an agent that just needs to talk to MCP |
| `v3.2.4` | 2026-04-14 | High | A grab bag of fixes, hardening, and polish.  The headline behavior change: background tasks are now scoped to the authorization context rather than the MCP session, so a task kicked off by an authenticated user survives session churn and stays tied to who started it. This is a breaking change for anyone relying on the old session-scoped semantics.  Security got three meaningful upgrades. `FileUpload` now validates actual decoded base64 size instead of trusting the client-reported number, so an a |
| `v2.14.7` | 2026-04-13 | Medium | <!-- Release notes generated using configuration in .github/release.yml at release/2.x -->  ## What's Changed ### Fixes 🐞 * fix(deps): cap fakeredis to <2.35.0 to prevent startup crash on 2.x by @vincent067 in https://github.com/PrefectHQ/fastmcp/pull/3883   **Full Changelog**: https://github.com/PrefectHQ/fastmcp/compare/v2.14.6...v2.14.7 |
| `v3.2.3` | 2026-04-09 | High | fakeredis 2.35.0 shipped an undocumented rename (`FakeConnection` → `FakeAsyncRedisConnection`) that broke pydocket's `memory://` backend, causing `fastmcp[tasks]` installs to fail at startup with an `ImportError`. This pins `fakeredis<2.35.0` in the `tasks` extra as a stopgap until a fixed pydocket ships.   <!-- Release notes generated using configuration in .github/release.yml at main -->  ## What's Changed ### Fixes 🐞 * Pin fakeredis<2.35.0 in tasks extra by @jlowin in https://github.com/Pre |
| `v3.2.2` | 2026-04-09 | Medium | The Azure audience fix in 3.2.1 overcorrected: it switched token validation from `client_id` to `identifier_uri`, which fixed custom Application ID URIs but broke the default case where Azure AD v2 tokens set `aud` to the bare client ID GUID. Both formats are now accepted.   <!-- Release notes generated using configuration in .github/release.yml at main -->  ## What's Changed ### Fixes 🐞 * fix: accept both client_id and identifier_uri as Azure audience by @jlowin in https://github.com/PrefectHQ |
| `v3.2.1` | 2026-04-08 | High | Most of the fixes in this patch are about auth providers getting audience validation wrong. Cognito token verification was checking the `aud` JWT claim, but Cognito access tokens don't include one; they use `client_id` instead. Azure was hardcoding the raw client ID as the expected audience, ignoring the `identifier_uri` parameter even though Entra v2.0 tokens use the Application ID URI as `aud`. Both now validate correctly without changing the provider API. Consent cookies also had an unbounded |
| `v3.2.0` | 2026-03-30 | Medium | FastMCP 3.2 is the Apps release. The 3.0 architecture gave you providers and transforms; 3.1 shipped Code Mode for tool discovery. 3.2 puts a face on it: your tools can now return interactive UIs — charts, dashboards, forms, maps — rendered right inside the conversation.  ## FastMCPApp  `FastMCPApp` is a new provider class for building interactive applications inside MCP. It separates the tools the LLM sees (`@app.ui()`) from the backend tools the UI calls (`@app.tool()`), manages visibility aut |
| `v2.14.6` | 2026-03-27 | Medium | PR #2861 backported `dereference_refs()` to v2 but never wired it into the tool schema pipeline — `$ref` and `$defs` were still sent to MCP clients. Now fixed: `compress_schema()` dereferences at both tool schema creation sites, so schemas are fully inlined before reaching clients.   <!-- Release notes generated using configuration in .github/release.yml at release/2.x -->  ## What's Changed ### Fixes 🐞 * Updated deprecation URL for V2 by @SrzStephen in https://github.com/PrefectHQ/fastmcp/pull |

## Citation

- HTML: https://www.freshcrate.ai/projects/fastmcp
- Markdown: https://www.freshcrate.ai/projects/fastmcp.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/fastmcp/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
