FastAPI-MCP

FastAPI-MCP是一款开源MCP工具,可轻松将现有FastAPI端点转换为MCP工具,实现与AI模型和客户端的无缝AI集成。无需重写API即可拥抱MCP生态。

FastAPI-MCP
FastAPI-MCP能力展示

FastAPI-MCP 解决方案概述

FastAPI-MCP 是一款专为 Python FastAPI 开发者设计的开源集成工具,旨在将您现有的 FastAPI 端点快速转换为符合模型上下文协议 (MCP) 的工具。它通过自动发现并映射您的 API 路由,使 AI 模型能够通过兼容的 MCP 客户端(如 Cursor、Windsurf 等)直接与您的应用程序功能进行交互。开发者仅需添加几行代码,即可将强大的 Web 服务能力无缝暴露给 AI,无需重写现有逻辑或学习新框架。其核心价值在于极大简化了 MCP 的集成过程,让开发者能够轻松利用现有 FastAPI 应用增强 AI 功能,加速 AI 驱动型应用的开发和部署,同时还支持扩展自定义 MCP 工具以满足特定需求。

FastAPI-MCP 核心能力

自动FastAPI端点转换

FastAPI-MCP的核心价值在于其能够自动将现有的FastAPI应用程序接口(API)端点转换为符合模型上下文协议(MCP)规范的工具。该功能通过内省FastAPI应用实例来实现,自动发现所有已定义的HTTP路由(如GET, POST, PUT, DELETE等操作对应的路径),并将它们映射为MCP工具定义。这意味着开发者无需手动为每个API端点编写对应的MCP工具描述、参数模式和执行逻辑。这个过程是“零配置”的,极大地简化了将现有Web服务接入MCP生态系统的过程。对于AI模型而言,这使得它们能够像调用函数一样,通过MCP客户端直接利用这些转换后的API端点来获取信息或执行操作,无需理解底层的HTTP细节。例如,一个拥有/users/{user_id} GET端点的FastAPI应用,在使用FastAPI-MCP后,会自动暴露一个名为get_user_by_id(或类似名称)的MCP工具,AI模型可以通过提供user_id参数来调用此工具并获取用户信息。这解决了开发者需要耗费大量时间重写或封装现有业务逻辑以适应AI交互的问题,显著降低了采用MCP的门槛。

极简代码集成MCP

FastAPI-MCP提供了极其简洁的方式将MCP服务器功能集成到现有的FastAPI应用程序中。开发者只需导入add_mcp_server函数,并在其FastAPI应用实例上调用该函数,即可快速启用MCP服务。如示例代码所示,仅需几行Python代码,就可以指定MCP服务器的挂载路径(例如/mcp)和名称,框架会自动处理剩余的设置,包括协议握手、工具列表提供以及请求处理等。这种集成方式避免了开发者学习新的框架或重构现有代码库的需要,可以直接利用熟悉的FastAPI环境。对于AI模型,这意味着开发者可以迅速将整个FastAPI应用的强大功能暴露给它们,增强AI处理特定领域任务的能力。例如,一个内部数据分析平台的FastAPI后端,通过添加add_mcp_server(app, mount_path="/mcp", name="DataAnalysisMCP"),其所有数据查询和处理端点就能立刻被授权的AI模型通过MCP协议访问和使用,解决了快速将内部服务能力赋予AI助手的难题。这种易用性是其在MCP生态系统中的独特优势,促进了基于流行Python Web框架的MCP服务器的快速开发和部署。

混合工具定义能力

除了自动转换FastAPI端点外,FastAPI-MCP还支持开发者在其MCP服务器中添加自定义的MCP工具。这意味着自动生成的工具集可以与手动编写的、更复杂或特定于AI交互逻辑的工具并存。这种混合定义能力提供了极大的灵活性。自动转换功能适用于那些直接映射到API端点的简单操作,而自定义工具则可以用于实现那些需要调用多个API端点、执行复杂数据处理、或者与外部系统交互的复杂任务流。对于AI模型,这提供了更丰富、更强大的工具集,使其能够执行超出简单API调用范围的任务。例如,一个电商平台的FastAPI应用可能自动生成了get_productcreate_order等MCP工具。开发者可以额外添加一个自定义的recommend_products工具,该工具内部逻辑可能调用用户历史记录API、产品信息API,并运行一个推荐算法,最终返回一个为特定用户量身定制的产品列表。这种能力解决了仅靠自动转换无法满足所有AI交互需求的限制,使得开发者能够根据AI模型的具体应用场景,精确地设计和提供最有效的工具,增强了MCP服务器的实用性和智能化水平。