什麼是 FastAPI-MCP?
FastAPI-MCP 是一個原生擴展,專為 FastAPI 框架而設計,可以將您的 API 端點暴露為 MCP 工具,這些工具可以被 MCP 兼容的 LLM 代理動態發現和調用。與傳統的轉換器不同,FastAPI-MCP 深度整合了 FastAPI 的 ASGI 堆疊,開箱即用地支持身份驗證和文檔保留,並允許統一或分開的部署模型,提供更大的靈活性。
如何配置 FastAPI-MCP
- 使用您首選的軟體包管理器安裝 FastAPI-MCP:
- 使用 uv:
uv add fastapi-mcp
- 使用 pip:
pip install fastapi-mcp
- 使用 uv:
- 將 FastAPI-MCP 匯入並用您的 FastAPI 應用實例初始化。
- 使用
.mount()
方法來暴露您的 MCP 伺服器,這將根據您現有的 FastAPI 路由自動生成 MCP 工具端點。 - 可選地,使用 FastAPI 的依賴注入來配置身份驗證(例如:
Depends()
),並根據需求自定義文檔或部署。
如何使用 FastAPI-MCP
- 將以下內容添加到您的 FastAPI 應用中:
from fastapi import FastAPI from fastapi_mcp import FastApiMCP app = FastAPI() mcp = FastApiMCP(app) mcp.mount()
- 一旦掛載,您的 MCP 伺服器將可在
/mcp
下通過應用的基本 URL 訪問。 - 所有兼容的 FastAPI 端點將自動成為 MCP 工具,準備好被 MCP 客戶端調用,包括 LLM 代理。
- 端點保留原始架構、驗證和身份驗證邏輯,對 FastAPI 應用的任何更改將反映在 MCP 工具中。
- 在 fastapi-mcp.tadata.com 瀏覽文檔,並查看 示例 以獲得實際演示。
主要特點
- 身份驗證整合: 重用 FastAPI 現有的依賴和安全模型來處理 MCP 端點。
- 最小配置: 通過一次方法調用立即將所有 FastAPI 端點暴露為 MCP 工具。
- 原生 FastAPI 支持: 利用 ASGI 傳輸實現高效、直接的通信。
- 架構和文檔保留: 保持 OpenAPI 文檔、模型和字段驗證。
- 靈活部署: 將 MCP 伺服器部署在應用內或作為獨立服務。
- 全面生態系統: 輕鬆整合 LLM 和外部 MCP 兼容工具。
使用案例
- 立即使您的業務 REST API 成為安全的可訪問 LLM 工具,用於智能代理工作流。
- 通過允許 LLM 作為 MCP 工具調用您的 FastAPI 端點來構建自定義工作流自動化。
- 原型並分享新的 AI 驅動特性,無需手動包裝端點或複製。
- 將企業數據和外部 API 連接到統一的可訪問模型工具集中。
常見問題解答
Q1: 我需要改變我的 FastAPI 代碼來使用 FastAPI-MCP 嗎?
A: 不需要,您可以通過簡單地初始化和掛載 FastAPI-MCP,將現有端點暴露為 MCP 工具,幾乎不需要更改。
Q2: 我可以將 FastAPI 的身份驗證和依賴用於 MCP 工具嗎?
A: 可以,FastAPI-MCP 完全支持通過 FastAPI 的 Depends()
進行身份驗證和依賴注入,因此您的安全模型保持不變。
Q3: 是否可以將 MCP 伺服器單獨部署,不與我的 FastAPI 應用程序聯繫?
A: 是的,FastAPI-MCP 支持統一和分開的部署模式,使您可以將 MCP 伺服器掛載在您的應用中或作為獨立的 ASGI 服務。
Q4: 如何處理請求和響應架構?
A: 所有端點的架構和文檔都會被保留,確保通過 MCP 工具的一致輸入驗證和可發現性。