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

技术栈
- 快速API:一个现代、快速(高性能)的web框架,用于使用Python 3构建API
- FastAPI MCP:一个开源库,将您的FastAPI端点作为模型上下文协议(MCP)工具(带Auth)公开
- MCP(模型上下文协议):一种开放协议,促进人工智能模型与外部数据源或工具之间的无缝交互
- LangChain:一个开源框架,帮助开发人员构建由大型语言模型(LLM)驱动的应用程序
- LangGraphLangChain的开源框架,用于使用基于图的架构构建和管理复杂的AI代理
- ChatGPT:OpenAI提供的流行法学硕士
- 格拉迪奥:一个流行的开源库,用于为机器学习模型构建web界面。该项目使用Gradio为聊天机器人创建web界面。
- 朗史密斯LangChain的一个开源框架,用于跟踪和监控LLM应用程序。
- 紫外线:一个快速开源的Python包管理器-一个直接的替代品
pip,conda和virtualenv.
快速开始
1.安装 uv
遵循指示 这里 安装 uv如果你还没有。
2.安装依赖项
uv sync3.设置OpenAI API密钥
创建一个 .env 项目根目录中的文件:
# .env
OPENAI_API_KEY=your-openai-api-key-here4.运行FastAPI应用程序
uv run uvicorn server.main:app --host 0.0.0.0 --port 8000 --reload请尝试使用FastAPI应用程序 http://localhost:8000/docs
5.运行聊天机器人
uv run chatbot.py聊天机器人将在 http://localhost:7860
使用示例
在聊天机器人中尝试以下示例查询:
- “我需要买个西瓜”,
- “我的购物清单上有什么?”,
- “我们加意大利面和番茄酱吧”,
- “我刚买了西瓜”,
- “去掉番茄酱”,
- “我需要额外的意大利面条”,
依赖项
- LangGraph:用于创建React代理
- 格拉迪奥:用于聊天界面
- LangChain OpenAI:用于语言模型集成
- 朗链核心:用于工具定义
- 快速API:用于MCP服务器
- SQLAlchemy:用于数据库操作
