FastAPI-MCP 刚刚打破了 AI 积分游戏!🚀

忘记笨重 AI 整合! FastAPI-MCP 已经突破了天花板's 将 Python API 连接到 AI 模型。这个零设置工具将普通的 FastAPI 端点转换为 MCP 兼容动力装置 这 AI 代理可以立即使用——无需重写一行代码!
为什么要与复杂作斗争 AI 尽可能建立联系 公开你的整个 API 只需三行 Python 代码?您现有的身份验证、文档和架构保持不变,同时 AI 模型 像 Claude 和 GPT 这样的公司可以直接访问您的服务。
MTT综合医学训练疗法国际教学中心 AI 景观需要使用工具的模型,并且 FastAPI-MCP 提供 正是开发人员所需要的。
FastAPI-MCP 是一件大事 AI 爱好者
FastAPI-MCP 不仅仅是一个库;它更是让你的 API 轻松实现 AI 友好的门户。想象一下,你的聊天机器人不仅可以回答问题,还能从你的应用中提取实时数据来实时解决问题。这就是 MCP 的魔力,它 Anthropic 的开放标准,与 FastAPI 的速度和简单性相结合。

这个组合让 AI 模型可以轻松地接入外部工具,FastAPI-MCP 可自动执行此过程,并保留您的 API 架构和文档。统计数据显示,集成 AI 使用 API 可以将某些工作流程中的自动化效率提高高达 60% - 非常令人印象深刻,对吧?
什么使 FastAPI-MCP 脱颖而出?
- 零配置设置:指向你的 FastAPI 应用,然后就好了——这是一个 MCP 服务器,可以 AI 互动。
- 模式保存:保持您的请求和响应模型完整,以实现无缝 AI ���⡣
- 灵活部署:在您的应用程序内运行它或作为独立服务运行它,以实现更好的扩展性和安全性。
- 内置身份验证:利用您现有的 FastAPI 安全设置实现安全访问。
这不仅仅是为了技术而技术,而是为了让你的应用更智能、更易于操作 AI 系统,无论你从事营销、开发还是 数据科学.
入门:设置 FastAPI-MCP
让我们撸起袖子,开始这场盛宴吧!以下是将 FastAPI 应用转换为 MCP 服务器的分步指南,该服务器 AI 中介代理 可以像专业人士一样使用。
第三步: 安装所需的工具
首先,确保你的系统已准备就绪。你需要 Python 3.7 及以上版本和一些软件包。使用 uv 可以更快地安装,或者继续使用老版本的 pip:
打坏
# Using uv (recommended for speed)
uv add fastapi-mcp fastapi uvicorn mcp-proxy
# Or with pip
pip install fastapi fastapi-mcp uvicorn mcp-proxy
这些软件包涵盖了 Web 框架(FastAPI)、服务器运行器(Uvicorn)、MCP 集成(fastapi-mcp)以及客户端连接代理(mcp-proxy)。
第三步: 构建一个简单的 FastAPI 应用
让我们创建一个基本的应用程序来获取天气数据(我们使用免费的 weather.gov API 对于本示例)。创建一个名为 main.py 的文件并添加以下内容:
蟒蛇
from fastapi import FastAPI, HTTPException, Query
import httpx
# Define the FastAPI app
app = FastAPI(title="Weather Updates API")
# Predefined city coordinates (for simplicity)
CITY_COORDINATES = {
"Los Angeles": {"lat": 34.0522, "lon": -118.2437},
"San Francisco": {"lat": 37.7749, "lon": -122.4194},
"San Diego": {"lat": 32.7157, "lon": -117.1611},
"New York": {"lat": 40.7128, "lon": -74.0060},
"Chicago": {"lat": 41.8781, "lon": -87.6298},
}
@app.get("/weather", operation_id="get_weather_update")
async def get_weather(
stateCode: str = Query(..., description="State code (e.g., 'CA' for California)"),
city: str = Query(..., description="City name (e.g., 'Los Angeles')")
):
"""
Retrieve today's weather from the National Weather Service API based on city and state.
"""
if city not in CITY_COORDINATES:
raise HTTPException(
status_code=404,
detail=f"City '{city}' not found in predefined list. Please use another city."
)
coordinates = CITY_COORDINATES[city]
lat, lon = coordinates["lat"], coordinates["lon"]
base_url = f"https://api.weather.gov/points/{lat},{lon}"
try:
async with httpx.AsyncClient() as client:
gridpoint_response = await client.get(base_url)
gridpoint_response.raise_for_status()
gridpoint_data = gridpoint_response.json()
forecast_url = gridpoint_data["properties"]["forecast"]
forecast_response = await client.get(forecast_url)
forecast_response.raise_for_status()
forecast_data = forecast_response.json()
today_weather = forecast_data["properties"]["periods"][0]
return {
"city": city,
"state": stateCode,
"date": today_weather["startTime"],
"temperature": today_weather["temperature"],
"temperatureUnit": today_weather["temperatureUnit"],
"forecast": today_weather["detailedForecast"],
}
except httpx.HTTPStatusError as e:
raise HTTPException(
status_code=e.response.status_code,
detail=f"NWS API error: {e.response.text}"
)
except Exception as e:
raise HTTPException(
status_code=500,
detail=f"Internal server error: {str(e)}"
)
注意 operation_id=”get_weather_update” - 这使得工具名称清晰易懂 AI 代理。如果没有它,FastAPI 会生成不太友好的 ID。
第三步: 转换为 MCP 服务器
现在,让我们使用 FastAPI-MCP 让这个应用支持 AI。在 main.py 中添加以下几行:
蟒蛇
from fastapi_mcp import FastApiMCP
# Create and mount the MCP server
mcp = FastApiMCP(
app,
name="Weather Updates API",
description="API for retrieving today's weather from weather.gov",
base_url="http://localhost:8000"
)
mcp.mount()
# Run the app
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
就这样!你的 MCP 服务器已上线,地址是 http://localhost:8000/mcp。 AI 代理现在可以发现并使用您的天气端点作为工具。
第三步: 连接到 AI 客户
为了测试这一点,配置如下客户端 游标 IDE 或 Claude Desktop。编辑配置文件(位置因工具而异,通常在用户应用程序数据中)以指向您的 MCP 服务器:
JSON
"mcpServers": {
"WeatherAPI": {
"command": "mcp-proxy",
"args": ["http://127.0.0.1:8000/mcp"]
}
}
重启客户端,一切就绪。你可以问类似“圣地亚哥的天气怎么样?”的问题,然后观察 AI 使用您的 API 来获取数据。
高级技巧:自定义您的 FastAPI-MCP 设置
想要升级?FastAPI-MCP 提供了丰富的选项,可以根据特定需求调整设置。
过滤端点 AI 访问
并非所有端点都应该 AI 工具。控制哪些工具是公开的:
蟒蛇
mcp = FastApiMCP(
app,
name="Weather Updates API",
base_url="http://localhost:8000",
include_operations=["get_weather_update"], # Only expose this endpoint
include_tags=["public"] # Or filter by tags
)
mcp.mount()
这使得敏感或内部端点无法 AI 达到。
独立服务器部署
对于更大的项目,请将 MCP 服务器与主 API 分开运行,以实现更好的扩展:
蟒蛇
from fastapi import FastAPI
from fastapi_mcp import FastApiMCP
# Main API app
api_app = FastAPI()
# Define endpoints on api_app...
# Separate MCP app
mcp_app = FastAPI()
mcp = FastApiMCP(api_app, base_url="http://api-host:8001")
mcp.mount(mcp_app)
# Run separately
# uvicorn api_app --host api-host --port 8001
# uvicorn mcp_app --host mcp-host --port 8000
此设置允许您独立管理资源和安全。
变更后更新
添加了新端点?请刷新 MCP 服务器:
蟒蛇
@app.get("/new/weather/feature", operation_id="new_weather_feature")
async def new_feature():
return {"message": "New weather feature!"}
mcp.setup_server() # Refresh to include the new endpoint
这样可以确保 AI 代理商看到最新的工具。
实际应用: FastAPI-MCP 照
FastAPI-MCP 不仅仅是一个炫酷的玩具,它在各个行业都拥有巨大的潜力。以下是它如何掀起波澜的:
有什么突出的优势?研究表明,使用 AI 集成 API 的企业可以实现 运行速度提高30%。这是您无法忽视的竞争优势!
需要牢记的挑战和技巧
事情并非一帆风顺。连接 AI API 可能会遇到安全风险或端点过载等问题。以下是如何保持警惕的方法:
- 保护您的端点:使用 FastAPI 的内置身份验证来限制 MCP 访问。不要将管理工具暴露给 AI 沒有檢查。
- 监控使用情况: AI 代理可能会发送垃圾请求。请设置速率限制以避免崩溃。
- 彻底测试:上线前,进行模拟 AI 查询以确保响应准确且快速。
最后的思考: FastAPI MCP 一切都改变了!
FastAPI MCP 并非只是炒作,而是真正适合任何构建 人工智能工具、RAG 系统或下一代聊天机器人。零配置、自动发现和无缝 AI 整合,你可以 将您的 API 转变为 LLM 和代理的强大工具 只需几分钟。无需胶水代码,无需自定义包装器——只需干净、可扩展、支持 AI 的端点。
如果你是认真的 AI 自动化、代理工作流,或者只是想让你的 API 与最新的 LLM 兼容,FastAPI MCP 应该是你的首选工具包。试试看,看看你的 AI 堆栈加速。
想要更多实践 AI 指南、代码和专业提示?
敬请关注 爱莫乔 最新的 AI 工具、代理工作流程和 LLM 黑客。


