使用说明
Gmail MCP服务器
强大的模型上下文协议(MCP)服务器,使Claude AI能够直接与Gmail交互。
📖 目录
📋 概述
Gmail MCP服务器是一个全面的实现,使像克劳德这样的人工智能助手能够通过自然语言直接与Gmail交互。它提供了一套丰富的电子邮件管理工具,实现了会话式人工智能和收件箱之间的无缝集成。
💡 主要特点
-
完整的电子邮件管理
- 发送带有附件的纯文本和HTML电子邮件
- 通过正确解析复杂的消息结构来阅读电子邮件
- 使用Gmail强大的查询语法搜索收件箱
- 创建和更新电子邮件草稿
- 管理标签、已读/未读状态和垃圾箱
- 对多封电子邮件执行批处理操作
-
高级集成
- 具有async/await模式的现代Python代码库
- 全面的错误处理和恢复
- 详细进度报告
- 安全的OAuth身份验证流程
- 多种传输模式(STDIO和SSE)
- 支持不同的部署场景
🚀 快速开始
先决条件
- Python 3.8或更高版本
- 启用Gmail API的谷歌云项目
- Gmail API的OAuth 2.0凭据
安装
-
克隆存储库
git clone https://github.com/yourusername/gmail-mcp-server.git cd gmail-mcp-server -
设置虚拟环境
python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activate -
安装依赖项
pip install -r requirements.txt -
设置Google Cloud和OAuth凭据
访问 谷歌云控制台 致:
- 创建新项目
- 启用Gmail API
- 设置OAuth同意屏幕
- 创建OAuth客户端ID凭据(桌面应用程序)
- 将凭据下载为
credentials.json在项目根中
首次运行和身份验证
为您要使用的Gmail帐户生成OAuth令牌。将脚本打印的URL复制到web浏览器中,并完成登录过程:
python gmail_token_creator.py
测试服务器:
python gmail_server.py
配置Claude桌面
-
编辑您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
将Gmail MCP服务器添加到配置中:
{ "mcpServers": { "gmail": { "command": "/absolute/path/to/gmail-mcp-server/venv/bin/python", "args": [ "/absolute/path/to/gmail-mcp-server/gmail_server.py" ] } } } -
保存文件并重新启动Claude Desktop
注: 替换 "/absolute/path/to/gmail-mcp-server/gmail_server.py" 实际绝对路径为 gmail_server.py 克隆存储库中的文件。
注: 无需奔跑 python gmail_server.py 你自己。每次启动时,Claude都会自动运行它。
🧰 可用工具
Gmail MCP服务器向Claude公开了以下工具:
邮件发送
send_email-发送包含文本/HTML内容的基本电子邮件send_email_with_attachment-发送带有文件附件的电子邮件send_email_with_multiple_attachments-发送带有多个附件的电子邮件
电子邮件阅读
read_email-按ID读取特定电子邮件的内容get_unread_emails-获取未读电子邮件列表get_important_emails-获取标记为重要的电子邮件get_emails_with_attachments-获取带有附件的电子邮件get_recent_emails-获取过去X天的电子邮件
电子邮件搜索和组织
search_emails-使用Gmail的查询语法搜索电子邮件get_email_labels-列出所有Gmail标签/文件夹create_email_label-创建新标签delete_email_label-删除现有标签label_email-为电子邮件添加标签remove_email_label-从电子邮件中删除标签
电子邮件状态管理
mark_as_read-将电子邮件标记为已读mark_as_unread-将电子邮件标记为未读delete_email-将电子邮件移至垃圾箱
草案管理
create_email_draft-创建新的电子邮件草稿update_email_draft-更新现有草稿list_email_drafts-列出可用草稿send_draft-发送现有草稿
批量操作
batch_apply_label-为多封电子邮件应用标签batch_delete_emails-将多封电子邮件移至垃圾箱
账户信息
get_email_profile-获取Gmail个人资料信息summarize_recent_emails-创建最近电子邮件的摘要
💬 使用示例
以下是Claude的一些示例提示:
Send an email to john@example.com with the subject "Project Update" and let them know we're still on track for the deadline next week.
Search my inbox for any emails from Bank of America in the last month and summarize them for me.
Find all unread emails from my boss and create a summary of any action items mentioned in them.
Draft an email to the team about the upcoming meeting on Thursday at 2pm. Remind everyone to prepare their weekly updates.
🔧 高级配置
环境变量
服务器支持多个环境变量进行自定义:
| 变量 | 描述 |
|---|---|
GMAIL_TOKEN_PATH |
存储OAuth令牌的自定义路径 |
GMAIL_CREDENTIALS_PATH |
OAuth凭据的自定义路径 |
GOOGLE_CLIENT_ID |
OAuth客户端ID(替代凭据文件) |
GOOGLE_CLIENT_SECRET |
OAuth客户端密钥(替代凭据文件) |
MCP_PORT |
SSE传输端口(默认值:3000) |
DEBUG |
启用调试模式(true 或 false) |
SSE服务器模式
服务器可以在SSE(服务器发送事件)模式下运行,以进行基于HTTP的集成:
python gmail_server.py --sse [port]
这将在指定端口(默认值:3000)上启动服务器,使其可以通过HTTP访问。
📚 文档
- MCP规范 -了解模型上下文协议
- Gmail API文档 -Gmail API功能参考
- 谷歌云OAuth -身份验证流程的详细信息
🔒 安全考虑
- 服务器使用OAuth 2.0进行安全的Gmail API身份验证
- 所有操作都在您的机器上本地运行-电子邮件永远不会通过第三方服务器
- 身份验证令牌存储在本地,可以随时撤销
- 服务器仅在读取附件时需要本地文件访问权限
- 克劳德在发送或删除电子邮件之前总是要求确认
🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📝 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
- 谷歌为Gmail API
- 克劳德的拟人化与模型上下文协议
- Python Gmail API客户端库的贡献者
Made with ❤️ for the MCP and Claude community