使用说明
MCP客户端
一个使用LangGraph和Streamlit构建的对话式AI聊天机器人,通过模型上下文协议(MCP)与ClickUp集成。此应用程序允许您通过自然语言与ClickUp工作区进行交互,具有完整的对话历史记录和工具跟踪功能。
概述
该项目演示了如何构建一个代理聊天机器人,该机器人:
- 使用LangGraph通过工具调用编排多步骤对话
- 通过MCP(模型上下文协议)连接到外部服务(ClickUp)
- 为聊天交互提供干净的Streamlit UI
- 通过基于线程的持久性维护对话历史记录
- 使用LangSmith跟踪所有LLM和工具交互
使用的技术
核心框架
- LangGraph -用于使用LLM构建有状态、多参与者应用程序的编排框架
- LangChain -开发由语言模型驱动的应用程序的框架
- 溪流 -聊天界面的Web UI框架
语言模型
- Groq -快速LLM推理(使用Llama 4 Scout)
- 赛博拉斯 -替代LLM提供程序(已注释掉,可以启用)
集成
- 模型上下文协议(MCP) -将LLM连接到外部工具的标准协议
- 点击MCP服务器 -提供与ClickUp工作区交互的工具
- 朗史密斯 -LLM应用程序的可观察性和调试
数据和状态管理
- SQLite (通过aiosqlite)-持久对话历史存储
- LangGraph检查点 -会话线程的状态管理
特性
- 多回合对话:维护多条消息的上下文
- 基于线程的历史记录:每个对话都已保存,以后可以继续
- 工具集成:通过MCP动态加载和使用ClickUp工具
- 实时流媒体:逐令牌流式传输AI响应,以获得更好的用户体验
- 工具执行可见性:显示在UI中调用工具的时间
- LangSmith追踪:LLM调用、工具调用及其参数的完全可观察性
先决条件
在设置项目之前,请确保您已经:
- Python 3.13+ 安装
- Node.js和npm (ClickUp MCP服务器通过npx需要)
- 点击API键 -从 单击向上设置
- LangSmith API密钥 -从 朗史密斯 (用于调试)
- Groq API密钥 -从 Groq控制台
安装
1.克隆存储库
git clone https://github.com/notAvailable73/mcp-client.git
cd mcp-client
2.设置Python环境
使用 uv (推荐):
# Install uv if you haven't already
pip install uv
# Create virtual environment and install dependencies
uv sync
3.配置环境变量
创建一个 .env 项目根目录中的文件:
# LLM API Keys
GROQ_API_KEY=your_groq_api_key_here
运行应用程序
启动Streamlit应用程序
uv run streamlit run frontend.py
应用程序将在默认浏览器中打开 http://localhost:8501.
你能做什么
运行后,您可以要求聊天机器人:
- 获取您的工作空间层次结构
- 检索特定任务
- 列出工作区成员
- 获取任务注释
- 查询列表和空格
关键组件
后端(后端.py)
- LLM设置:配置Groq/Cerebras语言模型
- MCP客户端:连接到ClickUp MCP服务器并加载可用工具
- LangGraph:定义与聊天和工具执行节点的对话流
- 检查点:将对话状态持久化到SQLite
- 异步管理:用于处理异步操作的专用事件循环
前端(前端.py)
- 流线型UI:带有消息历史记录的聊天界面
- 线程管理:创建新对话或恢复以前的对话
- 流媒体:实时显示AI响应
- 工具状态:执行工具时的视觉指示器
配置选项
切换LLM提供程序
编辑 后端.py:
# Use Cerebras instead of Groq
llm = ChatCerebras(
model="llama-3.3-70b",
temperature=0.1,
max_tokens=4096
)
贡献
欢迎投稿!请随时提交拉取请求。
致谢
问题或议题? 欢迎打开问题或联系我们!