FastAPI-MCP:将 FastAPI 端点作为 AI 工具开放

June 30, 2025

使用 FastAPI-MCP 将 FastAPI 与 AI 工具无缝集成

在快速发展的人工智能领域,将传统 Web API 与先进的 AI 模型(特别是大型语言模型 LLM)连接起来变得越来越重要。FastAPI-MCP 应运而生,它是一个强大的开源解决方案,旨在弥合这一鸿沟,使开发者能够轻松地将他们的 FastAPI 端点暴露为模型上下文协议(Model Context Protocol, MCP)工具。

什么是 FastAPI-MCP?

FastAPI-MCP 是一个强大的 Python 库,能将您现有的 FastAPI 应用转换为 AI 就绪服务。通过实现模型上下文协议,FastAPI-MCP 使您的 API 端点可被各种 AI 代理和大型语言模型发现和使用。这意味着您的 FastAPI 函数可以作为“工具”,供 AI 模型调用以执行特定操作或检索信息。

主要特点和优势:

  • 内置身份验证:FastAPI-MCP 的一大亮点是它与 FastAPI 原生身份验证机制的无缝集成。您可以使用现有的 FastAPI Depends() 进行身份验证和授权,来保护您的 MCP 端点,确保您的 AI 工具在安全范围内运行。

  • FastAPI 原生设计:不同于简单的 OpenAPI 转换器,FastAPI-MCP 从一开始就被设计为 FastAPI 的原生扩展。这种“FastAPI 优先”的方法确保了深度兼容性,并充分利用了 FastAPI 的强大功能,包括其用于高效通信的 ASGI 接口,从而消除了 MCP 到您 API 之间进行 HTTP 调用的需要。

  • 零/极少配置:开始使用 FastAPI-MCP 非常简单。只需几行代码,您就可以将 MCP 服务器直接挂载到您的 FastAPI 应用中,使其即时可供 AI 使用。这种极简设置显著降低了开发开销。

  • 保留模式和文档:FastAPI-MCP 能够准确保留请求和响应模型的模式,与它们在 FastAPI 交互式 Swagger 文档中的显示方式完全一致。这确保了 AI 模型能够收到关于您的 API 输入和输出结构的精确信息。

  • 灵活部署:无论您是喜欢将 MCP 服务器直接挂载到现有的 FastAPI 应用中,还是将其部署为单独的服务,FastAPI-MCP 都能提供灵活性以满足您的架构需求。

实际应用:

想象一个大型语言模型需要从您的电商平台检索实时库存数据。通过 FastAPI-MCP,您可以将 get_product_inventory 端点暴露为 MCP 工具。然后,大型语言模型可以直接与此工具交互以获取所需数据,从而实现更智能、更动态的响应。

此项目非常适合构建 AI 驱动应用、为大型语言模型创建自定义工具,或希望增强现有 FastAPI 服务与 AI 能力的开发者。其开源性质意味着活跃的社区和持续的改进,使其成为任何开发者工具集中宝贵的补充。

入门:

通过 uvpip 安装非常简单:

uv add fastapi-mcp
# 或
pip install fastapi-mcp

对于基本用法,直接将其集成到您的 FastAPI 应用中:

from fastapi import FastAPI
from fastapi_mcp import FastApiMCP

app = FastAPI()

mcp = FastApiMCP(app)

# 将 MCP 服务器直接挂载到您的 FastAPI 应用中
mcp.mount()

您的自动生成的 MCP 服务器将可以通过 https://app.base.url/mcp 访问。

FastAPI-MCP 提供了全面的文档和示例,帮助您探索其全部潜力。通过简化传统 API 与新兴 AI 世界之间的连接,FastAPI-MCP 让开发者能够轻松构建更智能、更具交互性的应用。

原创文章: 查看原文

分享本文