Multi-MCP AI Agent

Multi-MCP AI Agent

site icon
2025.05.04 0
PythonAI代理多MCP架构Google Workspace集成网页抓取实时通信开发效率交流协作
Multi-MCP AI Agent 是一个基于多MCP(Model Control Protocol)服务器的AI代理系统,提供从基础数学运算到高级外部服务集成(如Google Workspace和网页抓取)的广泛能力。该系统包含Telegram机器人接口和Server-Sent Events(SSE)以实现实时通信。
View on GitHub

Overview

🌟 核心功能

  • 多MCP架构:利用多个MCP服务器进行分布式处理和多样化能力
  • 认知模块:实现感知、决策、记忆和行动模块
  • 外部服务集成
  • Google Workspace(Gmail、Google Drive、Google Sheets)
  • 网页抓取和内容提取
  • DuckDuckGo搜索集成
  • 实时通信
  • Telegram机器人接口
  • Server-Sent Events(SSE)用于实时更新
  • 核心组件
  • 代理循环管理
  • 会话处理
  • 上下文管理
  • 战略决策

🏗️ 项目结构

├── agent.py              # 主代理入口
├── core/                 # 核心代理组件
│   ├── context.py        # 上下文管理
│   ├── loop.py           # 主代理循环
│   ├── session.py        # 会话处理
│   └── strategy.py       # 战略决策
├── modules/              # 认知模块
│   ├── action.py         # 行动执行
│   ├── decision.py       # 决策
│   ├── memory.py         # 记忆管理
│   ├── model_manager.py  # 模型管理
│   ├── perception.py     # 输入处理
│   └── tools.py          # 工具定义
├── config/               # 配置文件
│   ├── models.json       # 模型配置
│   └── profiles.yaml     # MCP服务器配置
└── mcp_server_*.py       # MCP服务器实现

🚀 使用教程

使用依赖

  • Python 3.11+
  • UV包管理器
  • Telegram机器人令牌(用于机器人功能)
  • Google Cloud凭证(用于Google Workspace集成)

安装教程

  1. 克隆仓库:
git clone <repository-url>
cd <repository-name>
  1. 创建并激活虚拟环境:
uv venv
venv\Scripts\activate  # Mac: source venv/bin/activate
  1. 使用UV安装依赖:
uv sync
  1. 设置环境变量:
  2. 创建.env文件,包含Gemini API密钥和Telegram机器人令牌
  3. 使用Google OAuth客户端生成credentials.json

配置

  1. config/profiles.yaml中配置MCP服务器
  2. config/models.json中设置模型配置
  3. 配置Google Cloud凭证:
  4. credentials.json放在根目录
  5. 运行一次应用程序以生成token.json

🎮 使用

启动代理

uv run agent.py

启动Telegram机器人服务器

uv run telegram_sse_server.py

🛠️ MCP服务器

MCP服务器1:基础操作

  • 数学运算
  • 图像处理
  • 文件操作

MCP服务器2:文档处理

  • 文档索引
  • 语义搜索
  • 内容提取
  • 图像标注

MCP服务器3:网页集成

  • DuckDuckGo搜索
  • 网页内容抓取
  • 限速请求

MCP服务器4:Google Workspace

  • Gmail集成
  • Google Sheets操作
  • Google Drive管理
  • F1排名抓取器(URL抓取)

📡 通信

Telegram机器人

  • 命令处理
  • 消息处理
  • 实时响应

SSE服务器

  • 实时事件流
  • 客户端连接管理
  • 事件广播

🧠 认知架构

代理实现了一个包含以下模块的认知架构:

  • 感知:处理输入并提取相关信息
  • 记忆:管理状态和历史数据
  • 决策:基于输入和上下文做出战略决策
  • 行动:通过适当的工具执行决策的行动

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。