代理聊天机器人MCP
使用 模型上下文协议(MCP),以现代为特色 Next.js 前端和健壮 python 后端。该项目演示了如何构建代理工作流,集成各种工具(文件系统、GitHub等),并提供无缝的聊天体验。
🌟 特性
- 代理工作流:使用DeepSeek模型进行智能任务分解和执行。
- 模型上下文协议(MCP):将人工智能模型连接到外部工具和数据的标准化方法。
- 丰富的工具集:
- 📂 文件资源管理器:安全地读取、写入和列出文件。 - 🐙 GitHub 集成:搜索存储库并查看文件内容。 - 🌐 Web浏览器:获取和处理web内容。 - 🛠️ 代码工具:分析和操作实用程序。 - 💾 SQLite和本地RAG:数据持久性和检索增强生成。
- 现代用户界面:
- 建于 Next.js 14 & 顺风 CSS. - 实时流式响应。 - 代码块的语法高亮显示。 - 交互式文件查看器和调试抽屉。
🏗️ 建筑
该项目被组织为一个单仓库,有两个主要组成部分:
mcp-learning/(后端):
- 基于Python的MCP服务器和客户端。 - 用于前端通信的WebSocket API服务器。 - 代理主管和工具实施。
mcp-ui/(前端):
- React/Next.js应用程序。 - 聊天界面,工具调用可视化。 - 客户端MCP挂钩和状态管理。
系统图
graph TD
Client[Next.js Frontend] |WebSocket| WSS[WebSocket Server]
WSS -->|Message| Supervisor[Agent Supervisor]
Supervisor -->|Plan| Router[Tool Router]
subgraph "MCP Servers"
Router FS[File System]
Router GH[GitHub]
Router Browser[Browser Puppet]
Router RAG[Local RAG]
Router SQLite[SQLite Explorer]
end
Supervisor -->|Response| WSS📸 截图
🚀 入门指南
先决条件
- Python 3.10+
- Node.js 18+ & npm
- Git
1.克隆存储库
git clone https://github.com/chakisahmed/agentic-chatbot-mcp.git
cd agentic-chatbot-mcp2.后端设置(mcp-learning)
导航到后端目录并设置Python环境:
cd mcp-learning
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
# Windows:
.\venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt配置: 创建一个 .env 归档 mcp-learning/ 使用API密钥:
DEEPSEEK_API_KEY=your_key_here
GITHUB_TOKEN=your_token_here (optional)3.前端设置(mcp-ui)
导航到前端目录并安装依赖项:
cd ../mcp-ui
# Install Node modules
npm install配置: 创建一个 .env.local 归档 mcp-ui/:
NEXT_PUBLIC_API_URL=ws://localhost:8000/ws🏃♂️ 运行应用程序
启动后端服务器
从 mcp-learning 目录:
python -m ws_server.api_server*WebSocket服务器将在 ws://localhost:8000.*
启动前端客户端
从 mcp-ui 目录:
npm run dev*访问应用程序 http://localhost:3000.*
📚 文档
- MCP工具:详见
mcp-learning/servers/ - 代理逻辑:参见
mcp-learning/clients/agent_supervisor.py - UI组件:位于
mcp-ui/src/components/
🤝 贡献
欢迎投稿、问题和功能请求!
📄 许可证
该项目根据MIT许可证获得许可。
