2025年4月23日星期三

开源项目FastAPI-MCP,一键将FastAPI转换成MCP服务器,以后API=MCP。

这是我这个月看过的最有价值的开源项目了。MCP发布之后,很多粉丝朋友都有疑问,MCP跟API有什么区别呢?简

这是我这个月看过的最有价值的开源项目了。


MCP发布之后,很多粉丝朋友都有疑问,MCP跟API有什么区别呢?


简单来说,MCP就是规定格式的API,这样才可以被AI模型来调用。


现在有海量的API,但都没有做成MCP,如果你想调用的话还要重新去写一遍,很麻烦!


FastAPI-MCP的出现,解决了这个问题,它能把FastAPI转换成MCP。


而且非常简单,只需要复制一段代码加进去就能用了。


这就是他牛的地方。


FastAPI都实现了,其他的像是Gin、Spring Boot这些还会远吗?


以后就可以认为,API=MCP了。


项目简介


FastAPI-MCP能自动把FastAPI端点转化为MCP工具。它可直接集成到 FastAPI 应用中,无需复杂配置,自动发现并转换所有端点,还能保留请求和响应模型的架构以及端点文档。支持 Python 3.10+,采用 MIT 许可协议,让开发者轻松实现 FastAPI 与 MCP 的高效对接。


DEMO



功能特点


集成与配置特性


  • 直接集成:可直接将 MCP 服务器挂载到 FastAPI 应用中。


  • 零配置:只需指向 FastAPI 应用即可工作,无需复杂配置。


  • 灵活部署:既可以将 MCP 服务器挂载到同一应用,也能单独部署。


端点处理特性


  • 自动发现:能够自动发现所有 FastAPI 端点,并将其转换为 MCP 工具。


  • 工具命名:使用 FastAPI 路由中的 operation_id 作为 MCP 工具名称,建议显式指定以获得更清晰直观的工具名。


模式与文档特性


  • 保留模式:保留请求模型和响应模型的模式。


  • 保留文档:保留所有端点的文档,如同在 Swagger 中一样。


高级配置特性


  • 自定义模式描述:可以在工具描述中包含所有可能的响应模式以及完整的 JSON 模式。


  • 自定义暴露端点:可通过 include_operations、exclude_operations、include_tags、exclude_tags 等参数对暴露的端点进行筛选。


使用方法


简单的离谱。。。小学生都能操作。


首先,你需要安装一个python包。


然后复制下面这段代码放到FastAPI里就行了。。。


from fastapi import FastAPIfrom fastapi_mcp import FastApiMCPapp = FastAPI()mcp = FastApiMCP(    app,    # Optional parameters    name="My API MCP",    description="My API description",    base_url="http://localhost:8000",)# Mount the MCP server directly to your FastAPI appmcp.mount()


虽然但是,就这么容易。


项目链接


https://github.com/tadata-org/fastapi_mcp



 关注「开源AI项目落地」公众号

与AI时代更靠近一点

没有评论:

发表评论

办公领域新黑马! “办公小浣熊” 横空出世

点击上方卡片关注 不要错过精彩文章 📌 持续更新有关Agent的最新搭建思路和工作流分享,希望能给您带来帮助,点一点上方的🔵蓝色小字关注,你的支持是我最大的动力!🙏谢谢啦!🌟"  大家好!我是唐舰长🙏 AI的作用就是提高效率,一个合适的工具能帮助打工人早早...