FastAPI-MCP:将 FastAPI 端点作为 AI 工具开放
使用 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 能力的开发者。其开源性质意味着活跃的社区和持续的改进,使其成为任何开发者工具集中宝贵的补充。
入门:
通过 uv
或 pip
安装非常简单:
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 让开发者能够轻松构建更智能、更具交互性的应用。