多代理MCP集成项目
该项目使用模型上下文协议(MCP)实现了一个集成PowerPoint、Gmail和Math功能的多代理系统。该系统通过统一的命令界面实现了不同服务之间的无缝交互。
特性
- 多代理集成:将PowerPoint、Gmail和Math功能组合在一个界面中
- 异步操作:使用Python的asyncio实现高效的并行服务器管理
- LLM集成:利用Gemini 2.0 Flash进行智能任务编排
- 基于工具的体系结构:模块化设计,具有明确定义的工具接口
- 稳健的错误处理:全面的错误管理和恢复
- 会话管理:与多个服务器保持并行会话
组件
1.PowerPoint服务器(mcp-server.py)
- 创建和操作PowerPoint演示文稿
- 使用自动文件管理保存演示文稿
- 导出功能
2.Gmail服务器(gmail-server.py)
- 发送带有附件的电子邮件
- OAuth2身份验证支持
- 令牌管理
3.数学代理服务器(math_agent_server.py)
- 数学计算和问题解决
- 支持:
- 方程求解 - 微分 - 整合 - 统计计算 - 函数绘图
4.客户集成(mcp-client.py)
- 统一指挥界面
- 智能任务路由
- 上下文感知操作
- 多步骤任务执行
设置
- 安装依赖项:
uv venv
uv pip install -r requirements.txt- 配置环境变量:
- 创建一个 .env 文件包含:
API_KEY=your_gemini_api_key
GMAIL_CREDS_PATH=credentials.json
GMAIL_TOKEN_PATH=token.json- 设置Gmail凭据:
- 地方 credentials.json 在项目根中 - 运行安装程序以生成 token.json
用法
- 启动客户端:
uv run mcp-client.py- 命令示例:
- 解决数学问题:
Solve: x^2 - 5x + 6 = 0- 创建演示文稿:
Create a presentation about quadratic equations- 电子邮件结果:
Solve x^2 - 5x + 6 = 0, create a presentation, and email it to user@example.com建筑
该系统使用多代理架构,具有:
- 组件之间的异步通信
- 并行会话管理
- 基于工具的命令执行
- LLM驱动的任务编排
系统提示结构
- 核心行为准则
- 数学代理规则
- 多任务规划规则
- PowerPoint和电子邮件规则
- 输出格式规则
错误处理
该系统包括稳健的错误处理,用于:
- 服务器初始化失败
- 工具执行错误
- LLM沟通问题
- 文件操作
- 会话管理
发展
该项目使用:
- Python 3.10+
- FastMCP框架
- 谷歌双子座2.0 Flash
- UV包管理器
文件结构
├── mcp-client.py # Main client integration
├── mcp-server.py # PowerPoint server
├── gmail-server.py # Gmail integration
├── math_agent_server.py # Mathematical computations
├── credentials.json # Gmail OAuth credentials
├── token.json # Gmail OAuth tokens
├── .env # Environment configuration
└── README.md # Project documentation贡献
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推到分支
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
致谢
- FastMCP框架
- Google Gemini API
- Python异步社区
