mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 15:19:10 +02:00
123 lines
6.8 KiB
Markdown
123 lines
6.8 KiB
Markdown
<div align="center">
|
|
|
|
<!-- omit in toc -->
|
|
|
|
<picture>
|
|
<source width="550" media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/PrefectHQ/fastmcp/main/docs/assets/brand/f-watercolor-waves-4-dark.png">
|
|
<source width="550" media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/PrefectHQ/fastmcp/main/docs/assets/brand/f-watercolor-waves-4.png">
|
|
<img width="550" alt="FastMCP Logo" src="https://raw.githubusercontent.com/PrefectHQ/fastmcp/main/docs/assets/brand/f-watercolor-waves-2.png">
|
|
</picture>
|
|
|
|
# FastMCP 🚀
|
|
|
|
<strong>Move fast and make things.</strong>
|
|
|
|
*Made with 💙 by [Prefect](https://www.prefect.io/)*
|
|
|
|
[](https://gofastmcp.com)
|
|
[](https://discord.gg/uu8dJCgttd)
|
|
[](https://pypi.org/project/fastmcp)
|
|
[](https://github.com/PrefectHQ/fastmcp/actions/workflows/run-tests.yml)
|
|
[](https://github.com/PrefectHQ/fastmcp/blob/main/LICENSE)
|
|
|
|
<a href="https://trendshift.io/repositories/21461" target="_blank"><img src="https://trendshift.io/api/badge/repositories/21461" alt="prefecthq%2Ffastmcp | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
|
</div>
|
|
|
|
---
|
|
|
|
The [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) connects LLMs to tools and data. FastMCP gives you everything you need to go from prototype to production:
|
|
|
|
```python
|
|
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()
|
|
```
|
|
|
|
## Why FastMCP
|
|
|
|
Building an effective MCP application is harder than it looks. FastMCP handles all of it. Declare a tool with a Python function, and the schema, validation, and documentation are generated automatically. Connect to a server with a URL, and transport negotiation, authentication, and protocol lifecycle are managed for you. You focus on your logic, and the MCP part just works: **with FastMCP, best practices are built in.**
|
|
|
|
**That's why FastMCP is the standard framework for working with MCP.** FastMCP 1.0 was incorporated into the official MCP Python SDK in 2024. Today, the actively maintained standalone project is downloaded a million times a day, and some version of FastMCP powers 70% of MCP servers across all languages.
|
|
|
|
FastMCP has three pillars:
|
|
|
|
<table>
|
|
<tr>
|
|
<td align="center" valign="top" width="33%">
|
|
<a href="https://gofastmcp.com/servers/server">
|
|
<img src="https://raw.githubusercontent.com/PrefectHQ/fastmcp/main/docs/assets/images/servers-card.png" alt="Servers" />
|
|
<br /><strong>Servers</strong>
|
|
</a>
|
|
<br />Expose tools, resources, and prompts to LLMs.
|
|
</td>
|
|
<td align="center" valign="top" width="33%">
|
|
<a href="https://gofastmcp.com/apps/overview">
|
|
<img src="https://raw.githubusercontent.com/PrefectHQ/fastmcp/main/docs/assets/images/apps-card.png" alt="Apps" />
|
|
<br /><strong>Apps</strong>
|
|
</a>
|
|
<br />Give your tools interactive UIs rendered directly in the conversation.
|
|
</td>
|
|
<td align="center" valign="top" width="33%">
|
|
<a href="https://gofastmcp.com/clients/client">
|
|
<img src="https://raw.githubusercontent.com/PrefectHQ/fastmcp/main/docs/assets/images/clients-card.png" alt="Clients" />
|
|
<br /><strong>Clients</strong>
|
|
</a>
|
|
<br />Connect to any MCP server — local or remote, programmatic or CLI.
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
**[Servers](https://gofastmcp.com/servers/server)** wrap your Python functions into MCP-compliant tools, resources, and prompts. **[Clients](https://gofastmcp.com/clients/client)** connect to any server with full protocol support. And **[Apps](https://gofastmcp.com/apps/overview)** give your tools interactive UIs rendered directly in the conversation.
|
|
|
|
Ready to build? Start with the [installation guide](https://gofastmcp.com/getting-started/installation) or jump straight to the [quickstart](https://gofastmcp.com/getting-started/quickstart).
|
|
|
|
## Run FastMCP in production with Horizon
|
|
|
|
FastMCP is the standard way to build MCP servers. **[Prefect Horizon](https://www.prefect.io/horizon?utm_source=github&utm_medium=readme&utm_campaign=readme_horizon&utm_content=readme_body)** is the enterprise MCP gateway for running them safely.
|
|
|
|
Built by the FastMCP team, Horizon packages the best practices we've learned shipping the world's most popular MCP framework.
|
|
|
|
Deploy FastMCP servers from GitHub with branch previews and instant rollback. Create a private registry of every MCP your company uses. Secure access with SSO and tool-level RBAC. Get audit logs, observability, and governance across your MCP stack. Remix approved tools into purpose-built endpoints for teams and agents.
|
|
|
|
Start with FastMCP. [Scale with Horizon →](https://www.prefect.io/horizon?utm_source=github&utm_medium=readme&utm_campaign=readme_horizon&utm_content=readme_cta)
|
|
|
|
## Installation
|
|
|
|
We recommend installing FastMCP with [uv](https://docs.astral.sh/uv/):
|
|
|
|
```bash
|
|
uv pip install fastmcp
|
|
```
|
|
|
|
For full installation instructions, including verification and upgrading, see the [**Installation Guide**](https://gofastmcp.com/getting-started/installation).
|
|
|
|
**Upgrading?** We have guides for:
|
|
- [Upgrading from FastMCP v2](https://gofastmcp.com/getting-started/upgrading/from-fastmcp-2)
|
|
- [Upgrading from the MCP Python SDK](https://gofastmcp.com/getting-started/upgrading/from-mcp-sdk)
|
|
- [Upgrading from the low-level SDK](https://gofastmcp.com/getting-started/upgrading/from-low-level-sdk)
|
|
|
|
> [!NOTE]
|
|
> If `import fastmcp` fails right after a `pip` upgrade from FastMCP 3.2 or earlier, run `pip install --force-reinstall fastmcp`. See [Troubleshooting](https://gofastmcp.com/getting-started/installation#troubleshooting) for why this happens (`uv` is unaffected).
|
|
|
|
## 📚 Documentation
|
|
|
|
FastMCP's complete documentation is available at **[gofastmcp.com](https://gofastmcp.com)**, including detailed guides, API references, and advanced patterns.
|
|
|
|
Documentation is also available in [llms.txt format](https://llmstxt.org/), which is a simple markdown standard that LLMs can consume easily:
|
|
|
|
- [`llms.txt`](https://gofastmcp.com/llms.txt) is essentially a sitemap, listing all the pages in the documentation.
|
|
- [`llms-full.txt`](https://gofastmcp.com/llms-full.txt) contains the entire documentation. Note this may exceed the context window of your LLM.
|
|
|
|
**Community:** Join our [Discord server](https://discord.gg/uu8dJCgttd) to connect with other FastMCP developers and share what you're building.
|
|
|
|
## Contributing
|
|
|
|
We welcome contributions! See the [Contributing Guide](https://gofastmcp.com/development/contributing) for setup instructions, testing requirements, and PR guidelines.
|