README
🚀 Gmail MCP 服务器
Gmail MCP 服务器是一个集成了 FastMCP(模型控制协议)的 Gmail 系统,它为 AI 助手搭建了桥梁,使其能借助一系列工具和提示与 Gmail 进行交互,极大地拓展了 Gmail 的使用场景和便捷性。
🚀 快速开始
此项目采用服务器 - 客户端架构,让 AI 助手可以执行多种 Gmail 操作,如发送邮件、查看未读邮件等。使用 OAuth 2.0 进行身份验证,并结合 Gmail API 实现各项功能。
启动服务器
python3 gmail_server.py
使用客户端
from gmail_client import GmailClient
client = GmailClient()
result = client.send_email(to="recipient@example.com", subject="Test", message="Hello World!")
print(result)
✨ 主要特性
- 功能丰富:支持发送邮件、查看未读邮件、浏览邮件内容、将邮件移到垃圾箱、在浏览器中打开邮件以及标记邮件为已读等操作。
- 身份验证:采用 OAuth 2.0 进行身份验证,保障系统安全。
- LLM 集成:使用 LLM(如 Gemini 1.5 Flash)理解自然语言请求,实现更智能的交互。
📦 安装指南
先决条件
- 环境要求:需要 Python 3.6 或更高版本。
- 库安装:安装必要的库,包括
google-auth、google-api-python-client、fastmcp。 - 文件准备:
credentials.json:OAuth 凭证文件,由 Google 开发者控制台生成。token.json:存储 OAuth 认证后的令牌。.env:包含 API 密钥和相关配置。
🔧 技术细节
组件
Gmail Server
负责 FastMCP 集成、身份验证、邮件操作(发送、接收等)以及错误处理和日志记录。
Smart Gmail Client
使用 LLM(如 Gemini 1.5 Flash)来理解自然语言请求,提取参数并执行相应的邮件操作。
邮件内容处理
支持 MIME 消息解析、多部分邮件和附件处理,确保正确解码邮件头和正文。
LLM 集成
使用 Gemini 1.5 Flash 将自然语言请求转换为结构化的工具调用,并通过回退机制处理不规范的响应。
📚 详细文档
开发扩展
添加新的 Gmail 操作
- 在
gmail_server.py中实现新工具。 - 系统将自动发现并暴露新功能。
自定义 LLM 提示
可以通过修改 test_gmail_server.py 中的提示词,优化参数提取和特定请求处理。
⚠️ 安全注意事项
- 项目不包含凭证文件,请勿提交以下文件到版本控制系统:
credentials.jsontoken.json.env
这些文件已添加到 .gitignore 中以防止意外提交。
Scan to contact