Model Context Protocol (MCP) 是一种全新的标准化方式,用于为您的LLM提供上下文和工具,而FastMCP让构建MCP服务器和客户端变得简单直观。通过简洁的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()

FastMCP 2.0 和官方 MCP SDK

是否听说过FastMCP这个名字?您可能见过贡献给官方MCP Python SDK的版本,该版本基于FastMCP 1.0开发。

欢迎使用FastMCP 2.0! 这是正在积极开发的后续版本,相比1.0版本有了显著扩展,引入了强大的客户端功能、服务器代理与组合、OpenAPI/FastAPI集成以及更高级的特性。

FastMCP 2.0是构建现代化、强大MCP应用的推荐路径。准备升级或开始使用?请遵循安装指南,其中包含具体的升级步骤。

什么是MCP?

模型上下文协议(Model Context Protocol)允许您构建服务器,以安全、标准化的方式向LLM应用程序公开数据和功能。它常被称为"AI的USB-C接口",为LLM提供了连接可用资源的统一方式。您可以将其视为专门为LLM交互设计的API。MCP服务器能够:

  • 通过Resources公开数据(可以将其类比为GET端点;它们用于将信息加载到LLM的上下文中)
  • 通过Tools提供功能(类似于POST端点;它们用于执行代码或产生其他副作用)
  • 通过Prompts定义交互模式(用于大语言模型交互的可复用模板)
  • 还有更多功能!

虽然有一个低层级的Python SDK可以直接实现协议,但FastMCP旨在通过提供高层级、Python风格的接口来简化这一过程。

为什么选择FastMCP?

MCP协议功能强大,但实现它涉及大量样板代码——服务器设置、协议处理器、内容类型、错误管理等。FastMCP处理了所有复杂的协议细节和服务器管理,因此您可以专注于构建出色的工具。它的设计目标是高层次且符合Python风格;在大多数情况下,您只需要装饰一个函数即可。

虽然FastMCP 1.0的核心服务器概念奠定了基础并被贡献给官方MCP SDK,但FastMCP 2.0(本项目)是当前积极开发的继任者,增加了重大改进和全新功能,如强大的客户端库、服务器代理、组合模式等更多特性。

FastMCP的目标是:

🚀 快速: 高级接口意味着更少的代码和更快的开发速度

🍀 简单易用: 用最少的样板代码构建MCP服务器

🐍 Python风格: 让Python开发者感觉自然亲切

🔍 完整实现: FastMCP旨在提供核心MCP规范的全功能实现

llms.txt

本文档也提供llms.txt格式版本,这是一种LLM易于解析的简单markdown标准。

有两种方式可以访问LLM友好的文档:

  • llms.txt 本质上是一个站点地图,列出了文档中的所有页面。
  • llms-full.txt 包含完整文档。请注意这可能超出您LLM的上下文窗口限制。