多代理集成工具

一个集成PowerPoint、Gmail和数学计算功能的多代理系统,通过统一命令接口实现服务间无缝交互。

  • by PavanRam
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 PavanRam/mcp-automation-1-enhanced

使用说明

多代理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)

  • 统一指挥界面
  • 智能任务路由
  • 上下文感知操作
  • 多步骤任务执行

设置

  1. 安装依赖项:

    uv venv
    uv pip install -r requirements.txt
    
  2. 配置环境变量:

    • 创建一个 .env 文件包含:
      API_KEY=your_gemini_api_key
      GMAIL_CREDS_PATH=credentials.json
      GMAIL_TOKEN_PATH=token.json
      
  3. 设置Gmail凭据:

    • 地方 credentials.json 在项目根中
    • 运行安装程序以生成 token.json

用法

  1. 启动客户端:

    uv run mcp-client.py
    
  2. 命令示例:

    • 解决数学问题:
      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

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 提交您的更改
  4. 推到分支
  5. 提交拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢

  • FastMCP框架
  • Google Gemini API
  • Python异步社区