fastapi-mcp-langgraph-template
fastapi-mcp-langgraph-template 是一个专为构建现代 AI 智能体(Agentic)编排系统设计的开源项目模板。它旨在帮助开发者快速搭建具备高可扩展性的后端服务,解决在开发复杂 AI 工作流时面临的环境配置繁琐、技术栈整合困难以及部署扩展性不足等痛点。
该模板特别适合希望快速原型验证并迈向生产级部署的 Python 后端开发者与 AI 工程师。其核心优势在于巧妙融合了多项前沿社区工具:利用 MCP(模型上下文协议)实现与大语言模型的标准化对接,避免厂商锁定;借助 LangGraph 强大的状态管理和原生流式传输能力,轻松构建复杂的智能体协作流程;同时集成 FastAPI 提供高性能 API 支持,配合 SQLModel 简化数据库交互,并通过 LangFuse 和 Supabase 分别实现可观测性与用户权限管理。
无论是需要构建多步骤自动化任务的研究人员,还是致力于开发企业级 AI 应用的工程团队,fastapi-mcp-langgraph-template 都能提供一个坚实、灵活且易于定制的起点,让创作者将更多精力聚焦于业务逻辑与创新,而非重复的基础设施建设。
使用场景
某电商初创团队正急需构建一个能自动处理售后退款、查询库存并生成分析报告的智能客服代理系统。
没有 fastapi-mcp-langgraph-template 时
- 集成混乱且重复造轮子:开发人员需手动拼接 FastAPI、LangChain 和数据库连接代码,缺乏统一标准,导致每次新增功能都要重新调试接口兼容性。
- 复杂流程难以管控:在处理“核实订单 - 检查库存 - 执行退款”的多步代理工作流时,缺乏原生的状态管理机制,对话上下文容易丢失,错误恢复极其困难。
- 黑盒运行无法观测:LLM 的决策过程和 API 调用链路完全不透明,出现幻觉或逻辑错误时,团队只能靠猜排查,缺乏如 LangFuse 这样的内置监控手段。
- 扩展性与锁定风险:硬编码的逻辑使得切换大模型供应商或接入新的外部工具(如新的 ERP 系统)成本极高,严重受制于特定厂商绑定。
使用 fastapi-mcp-langgraph-template 后
- 标准化快速启动:直接基于模板部署,预集成了 FastAPI 后端与 MCP 协议,开发人员可立即通过标准化的社区服务器接入各类外部工具,无需重复编写底层胶水代码。
- 可视化编排复杂任务:利用 LangGraph 原生支持的状态机和工作流持久化,清晰定义退款代理的判断分支与循环逻辑,即使中断也能精准恢复对话状态。
- 全链路可观测性:内置 LangFuse 和 Grafana 栈,实时追踪每个代理步骤的耗时、Token 消耗及决策依据,让调试和优化变得有据可依。
- 灵活架构自由扩展:借助 MCP 开放协议解耦了模型与工具,团队可随时替换底层 LLM 或动态挂载新的数据源,彻底摆脱厂商锁定,从容应对业务增长。
fastapi-mcp-langgraph-template 将原本需要数周搭建的复杂代理架构缩短至几天,让团队能专注于核心业务逻辑而非基础设施的反复试错。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
FastAPI MCP LangGraph 模板
一款用于智能体编排的现代化模板——专为快速迭代和可扩展部署而设计,采用高度可定制、社区支持的工具,如 MCP、LangGraph 等。
[!注意] 请在此处查看带有演示视频的文档:这里。此仓库不包含演示视频。
核心功能
是一种开放协议,用于标准化应用程序向大语言模型提供上下文的方式。
- 原生流式传输,适用于复杂的智能体工作流用户体验
- 原生持久化聊天历史和状态管理
技术栈与特性
用于 Python 后端 API
用于 Python SQL 数据库交互(ORM + 验证)。
用于 LLM 可观测性和 LLM 指标
用于数据验证和设置管理
用于 DB RBAC
反向代理
用于开发和生产环境
计划中的功能
架构
本节概述了服务的架构、它们之间的交互以及计划中的功能。
检查器
检查器通过 SSE 协议与每个 MCP 服务器通信,而每个服务器则遵循 MCP 规范。
graph LR
subgraph localhost
A[检查器]
B[DBHub 服务器]
C[Youtube 服务器]
D[自定义服务器]
end
subgraph Supabase 云
E[Supabase 数据库]
end
subgraph Google 云
F[Youtube API]
end
A<-->|协议|B
A<-->|协议|C
A<-->|协议|D
B<-->E
C<-->F
模板设置
当前模板并未连接所有 MCP 服务器。此外,API 服务器使用 SQL ORM 与数据库进行通信。
graph LR
subgraph localhost
A[API 服务器]
B[DBHub 服务器]
C[Youtube 服务器]
D[自定义服务器]
end
subgraph Supabase 云
E[Supabase 数据库]
end
A<-->|协议|D
A<-->E
反向代理
可以扩展以支持其他服务,例如前端和/或某些后端服务,这些服务可以选择在本地托管而非云端运行(例如 Langfuse)。
graph LR
A[Web 浏览器]
subgraph localhost
B[Nginx 反向代理]
C[API 服务器]
end
A-->B
B-->C
计划中的功能图
监控与可观测性
graph LR
subgraph 本地主机
A[API服务器]
end
subgraph Grafana Cloud
B[Grafana]
end
subgraph Langfuse Cloud
C[Langfuse]
end
A -->|指标与日志| B
A -->|追踪与事件| C
身份验证与授权

快速入门
设置以在生产环境和开发环境中运行该仓库。
使用以下命令构建社区 YouTube MCP 镜像:
./community/youtube/build.sh
:::tip
与其在本地克隆或子模块化仓库后再构建镜像,不如使用此脚本在一个临时的 Docker-in-Docker 容器中构建 Docker 镜像。这种方法避免了将一次性文件污染到你的本地环境,因为容器退出后会清理所有内容。
:::
然后使用以下命令构建其他镜像:
docker compose -f compose-dev.yaml build
复制环境文件:
cp .env.sample .env
将你的 API 密钥和值添加到相应的文件中:./envs/backend.env、./envs/youtube.env 和 .env。
OPENAI_API_KEY=sk-proj-...
POSTGRES_DSN=postgresql://postgres...
LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...
LANGFUSE_HOST=https://cloud.langfuse.com
ENVIRONMENT=production
YOUTUBE_API_KEY=...
在 shell 中设置环境变量:(兼容 bash 和 zsh)
set -a; for env_file in ./envs/*; do source $env_file; done; set +a
启动生产容器:
docker compose up -d
开发
首先,按照上述步骤设置环境变量。
VSCode Devcontainer
:::warning
仅当你计划在 VSCode 中为 FastAPI 服务器启动调试器时才替换以下内容。
:::
将 ./compose-dev.yaml 的入口点替换为允许调试 FastAPI 服务器的配置:
api:
image: api:prod
build:
dockerfile: ./backend/api/Dockerfile
# highlight-next-line
entrypoint: bash -c "sleep infinity"
env_file:
- ./envs/backend.env
然后:
code --no-sandbox .
按下 F1 键并输入 Dev Containers: Rebuild and Reopen in Container,即可打开带有 IntelliSense 和 FastAPI 调试器的容器化环境。
不使用 VSCode Devcontainer
使用以下命令运行开发环境:
docker compose -f compose-dev.yaml up -d
调试
有时在开发过程中,Nginx 反向代理需要重新加载其配置才能正确路由服务。
docker compose -f compose-dev.yaml exec nginx sh -c "nginx -s reload"
重构后的 Markdown 文件
以下 Markdown 文件提供了关于其他功能的更多详细信息:
MCP
LangGraph
Supabase
Langfuse
Grafana Stack
[!NOTE] 点击上方链接查看实时更新的星标历史,根据他们的文章所述: 实时图表持续出现故障 尽管如此,你仍然可以使用该网站查看和下载图表(不过可能需要提供自己的令牌)。
相似工具推荐
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
openai-cookbook
openai-cookbook 是 OpenAI 官方提供的一套实用代码示例与指南合集,旨在帮助开发者快速上手并掌握 OpenAI API 的核心用法。面对大模型应用中常见的提示词工程、函数调用、数据嵌入及复杂任务编排等挑战,新手往往难以找到标准化的实现路径。openai-cookbook 通过提供经过验证的代码片段和详细教程,有效解决了“如何从零开始构建应用”以及“如何最佳实践特定功能”的痛点。 这套资源主要面向软件开发者和 AI 技术研究人员,同时也适合希望深入理解大模型能力的技术爱好者。虽然示例代码主要以 Python 编写,但其背后的设计思路和技术逻辑具有通用性,可轻松迁移至其他编程语言。其独特亮点在于内容紧跟官方最新特性更新,覆盖了从基础文本生成到高级代理(Agent)构建的全场景需求,且所有示例均支持在本地环境直接运行调试。作为开源项目,它采用宽松的 MIT 许可证,鼓励社区贡献与二次开发,是学习大模型应用开发不可或缺的实战手册。
OpenHands
OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。
gstack
gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置,旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战,gstack 提供了一套标准化解决方案,帮助开发者实现堪比二十人团队的高效产出。 这套配置特别适合希望提升交付效率的创始人、技术负责人,以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具,涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令(如 `/review` 进行代码审查、`/qa` 执行测试、`/plan-ceo-review` 规划功能),即可自动化处理从需求分析到部署上线的全链路任务。 所有操作基于 Markdown 和斜杠命令,无需复杂配置,完全免费且遵循 MIT 协议。gstack 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。

