60e0ffc959
Upgrade checks / Notify on failure (push) Has been cancelled
Upgrade checks / Close issue on success (push) Has been cancelled
Schema Crash Test / Real-world schema crash test (232K schemas) (push) Has been cancelled
Run static analysis / static_analysis (push) Has been cancelled
Tests / Tests: Python 3.10 on ubuntu-latest (push) Has been cancelled
Tests / Tests: Python 3.13 on ubuntu-latest (push) Has been cancelled
Tests / Tests: Python 3.10 on windows-latest (push) Has been cancelled
Tests / Tests with lowest-direct dependencies (push) Has been cancelled
Tests / MCP conformance tests (push) Has been cancelled
Tests / Integration tests (push) Has been cancelled
Tests / Package install smoke (push) Has been cancelled
Upgrade checks / Static analysis (push) Has been cancelled
Upgrade checks / Tests: Python 3.10 on ubuntu-latest (push) Has been cancelled
Upgrade checks / Tests: Python 3.13 on ubuntu-latest (push) Has been cancelled
Upgrade checks / Tests: Python 3.10 on windows-latest (push) Has been cancelled
Upgrade checks / Integration tests (push) Has been cancelled
Update MCPServerConfig Schema / update-config-schema (push) Has been cancelled
Update SDK Documentation / update-sdk-docs (push) Has been cancelled
135 lines
5.6 KiB
Plaintext
135 lines
5.6 KiB
Plaintext
---
|
|
title: "Welcome to FastMCP"
|
|
sidebarTitle: "Welcome!"
|
|
description: The fast, Pythonic way to build MCP servers, clients, and applications.
|
|
icon: hand-wave
|
|
mode: center
|
|
---
|
|
{/* <img
|
|
src="/assets/brand/f-watercolor-waves-4.png"
|
|
|
|
alt="'F' logo on a watercolor background"
|
|
noZoom
|
|
className="rounded-2xl block dark:hidden"
|
|
/>
|
|
<img
|
|
src="/assets/brand/f-watercolor-waves-4-dark.png"
|
|
alt="'F' logo on a watercolor background"
|
|
noZoom
|
|
className="rounded-2xl hidden dark:block"
|
|
/>
|
|
|
|
|
|
*/}
|
|
<video
|
|
autoPlay
|
|
muted
|
|
loop
|
|
playsInline
|
|
className="rounded-2xl block dark:hidden"
|
|
src="/assets/brand/f-watercolor-waves-4-animated.mp4"
|
|
></video>
|
|
<video
|
|
autoPlay
|
|
muted
|
|
loop
|
|
playsInline
|
|
className="rounded-2xl hidden dark:block"
|
|
src="/assets/brand/f-watercolor-waves-4-dark-animated.mp4"
|
|
></video>
|
|
|
|
|
|
**FastMCP is the standard framework for building MCP applications.** 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 — build servers that expose capabilities, connect clients to any MCP service, and give your tools interactive UIs:
|
|
|
|
```python {1}
|
|
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()
|
|
```
|
|
|
|
|
|
## Move Fast and Make Things
|
|
|
|
The [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) lets you give agents access to your tools and data. But 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:
|
|
|
|
<CardGroup cols={3}>
|
|
<Card title="Servers" img="/assets/images/servers-card.png" href="/servers/server">
|
|
Expose tools, resources, and prompts to LLMs.
|
|
</Card>
|
|
<Card title="Apps" img="/assets/images/apps-card.png" href="/apps/overview">
|
|
Give your tools interactive UIs rendered directly in the conversation.
|
|
</Card>
|
|
<Card title="Clients" img="/assets/images/clients-card.png" href="/clients/client">
|
|
Connect to any MCP server — local or remote, programmatic or CLI.
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
**[Servers](/servers/server)** wrap your Python functions into MCP-compliant tools, resources, and prompts. **[Clients](/clients/client)** connect to any server with full protocol support. And **[Apps](/apps/overview)** give your tools interactive UIs rendered directly in the conversation.
|
|
|
|
Ready to build? Start with the [installation guide](/getting-started/installation) or jump straight to the [quickstart](/getting-started/quickstart).
|
|
|
|
FastMCP is made with 💙 by [Prefect](https://www.prefect.io/).
|
|
|
|
## Run FastMCP in production with Horizon
|
|
|
|
FastMCP is the standard way to build MCP servers. **[Prefect Horizon](https://www.prefect.io/horizon?utm_source=gofastmcp&utm_medium=docs&utm_campaign=docs_welcome&utm_content=welcome_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=gofastmcp&utm_medium=docs&utm_campaign=docs_welcome&utm_content=welcome_cta)
|
|
|
|
<Tip>
|
|
**This documentation reflects FastMCP's `main` branch**, meaning it always reflects the latest development version. Features are generally marked with version badges (e.g. `New in version: 3.0.0`) to indicate when they were introduced. Note that this may include features that are not yet released.
|
|
</Tip>
|
|
|
|
## LLM-Friendly Docs
|
|
|
|
The FastMCP documentation is available in multiple LLM-friendly formats:
|
|
|
|
### MCP Server
|
|
|
|
The FastMCP docs are accessible via MCP! The server URL is `https://gofastmcp.com/mcp`.
|
|
|
|
In fact, you can use FastMCP to search the FastMCP docs:
|
|
|
|
```python
|
|
import asyncio
|
|
from fastmcp import Client
|
|
|
|
async def main():
|
|
async with Client("https://gofastmcp.com/mcp") as client:
|
|
result = await client.call_tool(
|
|
name="search_fast_mcp",
|
|
arguments={"query": "deploy a FastMCP server"}
|
|
)
|
|
print(result)
|
|
|
|
asyncio.run(main())
|
|
```
|
|
|
|
### Text Formats
|
|
|
|
The docs are also available in [llms.txt format](https://llmstxt.org/):
|
|
- [llms.txt](https://gofastmcp.com/llms.txt) - A sitemap listing all documentation pages
|
|
- [llms-full.txt](https://gofastmcp.com/llms-full.txt) - The entire documentation in one file (may exceed context windows)
|
|
|
|
Any page can be accessed as markdown by appending `.md` to the URL. For example, this page becomes `https://gofastmcp.com/getting-started/welcome.md`.
|
|
|
|
You can also copy any page as markdown by pressing "Cmd+C" (or "Ctrl+C" on Windows) on your keyboard.
|