fastapi-mcp-langgraph-template

GitHub
539 77 较难 1 次阅读 4天前MIT插件
AI 解读 由 AI 自动生成,仅供参考

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
GPU

未说明

内存

未说明

依赖
notes该项目主要基于 Docker Compose 进行部署和开发,支持 VSCode Devcontainer。运行前需配置多个环境变量(如 OpenAI API Key, Supabase 连接串,Langfuse 密钥等)。架构包含反向代理(Nginx)、API 服务器及多个 MCP 服务。未明确提及具体的 Python 版本、GPU 或内存硬性要求,具体取决于所连接的 LLM 提供商及本地运行的 MCP 服务负载。
python未说明
FastAPI
SQLModel
LangGraph
Pydantic
MCP (Model Context Protocol)
Supabase
PostgreSQL
PGVector
Langfuse
Nginx
fastapi-mcp-langgraph-template hero image

快速开始

MseeP.ai 安全评估徽章

FastAPI MCP LangGraph 模板

一款用于智能体编排的现代化模板——专为快速迭代和可扩展部署而设计,采用高度可定制、社区支持的工具,如 MCP、LangGraph 等。

访问 GitHub:FastAPI MCP LangGraph 模板 FastAPI MCP LangGraph 模板

[!注意] 请在此处查看带有演示视频的文档:这里。此仓库不包含演示视频。

核心功能

MCP 客户端 是一种开放协议,用于标准化应用程序向大语言模型提供上下文的方式。

  • 可无缝集成大语言模型,并拥有不断增长的社区集成列表,详情请见此处 MCP 服务器
  • 无 LLM 提供商锁定

LangGraph 用于可定制的智能体编排

  • 原生流式传输,适用于复杂的智能体工作流用户体验
  • 原生持久化聊天历史和状态管理

技术栈与特性

  • FastAPI 用于 Python 后端 API
  • SQLModel 用于 Python SQL 数据库交互(ORM + 验证)。
    • 包装了 SQLAlchemy
  • LangFuse 用于 LLM 可观测性和 LLM 指标
  • Pydantic 用于数据验证和设置管理
  • Supabase 用于 DB RBAC
    • PostgreSQL 关系型数据库
    • PGVector 向量存储
  • Nginx 反向代理
  • Compose 用于开发和生产环境

计划中的功能

  • Prometheus 用于抓取指标
  • Grafana 用于可视化指标
  • Auth0 SaaS 提供商,通过 OAuth 2.0 实现 OIDC 和 JWT 的认证与授权
  • 使用 Github Actions 进行 CI/CD
    • :dollar: 将实时演示部署到 Fargate
    • 使用 Terraform IaC 进行资源 provision
    • 将构建好的镜像推送到 ECR 和 Dockerhub

架构

本节概述了服务的架构、它们之间的交互以及计划中的功能。

检查器

检查器通过 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

身份验证与授权

Auth0 流程图

Auth0 来源

快速入门

设置以在生产环境和开发环境中运行该仓库。

使用以下命令构建社区 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 中设置环境变量:(兼容 bashzsh

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

./docs/mcp.md

LangGraph

./docs/langgraph.md

Supabase

./docs/supabase.md

Langfuse

./docs/langfuse.md

Grafana Stack

./docs/grafana-stack.md

星标历史图表

[!NOTE] 点击上方链接查看实时更新的星标历史,根据他们的文章所述: 实时图表持续出现故障 尽管如此,你仍然可以使用该网站查看和下载图表(不过可能需要提供自己的令牌)。

相似工具推荐

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|3天前
插件Agent图像

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 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|6天前
插件开发框架

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|3天前
图像数据工具视频

openai-cookbook

openai-cookbook 是 OpenAI 官方提供的一套实用代码示例与指南合集,旨在帮助开发者快速上手并掌握 OpenAI API 的核心用法。面对大模型应用中常见的提示词工程、函数调用、数据嵌入及复杂任务编排等挑战,新手往往难以找到标准化的实现路径。openai-cookbook 通过提供经过验证的代码片段和详细教程,有效解决了“如何从零开始构建应用”以及“如何最佳实践特定功能”的痛点。 这套资源主要面向软件开发者和 AI 技术研究人员,同时也适合希望深入理解大模型能力的技术爱好者。虽然示例代码主要以 Python 编写,但其背后的设计思路和技术逻辑具有通用性,可轻松迁移至其他编程语言。其独特亮点在于内容紧跟官方最新特性更新,覆盖了从基础文本生成到高级代理(Agent)构建的全场景需求,且所有示例均支持在本地环境直接运行调试。作为开源项目,它采用宽松的 MIT 许可证,鼓励社区贡献与二次开发,是学习大模型应用开发不可或缺的实战手册。

72.7k|★★☆☆☆|2天前
语言模型插件

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

71.1k|★★★☆☆|昨天
语言模型Agent开发框架

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 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。

70.6k|★★☆☆☆|今天
Agent插件