FastMCP:用于構(gòu)建MCP服務(wù)器的開源Python框架
FastMCP是什么?
FastMCP 是一個(gè)開源的Python 框架,專注于讓 MCP 服務(wù)器和客戶端的搭建變得更簡(jiǎn)單。它用簡(jiǎn)潔的裝飾器語法,大大減少了冗余代碼,還支持智能體和組合 MCP 服務(wù)器,能輕松應(yīng)對(duì)復(fù)雜應(yīng)用的開發(fā)需求。FastMCP 與 OpenAPI 和 FastAPI 深度集成,讓現(xiàn)有的 API 轉(zhuǎn)變?yōu)?MCP 服務(wù)變得輕而易舉。它還具備圖像處理能力,客戶端功能也很完善。安裝時(shí)推薦用 uv,開發(fā)和使用起來都很方便,特別是搭配 Claude Desktop,體驗(yàn)感更佳。
FastMCP功能特色
快速開發(fā):提供高層級(jí)接口,開發(fā)者不需要處理復(fù)雜的協(xié)議細(xì)節(jié)和服務(wù)器管理,減少了編寫代碼的工作量。
簡(jiǎn)單易用:僅需少量的樣板代碼即可構(gòu)建 MCP 服務(wù)器,開發(fā)者可以通過裝飾器的方式,輕松定義工具、資源和提示,大大減少了冗余代碼。
Pythonic 風(fēng)格:充分利用了 Python 的語言特性,讓代碼編寫更加符合 Python 的編程習(xí)慣。
功能完整:提供對(duì) MCP 核心規(guī)范的完整實(shí)現(xiàn),目前核心功能已經(jīng)能夠滿足大多數(shù)開發(fā)需求,并仍處于活躍開發(fā)中。
FastMCP核心組件
工具(Tools):定義 LLM 可執(zhí)行的操作(如計(jì)算、API 調(diào)用),支持同步和異步函數(shù)。
資源(Resources):提供結(jié)構(gòu)化數(shù)據(jù)訪問(如配置信息、用戶數(shù)據(jù)),支持動(dòng)態(tài)路徑參數(shù)。
上下文(Context):內(nèi)置日志記錄、進(jìn)度報(bào)告、資源讀取等能力,增強(qiáng)交互控制。
提示(Prompts):可復(fù)用交互模板,指導(dǎo) LLM 更高效地使用工具。
優(yōu)勢(shì)
快速開發(fā):通過高級(jí)接口,減少代碼量,加速開發(fā)。
簡(jiǎn)潔易用:使用最少的樣板代碼構(gòu)建 MCP 服務(wù)器。
Pythonic:符合 Python 開發(fā)者的習(xí)慣。
完整實(shí)現(xiàn):全面支持 MCP 核心規(guī)范。
FastMCP使用場(chǎng)景
ai 助手工具集:為 AI 助手提供本地功能擴(kuò)展。
數(shù)據(jù)庫交互:安全地暴露數(shù)據(jù)庫查詢功能。
文件處理:讀取和處理本地文件。
API 集成:將現(xiàn)有 API 包裝為 AI 可用的工具。
智能客服:可以使用 FastMCP 構(gòu)建服務(wù)器,為客服人員提供快速查詢知識(shí)庫、調(diào)用數(shù)據(jù)分析工具等功能
數(shù)據(jù)分析:通過 FastMCP 將各種數(shù)據(jù)分析工具集成到 LLM 中,讓用戶能夠更方便地進(jìn)行數(shù)據(jù)處理和分析
FastMCP安裝與運(yùn)行
1. 安裝依賴:
pip install uvicorn pip install fastmcp
2. 創(chuàng)建項(xiàng)目并編寫服務(wù)器代碼:
from fastmcp import FastMCP mcp = FastMCP("My App") @mcp.tool() def add(a: int, b: int) -> int: return a + b if __name__ == "__main__": mcp.run(debug=True)
3. 啟動(dòng)服務(wù)器:
uvicorn server:app --reload
或使用 FastMCP 命令行工具:
fastmcp run server.py
github:https://github.com/jlowin/fastmcp
詳細(xì):https://gofastmcp.com/getting-started/welcome