三步搭出零配置MCP网关:FastAPI分布式部署实战

发布时间:2026/11/8 23:34:32

三步搭出零配置MCP网关:FastAPI分布式部署实战 三步搭出零配置MCP网关FastAPI分布式部署实战【免费下载链接】fastapi_mcpExpose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth!项目地址: https://gitcode.com/GitHub_Trending/fa/fastapi_mcp3 个 FastAPI 服务0 行胶水代码FastAPI-MCP 会把每个端点自动转成 MCP 工具把整套服务暴露成零配置的 MCP 网关接管微服务通信的最后一公里。下面从装包到独立网关本地跑通全程照着做即可。5分钟跑通第一个MCP网关先确认环境Python 3.8 以上FastAPI 0.100.0 以上。装包一条命令uv add fastapi-mcp # 或 pip install fastapi-mcp然后是完整的最小可运行示例from fastapi import FastAPI from fastapi_mcp import FastApiMCP app FastAPI(title商品服务) app.get(/items/{item_id}) async def read_item(item_id: int, q: str | None None): return {item_id: item_id, q: q} mcp FastApiMCP(app) # 读完 OpenAPI端点逐个变成 MCP 工具 mcp.mount_http() # 挂到默认路径 /mcp if __name__ __main__: import uvicorn uvicorn.run(app, host0.0.0.0, port8000)启动后用 MCP Inspector 验证另开终端执行npx modelcontextprotocol/inspector地址填http://127.0.0.1:8000/mcpTools 面板点 List Tools能看到read_item就说明链路通了。从写完FastApiMCP(app)那一刻起所有接口都已是 MCP 工具你一行包装代码都不用写。MCP网关在系统里的位置三种部署模式对比部署模式做法适合场景单进程内嵌mount_http()不传参网关与业务同进程单服务、快速验证独立网关FastApiMCP(业务app)后mount_http(mcp_app)挂到新建的空应用上聚合多个业务服务业务 HTTP 接口不再直接对外多实例 负载均衡独立网关起多份前面挂负载均衡器生产环境高可用独立模式有两个值得注意的细节。第一默认情况下网关进程内通过 ASGI 直接调用业务应用的路由不走网络往返所以分开部署指的是分开两个 FastAPI 应用、分开两份配置而不是必须拆成两台机器。第二业务应用的原始 HTTP 接口不会随网关一起暴露出去外部只能经 MCP 协议访问。完整写法见 独立部署示例。需要真正跨机器调用远端服务时给FastApiMCP传一个设置了base_url的httpx.AsyncClient调用就会走真实网络。SSE还是HTTP一张表选明白对比项mount_http()mount_sse()协议规范MCP Streamable HTTP最新SSE旧版默认挂载路径/mcp/sse会话管理支持可选会话连接处理更健壮长连接事件流适合客户端新版客户端或mcp-remote桥接只支持 SSE 的旧客户端新项目直接选 HTTP只有需要兼容旧客户端时才上 SSE。挂载路径也可以自定义挂到APIRouter上时mount_path会接在 router 的 prefix 后面from fastapi import APIRouter router APIRouter(prefix/api/v1) mcp.mount_http(router, mount_path/my-mcp) # 最终路径 /api/v1/my-mcp app.include_router(router)客户端怎么接两套JSON配置主流 MCP 客户端Claude Desktop、Cursor、Windsurf 等用同一套mcpServers格式只改 URL。HTTP 传输{ mcpServers: { fastapi-mcp: { url: http://localhost:8000/mcp } } }SSE 传输把 URL 换成/sse{ mcpServers: { fastapi-mcp: { url: http://localhost:8000/sse } } }客户端只支持 stdio、或需要走 OAuth 流程时用npx mcp-remote做桥接具体写法见 快速入门 里的 mcp-remote 一节。MCP网关生产部署检查清单启用 OAuth 认证构造AuthConfig传入FastApiMCP字段含义见 认证文档网关默认会把authorization头转发给业务接口token 透传写法参考 Token 透传示例前置 HTTPS 终结把 TLS 交给网关前面的反向代理网关实例之间走内网配置请求限流在负载均衡器或反向代理层按来源限流挡住异常放大接入指标与日志Prometheus 采集网关指标日志格式复用examples/shared/setup.py里的setup_logging()处理会话粘连HTTP 传输按会话管理连接多实例部署时给负载均衡器开启粘滞路由容易踩的坑4个常见误区误区mount 之后再补端点以为会自动注册。工具列表在FastApiMCP(...)构造时一次性生成之后不会跟着路由表更新。正解把端点定义全部放在构造调用之前确需后补的调用mcp.setup_server()重建见 工具重注册示例。误区以为网关能自动发现远端微服务。它只读取你传入的那个应用默认还是进程内调用。正解跨机器时在构造参数里注入带base_url的httpx.AsyncClient。误区客户端 URL 与挂载路径不一致。HTTP 默认/mcp、SSE 默认/sse走APIRouter时 prefix 也是路径的一部分。正解客户端url填完整最终路径与网关日志里打印的监听路径逐字对齐。误区慢接口照跑不误。内置 HTTP 客户端超时偏短长耗时接口会被掐断。正解注入自定义客户端调超时见 超时配置示例。继续深入快速入门从零到客户端连通的完整流程含 mcp-remote 用法认证配置AuthConfig字段与 OAuth 代理的完整说明部署指南更多生产部署场景贡献指南想给项目提代码从这里找入口如果网关已经接上客户端下一步建议读 工具命名规范给多个服务统一一套工具命名卡住的问题先翻 FAQ。【免费下载链接】fastapi_mcpExpose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth!项目地址: https://gitcode.com/GitHub_Trending/fa/fastapi_mcp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/6 9:37:27

智能体落地办公场景:从套件架构到工程化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/8 3:54:20

DeepSeek 4.1 Flash部署避坑指南:DSH、CLI与API协同原理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/8 23:33:07

中级电工证什么职称?南阳在职建筑工人良心建议来了

中级电工证什么职称?南阳在职建筑工人良心建议来了 你是不是也遇到过这种情况:工地电工证到期了,想要升级中级电工证,但不知道去哪儿报,怕被中介坑?现在网上信息太多,真假难辨,一不小心就花了冤枉钱,还耽误了工作。别担心,今天我就从一个南阳在职建…

2026/11/8 23:33:07

电工证多久安排考试 通过率揭秘 这些细节你必须知道

电工证多久安排考试 通过率揭秘 这些细节你必须知道 你是不是也像我一样,一听说要考电工证就头大? 不知道去哪报名怕被中介坑 ,怕花冤枉钱还拿不到证,更怕考试不过白忙一场。今天我就用10年经验,带你搞懂【电工证多久安排考试】,还有…

2026/11/8 23:33:07

烟台幸福学电工证在哪考?学历不高怕报不上名?这样操作最稳妥

烟台幸福学电工证在哪考?学历不高怕报不上名?这样操作最稳妥 你是不是也担心学历不高,考不了烟台幸福学电工证?其实,只要符合条件,学历不是最大的障碍。关键是要知道【在哪考】、怎么准备、流程是怎样的。今天就带你一步步了解,怎么顺利考下烟台幸福学…

2026/11/8 23:22:43

考了高级电工证无用?别急,网上查询一下就知道了

考了高级电工证无用?别急,网上查询一下就知道了 你学历不高,怕报不上名?其实不然,考了高级电工证无用这个说法,在很多人看来是误解。但确实,有些电工证考下来后,并不能在实际工作中发挥应有的价值,这让你觉得白费了时间、精力和金钱。别担心,我们一…

2026/11/8 0:00:27

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/8 0:00:27

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/7 14:54:47

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/7 14:50:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑