返回市场
人工智能代理客户端机器人MCP

人工智能代理客户端机器人MCP

作者:Childish-boy2 星标更新:2025-10-21

项目介绍

AI 聊天机器人(MCP 微服务架构)

基于 LangChain + DeepSeek + FastMCP 的智能聊天机器人,支持日程管理、AI 图像生成和天气查询等功能。


📸 功能演示

开始页面

开始页面

日程查询

日程查询

天气查询

天气查询

AI 艺术(千问)

千问画图

其他查询

其他查询


⚡ 快速开始

第一步:安装依赖

# 安装主应用依赖
pip install -r requirements.txt

# 安装 MCP 服务依赖
cd mcp_weather_service
pip install -r requirements.txt
cd ..

第二步:配置 API 密钥

必需配置:

  1. DeepSeek API 密钥(用于 AI 对话)

    创建 .env 文件,填写:

    DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxx
    

    获取地址:https://platform.deepseek.com/

  2. 高德地图 API 密钥(用于天气查询功能)

    编辑 mcp_weather_service/fastmcp_server.py 修改第 17 行:

    AMAP_API_KEY = "your_amap_api_key_here"
    

    获取地址:https://lbs.amap.com/

  3. 千问 API 密钥(用于 AI 图像生成)

    编辑 config.json 填写:

    {
      "tongyi": {
        "api_key": "sk-xxxxxxxxxxxxx",
        ...
      }
    }
    

    获取地址:https://dashscope.aliyun.com/

无需配置:

  • 日程管理 使用本地模拟数据,无需配置,可以正常调用知识库或 API 接口查询数据,主要用于模拟目的。

第三步:启动服务

终端 1 - 启动 MCP 天气服务:

cd mcp_weather_service
python fastmcp_server.py --sse

终端 2 - 启动主应用:

python app.py

终端 3 - 打开前端:

双击 index.html 文件,或在浏览器中打开(CTRL+O)。

第四步:开始使用

尝试这些命令:

  • 查询技术部门的日程
  • “今天北京的天气如何?”
  • “画一只可爱的猫”(需要千问 API 密钥)

系统架构

┌─────────────────────────────────────────────────────────────┐
│                   前端 (index.html)                          │
│                用户界面 + 交互 + 卡片展示                      │
└────────────────────────┬────────────────────────────────────┘
                         │ HTTP/AJAX
                         ▼
┌─────────────────────────────────────────────────────────────┐
│              主应用服务 (app.py:5000)                         │
│              Flask + LangChain + DeepSeek                    │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐             │
│  │  日程工具   │  │  画图工具   │  │  天气工具   │             │
│  │  (本地)    │  │ (千问API)  │  │ (MCP调用)  │             │
│  └────────────┘  └────────────┘  └──────┬─────┘             │
└───────────────────────────────────────────┼─────────────────┘
                                            │ MCP 协议 (SSE)
                                            ▼
                         ┌──────────────────────────────────┐
                         │   MCP 客户端 (mcp_client.py)      │
                         │      封装 MCP SSE 通信             │
                         └──────────────┬───────────────────┘
                                        │ SSE 长连接
                                        ▼
                         ┌──────────────────────────────────┐
                         │ MCP 天气服务 (fastm[...]

特性:

  • ✅ 标准 MCP 协议,SSE 长连接通信
  • ✅ 微服务架构,天气服务独立部署
  • ✅ 支持远程调用和跨机器部署

📁 项目结构

cursor-web-project/
├── app.py                      # 主应用服务(Flask + LangChain Agent)
├── mcp_client.py               # MCP 客户端(SSE 长连接)
├── index.html                  # 前端页面
├── requirements.txt            # 主应用依赖
├── config.json                 # 画图配置(千问 API)
├── .env                        # 环境变量(DeepSeek API Key)
│
├── mcp_weather_service/        # MCP 天气服务目录
│   ├── fastmcp_server.py       # FastMCP 服务器(SSE 模式)
│   └── requirements.txt        # MCP 服务依赖
│
└── generated_images/           # AI 生成的图片存储目录

🔌 端口分配

服务端口描述
主应用(Flask)5000AI 代理 + API 接口
MCP 天气服务8001FastMCP 服务器(SSE 模式)

💡 使用示例

日程查询:

查询技术部的员工日程
查询全体员工的工作安排

AI 绘画:

画一个大黄蜂机器人
生成一个赛博朋克风格的未来城市

天气查询:

北京天气
上海今天天气怎么样
查询广州未来3天的天气

普通对话:

帮我写一段 Python 代码
解释一下什么是 MCP 协议

🛠️ 技术栈

  • 后端 Flask + LangChain
  • 大模型 DeepSeek API
  • MCP 协议 FastMCP (SSE 传输)
  • 绘画 千问 (同义万相) API
  • 前端 HTML + JavaScript + CSS