返回市场
语言图快照FastAPI-MCP服务器示例

语言图快照FastAPI-MCP服务器示例

作者:davidkiss5 星标更新:2025-07-01

项目介绍

LangGraph FastAPI MCP Server Demo

这是一个示例项目,它将一个购物清单的FastAPI应用程序转变为一个MCP服务器,并连接了一个基于LangGraph的聊天机器人到该MCP服务器,以便通过聊天管理用户的购物清单。

观看视频

技术栈

  • FastAPI:一个现代、快速(高性能)的Web框架,用于使用Python 3构建API
  • FastAPI-MCP:一个开源库,可以将您的FastAPI端点暴露为模型上下文协议(MCP)工具(带认证)
  • MCP(模型上下文协议):一个开放协议,便于AI模型与外部数据源或工具之间的无缝交互
  • LangChain:一个开源框架,帮助开发者构建由大型语言模型(LLMs)驱动的应用程序
  • LangGraph:一个由LangChain提供的开源框架,用于使用基于图的架构构建和管理复杂的AI代理
  • ChatGPT:OpenAI提供的一款流行的大型语言模型
  • Gradio:一个流行的开源库,用于为机器学习模型构建Web界面。本项目使用Gradio创建了聊天机器人的Web界面。
  • LangSmith:一个由LangChain提供的开源框架,用于跟踪和监控LLM应用程序。
  • uv:一个快速的开源Python包管理器——作为pipcondavirtualenv的替代品。

快速开始

1. 安装 uv

如果您还没有安装,请按照这里的说明进行安装。

2. 安装依赖项

uv sync

3. 设置OpenAI API密钥

在项目根目录下创建一个.env文件:

# .env
OPENAI_API_KEY=your-openai-api-key-here

4. 运行FastAPI应用

uv run uvicorn server.main:app --host 0.0.0.0 --port 8000 --reload

访问http://localhost:8000/docs尝试FastAPI应用

5. 运行聊天机器人

uv run chatbot.py

聊天机器人将在http://localhost:7860可用

使用示例

在聊天机器人中尝试以下示例查询:

  • "我需要买个西瓜"
  • "我的购物清单里有什么?"
  • "让我们添加意大利面和番茄酱"
  • "我已经买了西瓜"
  • "移除番茄酱"
  • "我还需要多一份意大利面"

依赖项

  • LangGraph:用于创建React代理
  • Gradio:用于聊天界面
  • LangChain OpenAI:用于语言模型集成
  • LangChain Core:用于工具定义
  • FastAPI:用于MCP服务器
  • SQLAlchemy:用于数据库操作

许可证

本项目是开源的,并且在MIT许可证下可用。