使用说明
MCP AI代理
该项目展示了一个智能代理,它可以执行复杂的数学运算,创建视觉演示,并使用谷歌的服务通过电子邮件传达结果。它展示了多个MCP(模型上下文协议)服务器协同工作以解决复合任务的集成。
项目目标
主要目标是解决以下任务:
计算前五个斐波那契数的指数之和,将答案写在幻灯片中,下载为PNG文件,并通过电子邮件发送。
这涉及:
- 数学计算(斐波那契+指数)
- 视觉演示(谷歌幻灯片)
- 通讯(Gmail)
系统架构
该系统由三个主要的MCP服务器组成:
-
数学服务器 (
mcp_servers/math_server.py)- 计算斐波那契数列
- 执行指数运算
- 处理数学计算
-
幻灯片服务器 (
mcp_servers/slides_server.py)- 创建Google幻灯片演示文稿
- 在幻灯片中添加文本
- 将幻灯片下载为PNG图像
-
Gmail服务器 (
mcp_servers/gmail_server.py)- 发送带有附件的电子邮件
- 管理电子邮件操作(读取、回收、标记为已读)
- 处理Gmail API身份验证
安装说明
先决条件
- Python 3.8+
- Linux/Unix环境(在Linux 5.15.0-136通用版上测试)
- X11显示服务器(用于幻灯片功能)
- 具有Gmail和Google幻灯片访问权限的Google帐户
安装
- 克隆存储库
- 安装依赖项:
pip install -r requirements.txt
Google API设置
-
Gmail设置:
- 在中创建项目 谷歌云控制台
- 启用Gmail API
- 创建OAuth 2.0凭据
- 将凭据另存为
mcp_servers/credentials.json
-
环境变量 (可选):
GMAIL_CREDS_FILE:credentials.json的路径GMAIL_TOKEN_FILE:token.json的路径
用法
- 启动代理:
python agent.py
- 该系统将:
- 计算斐波那契数列和指数
- 用结果制作幻灯片
- 将幻灯片另存为PNG格式
content/slide.png - 通过电子邮件发送PNG
项目结构
.
├── agent.py # Main agent implementation
├── ai.py # Gemini Interactions
├── prompt.py # Prompt used for the project
├── mcp_servers/
│ ├── slides_server.py # Google Slides operations
│ ├── gmail_server.py # Gmail operations
│ └── math_server.py # Mathematical computations
├── content/ # Generated content (slides, images)
└── requirements.txt # Project dependencies
故障排除
- 显示问题:确保X11显示服务器正在运行
- Gmail授权:
- 首次运行将提示用户访问谷歌帐户
- 如果身份验证失败,请删除
token.json然后重试
- 文件路径:
- 图像保存到
content/slide.png - 指定文件位置时使用绝对路径
- 图像保存到
输出示例
运行代理后,您应该:
- 请参阅控制台中的数学计算
- 在内容目录中查找PNG文件
- 接收带有PNG附件的电子邮件