这是我这个月看过的最有价值的开源项目了。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 FastAPI
from fastapi_mcp import FastApiMCP
app = 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 app
mcp.mount()
虽然但是,就这么容易。
项目链接
https://github.com/tadata-org/fastapi_mcp
关注「开源AI项目落地」公众号
与AI时代更靠近一点
没有评论:
发表评论