
Multi-MCP AI Agent

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集成)
安装教程
- 克隆仓库:
git clone <repository-url>
cd <repository-name>
- 创建并激活虚拟环境:
uv venv
venv\Scripts\activate # Mac: source venv/bin/activate
- 使用UV安装依赖:
uv sync
- 设置环境变量:
- 创建
.env
文件,包含Gemini API密钥和Telegram机器人令牌 - 使用Google OAuth客户端生成
credentials.json
配置
- 在
config/profiles.yaml
中配置MCP服务器 - 在
config/models.json
中设置模型配置 - 配置Google Cloud凭证:
- 将
credentials.json
放在根目录 - 运行一次应用程序以生成
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服务器
- 实时事件流
- 客户端连接管理
- 事件广播
🧠 认知架构
代理实现了一个包含以下模块的认知架构:
- 感知:处理输入并提取相关信息
- 记忆:管理状态和历史数据
- 决策:基于输入和上下文做出战略决策
- 行动:通过适当的工具执行决策的行动