掘金 人工智能 04月29日 09:32
7.8K 标星!这个Python神器把MCP服务器变成「搭积木」一样简单!
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

FastMCP是一个开源Python框架,旨在简化AI系统与外部工具和数据源的交互。它通过提供简洁的装饰器语法和直观的API,帮助开发者快速构建MCP服务器和客户端。FastMCP支持工具、资源和提示的定义,并兼容各种LLM客户端。开发者只需几行代码即可搭建完整的MCP Server & Client,专注于功能创新和业务逻辑,而无需花费大量时间处理底层细节。它还内置了图像处理模块,并能与FastAPI无缝集成,极大地提升了开发效率。

🛠️FastMCP是一个轻量级的Python开源框架,专门为开发MCP服务器和客户端而设计,旨在简化MCP工具的开发流程。

✨FastMCP通过简洁优雅的装饰器语法,简化了MCP工具、资源和提示的定义过程,使得开发者可以用更少的代码实现更多功能。

🖼️FastMCP内置了图像处理模块,支持图像上传、压缩、转码等操作,方便开发者构建多模态应用,例如图文问答和OCR等。

🔗FastMCP可以与FastAPI无缝集成,一键将现有的API转换为MCP服务,方便开发者快速将现有服务接入到LLM应用中。

MCP(Model Context Protocol)为 AI 系统与外部工具、数据源的交互提供了标准化接口,但其复杂的协议细节和服务器管理常让开发者望而却步。

现在也越来越多应用开始使用 #MCP 协议,比如 Claude、Cursor、百度智能云、阿里云、纳米搜索等,都依赖 MCP 构建更自然、更复杂的智能体交互体验。

今天我要给大家分享一个真正能让你“轻松上手,快速开发”的宝藏开源框架:FastMCP

它的存在,就像是给开发者开了一道绿灯:既能帮你省下大量处理底层细节的时间,又能让你专注在功能创新和业务逻辑上!

#FastMCP,这款最近开源的超级轻量 Python 框架,直接把 MCP 开发体验提升了一个维度!

只需简单几行代码,就能快速定义工具、资源、提示,搭建完整的 MCP Server & Client。

项目简介

FastMCP 是一个专门为开发 MCP 服务器和客户端设计的开源 Python 框架。

它致力于:简化 MCP 工具开发、加速服务器搭建、兼容各种 LLM 客户端,如 Claude Desktop。

通过装饰器和直观 API 简化服务器与客户端开发,支持工具(Tools)、资源(Resources)和提示(Prompts)的定义。

让 Python 开发者用几行代码即可构建 MCP 服务器或客户端。

主要特性

快速上手

FastMCP 推荐使用 uv 安装,因为它是通过CLI部署服务器所必需的。安装环境支持 Python 3.8+ 以上。

uv pip install fastmcp

提示:在macOS上,可能需要使用 Homebrew 安装 uv(brew install uv),以便使其对Claude桌面应用程序可用。

对于开发者来说,可以参考以下命令安装:

# 克隆仓库git clone https://github.com/jlowin/fastmcp.gitcd fastmcp# 安装开发依赖uv sync

创建一个简单的MCP服务器(公开一个计算器工具和一些数据)

# server.pyfrom fastmcp import FastMCP# Create an MCP servermcp = FastMCP("Demo")# Add an addition tool@mcp.tool()def add(a: int, b: int) -> int:    """Add two numbers"""    return a + b# Add a dynamic greeting resource@mcp.resource("greeting://{name}")def get_greeting(name: str) -> str:    """Get a personalized greeting"""    return f"Hello, {name}!"

然后可以在Claude Desktop中安装此服务器

{  "mcpServers": [    {      "name": "server",      "url": "http://localhost:8000/mcp"    }  ]}

并通过运行以下命令立即与其交互:

fastmcp install server.py

使用fastmcp.Image辅助类轻松处理图像输出。

from mcp.server.fastmcp import FastMCP, Imagefrom io import BytesIOtry:    from PIL import Image as PILImageexcept ImportError:    raise ImportError("Please install the `pillow` library to run this example.")mcp = FastMCP("My App")@mcp.tool()def create_thumbnail(image_path: str) -> Image:    """Create a thumbnail from an image"""    img = PILImage.open(image_path)    img.thumbnail((100100))        buffer = BytesIO()    img.save(buffer, format="PNG")    return Image(data=buffer.getvalue(), format="png")

它将工具中的Image助手类返回,以向客户端发送图像。Image助手类负责处理MCP协议所需的base64编码格式的转换。它可以使用图像文件的路径,也可以使用字节对象。

MCP Client 类允许你从 Python 代码与任何 MCP 服务器(不仅仅是 FastMCP)进行交互:

from fastmcp import Clientasync with Client("path/to/server") as client:    # Call a tool    result = await client.call_tool("weather", {"location""San Francisco"})    print(result)        # Read a resource    res = await client.read_resource("db://users/123/profile")    print(res)

与 FastAPI 交互:

from fastapi import FastAPIfrom fastmcp import FastMCP# Your existing FastAPI applicationfastapi_app = FastAPI(title="My Existing API")@fastapi_app.get("/status")def get_status():     return {"status""running"}@fastapi_app.post("/items")def create_item(name: str, price: float):     return {"id": 1"name": name, "price": price}# Generate an MCP server directly from the FastAPI appmcp_server = FastMCP.from_fastapi(fastapi_app)if __name__ == "__main__":    mcp_server.run()

FastMCP 还有更多关于工具、资源、LLM、服务端、客户端等高级用法和参数说明,可以参考项目文档进行操作。

支持的开发场景

写在最后

FastMCP 提供了一个高级的、Pythonic 的接口,用于构建,并与主流线上的MCP服务器交互。

可能以往,你自己搭 MCP 服务器,就像是一场体力活:到处找例子,研究协议规范,配环境,写成千上万行Demo代码,搞得精疲力尽。

而现在,有了 FastMCP,你可以把更多精力花在创造真正有价值的功能和体验上。

少了繁琐细节、有了更快的原型验证及更优开发体验。

所以,无论你是想打造下一个爆款应用,还是仅仅想搭个好用的智能体工具,FastMCP 都是你绝对值得收藏和上手的那把“开发利器”。

GitHub 项目地址:github.com/jlowin/fast…

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

FastMCP Python框架 AI交互 MCP协议
相关文章