FastAPI MCP

FastAPI MCP

FastAPI-MCP 是一個強大的 FastAPI 擴展,它可以讓您輕鬆地將 FastAPI 應用程序的端點暴露為模型上下文協議 (MCP) 工具。它支持 FastAPI API 與 LLM 驅動的代理或工作流之間的無縫、安全整合,通過最小的設置將現有端點轉換為 MCP 工具,提供 MCP 原生的身份驗證、架構保留和原生文檔,並利用您現有的 FastAPI 依賴和部署基礎設施。

Author: tadata-org


查看協議

什麼是 FastAPI-MCP?

FastAPI-MCP 是一個原生擴展,專為 FastAPI 框架而設計,可以將您的 API 端點暴露為 MCP 工具,這些工具可以被 MCP 兼容的 LLM 代理動態發現和調用。與傳統的轉換器不同,FastAPI-MCP 深度整合了 FastAPI 的 ASGI 堆疊,開箱即用地支持身份驗證和文檔保留,並允許統一或分開的部署模型,提供更大的靈活性。

如何配置 FastAPI-MCP

  1. 使用您首選的軟體包管理器安裝 FastAPI-MCP:
    • 使用 uv:uv add fastapi-mcp
    • 使用 pip:pip install fastapi-mcp
  2. 將 FastAPI-MCP 匯入並用您的 FastAPI 應用實例初始化。
  3. 使用 .mount() 方法來暴露您的 MCP 伺服器,這將根據您現有的 FastAPI 路由自動生成 MCP 工具端點。
  4. 可選地,使用 FastAPI 的依賴注入來配置身份驗證(例如:Depends()),並根據需求自定義文檔或部署。

如何使用 FastAPI-MCP

  1. 將以下內容添加到您的 FastAPI 應用中:
    from fastapi import FastAPI
    from fastapi_mcp import FastApiMCP
    
    app = FastAPI()
    mcp = FastApiMCP(app)
    mcp.mount()
    
  2. 一旦掛載,您的 MCP 伺服器將可在 /mcp 下通過應用的基本 URL 訪問。
  3. 所有兼容的 FastAPI 端點將自動成為 MCP 工具,準備好被 MCP 客戶端調用,包括 LLM 代理。
  4. 端點保留原始架構、驗證和身份驗證邏輯,對 FastAPI 應用的任何更改將反映在 MCP 工具中。
  5. 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 工具的一致輸入驗證和可發現性。