Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ These compose cleanly, so complex patterns don't require complex code. And becau
## Installation

> [!Note]
> FastMCP 3.0 is currently in beta. Install with: `pip install fastmcp==3.0.0b2`
> FastMCP 3.0 is currently a release candidate. Install with: `pip install fastmcp==3.0.0rc1`
>
> For production systems requiring stability, pin to v2: `pip install 'fastmcp<3'`

Expand Down
180 changes: 180 additions & 0 deletions docs/changelog.mdx

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,7 @@
"python-sdk/fastmcp-server-middleware-__init__",
"python-sdk/fastmcp-server-middleware-authorization",
"python-sdk/fastmcp-server-middleware-caching",
"python-sdk/fastmcp-server-middleware-dereference",
"python-sdk/fastmcp-server-middleware-error_handling",
"python-sdk/fastmcp-server-middleware-logging",
"python-sdk/fastmcp-server-middleware-middleware",
Expand Down Expand Up @@ -562,6 +563,7 @@
"python-sdk/fastmcp-server-tasks-elicitation",
"python-sdk/fastmcp-server-tasks-handlers",
"python-sdk/fastmcp-server-tasks-keys",
"python-sdk/fastmcp-server-tasks-notifications",
"python-sdk/fastmcp-server-tasks-requests",
"python-sdk/fastmcp-server-tasks-routing",
"python-sdk/fastmcp-server-tasks-subscriptions"
Expand Down Expand Up @@ -665,7 +667,7 @@
"icon": "code"
}
],
"version": "v3.0.0 (beta 2)"
"version": "v3.0.0 (rc 1)"
},
{
"dropdowns": [
Expand Down Expand Up @@ -862,7 +864,7 @@
"icon": "book"
}
],
"version": "v2.14.3"
"version": "v2.14.5"
}
]
},
Expand Down
10 changes: 5 additions & 5 deletions docs/getting-started/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,25 @@ icon: arrow-down-to-line
We recommend using [uv](https://docs.astral.sh/uv/getting-started/installation/) to install and manage FastMCP.

<Note>
FastMCP 3.0 is currently in beta. Package managers won't install beta versions by default—you must explicitly request one (e.g., `>=3.0.0b2`).
FastMCP 3.0 is currently a release candidate. Package managers won't install pre-release versions by default—you must explicitly request one (e.g., `>=3.0.0rc1`).
</Note>

```bash
pip install "fastmcp>=3.0.0b2"
pip install "fastmcp>=3.0.0rc1"
```

Or with uv:

```bash
uv add "fastmcp>=3.0.0b2"
uv add "fastmcp>=3.0.0rc1"
```
Comment thread
coderabbitai[bot] marked this conversation as resolved.

### Optional Dependencies

FastMCP provides optional extras for specific features. For example, to install the background tasks extra:

```bash
pip install "fastmcp[tasks]==3.0.0b2"
pip install "fastmcp[tasks]==3.0.0rc1"
```

See [Background Tasks](/servers/tasks) for details on the task system.
Expand All @@ -44,7 +44,7 @@ You should see output like the following:
```bash
$ fastmcp version

FastMCP version: 3.0.0
FastMCP version: 3.0.0rc1
MCP version: 1.25.0
Python version: 3.12.2
Platform: macOS-15.3.1-arm64-arm-64bit
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/welcome.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ if __name__ == "__main__":
```

<Tip>
**This documentation is for FastMCP 3.0**, which is currently in beta. For the 2.x release, see the [FastMCP 2.0 documentation](/v2/getting-started/welcome).
**This documentation is for FastMCP 3.0**, which is currently a release candidate. For the 2.x release, see the [FastMCP 2.0 documentation](/v2/getting-started/welcome).
</Tip>

FastMCP is made with 💙 by [Prefect](https://www.prefect.io/).
Expand Down
2 changes: 1 addition & 1 deletion docs/servers/tasks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ MCP background tasks are different: they're **protocol-native**. This means MCP
<VersionBadge version="3.0.0" /> Background tasks require the `tasks` extra:

```bash
pip install "fastmcp[tasks]>=3.0.0b2"
pip install "fastmcp[tasks]>=3.0.0rc1"
```

Add `task=True` to any tool, resource, resource template, or prompt decorator. This marks the component as capable of background execution.
Expand Down
42 changes: 42 additions & 0 deletions docs/updates.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,48 @@ icon: "sparkles"
tag: NEW
---

<Update label="FastMCP 3.0.0rc1" description="February 12, 2026" tags={["Releases"]}>
<Card
title="FastMCP v3.0.0rc1: RC-ing is Believing"
href="https://github.com/jlowin/fastmcp/releases/tag/v3.0.0rc1"
cta="Read the release notes"
>
FastMCP 3 RC1 means we believe the API is stable. Beta 2 drew a wave of real-world adoption — production deployments, migration reports, integration testing — and the feedback overwhelmingly confirmed that the architecture works. This release closes gaps that surfaced under load: auth flows that needed to be async, background tasks that needed reliable notification delivery, and APIs still carrying beta-era naming. If nothing unexpected surfaces, this is what 3.0.0 looks like.

🚨 **Breaking Changes** — The `ui=` parameter is now `app=` with a unified `AppConfig` class, and 16 `FastMCP()` constructor kwargs have been removed after months of deprecation warnings.

🔐 **Auth Improvements** — Async `auth=` checks, Static Client Registration for servers without DCR, and declarative Azure OBO flows via dependency injection.

⚡ **Concurrent Sampling** — `context.sample()` can now execute multiple tool calls in parallel with `tool_concurrency=0`.

📡 **Background Task Notifications** — A distributed Redis queue replaces polling for progress updates and elicitation relay.

✅ **OpenAPI Output Validation** — `validate_output=False` disables strict schema checking for imperfect backend APIs.
</Card>
</Update>

<Update label="FastMCP 3.0.0b2" description="February 7, 2026" tags={["Releases"]}>
<Card
title="FastMCP v3.0.0b2: 2 Fast 2 Beta"
href="https://github.com/jlowin/fastmcp/releases/tag/v3.0.0b2"
cta="Read the release notes"
>
Beta 2 reflects the huge number of people that kicked the tires on Beta 1. Seven new contributors landed changes, and early migration reports went smoother than expected. Most of Beta 2 is refinement — fixing what people found, filling gaps from real usage, hardening edges — but a few new features landed along the way.

🖥️ **Client CLI** — `fastmcp list`, `fastmcp call`, `fastmcp discover`, and `fastmcp generate-cli` turn any MCP server into something you can poke at from a terminal.

🔐 **CIMD** (Client ID Metadata Documents) adds an alternative to Dynamic Client Registration for OAuth.

📱 **MCP Apps** — Spec-level compliance for the MCP Apps extension with `ui://` resource scheme and typed UI metadata.

⏳ **Background Task Context** — `Context` now works transparently in Docket workers with Redis-based coordination.

🛡️ **ResponseLimitingMiddleware** caps tool response sizes with UTF-8-safe truncation.

🪿 **Goose Integration** — `fastmcp install goose` for one-command server installation into Goose.
</Card>
</Update>

<Update label="FastMCP 3.0.0b1" description="January 20, 2026" tags={["Releases"]}>
<Card
title="FastMCP 3.0.0b1: This Beta Work"
Expand Down