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 docs/deployment/prefect-horizon.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Prefect Horizon
sidebarTitle: Prefect Horizon
description: Managed hosting and governance for MCP servers
description: The MCP platform from the FastMCP team
icon: cloud
---

Expand Down
8 changes: 4 additions & 4 deletions docs/getting-started/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ 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. Install by specifying the version explicitly.
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.0b1`).
</Note>

```bash
pip install fastmcp==3.0.0b1
pip install "fastmcp>=3.0.0b1"
```

If you plan to use FastMCP in a uv-managed project, you can add it as a dependency with:
Or with uv:

```bash
uv add fastmcp --prerelease=allow
uv add "fastmcp>=3.0.0b1"
Comment on lines +18 to +21
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

uv prerelease allow flag behavior version specifiers beta

💡 Result:

Short answer: uv only accepts pre-release versions when you explicitly request them in a version specifier (e.g., >=1.0.0b1 / 2.0.0rc1) or when a package only has pre-release releases. Using --prerelease=allow (or prerelease = "allow" in config) forces the resolver to consider pre-releases for all dependencies (including transitive ones), and uv will prompt you to re-run with --prerelease=allow if resolution fails due to an otherwise-blocked transitive pre-release. [1][2]

Examples / notes:

  • Explicit specifier: flask>=2.0.0rc1 will allow that release without other flags. [1][2]
  • All-PRs case: if every published version is a pre-release, uv will consider them by default. [1][3]
  • --prerelease=allow: opt-in that permits pre-releases globally (useful for alpha/beta installs). [2][4]

Sources: uv docs (pre-release behavior and CLI flag), uv PyPI description. [1][2][3][4]


🌐 Web query:

uv add prerelease version constraint >=3.0.0b1

💡 Result:

Use Poetry's allow-prereleases flag and the inequality specifier. For example:

poetry add @">=3.0.0b1" --allow-prereleases

This tells Poetry to accept the prerelease (b1) and any later versions >= 3.0.0b1. Poetry's prerelease handling and the --allow-prereleases option are documented in the dependency spec docs and PEP 440. [1][2]

Sources:
[1] Poetry — Dependency specification (pre-releases / allow-prereleases).
[2] PEP 440 — Handling of pre-releases.


Rephrase the label using second person to align with documentation style guidelines, which require second person for instructions and procedures.

The command uv add "fastmcp>=3.0.0b1" is correct without --prerelease=allow. When you explicitly include a prerelease version in the specifier (e.g., >=3.0.0b1), uv accepts it directly without requiring the flag.

Change "Or with uv:" to "You can also use uv:" for consistency with the docs style guide.

```

### Optional Dependencies
Expand Down
4 changes: 1 addition & 3 deletions docs/servers/tasks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +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.0b1"
# or with uv
uv add "fastmcp[tasks]" --prerelease=allow
pip install "fastmcp[tasks]>=3.0.0b1"
```

Add `task=True` to any tool, resource, resource template, or prompt decorator. This marks the component as capable of background execution.
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ authors = [{ name = "Jeremiah Lowin" }]
dependencies = [
"python-dotenv>=1.1.0",
"exceptiongroup>=1.2.2",
"httpx>=0.28.1",
"httpx>=0.28.1,<1.0",
"mcp>=1.24.0,<2.0",
"openapi-pydantic>=0.5.1",
"opentelemetry-api>=1.20.0",
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading