使用说明
增强型Gmail MCP服务器
用Python编写的用于Gmail集成的强大且功能丰富的模型上下文协议(MCP)服务器。该服务器使像Claude这样的人工智能助手能够通过自然语言与Gmail交互,提供全面的电子邮件管理功能。
🌟 主要特点
📧 完整的电子邮件管理
- 发送主题、内容和收件人可自定义的电子邮件
- 读取和检索包含完整元数据的电子邮件内容
- 确认后将电子邮件移至垃圾箱
- 将电子邮件标记为已读/未读
- 直接在浏览器中打开电子邮件
📝 草案管理
- 创建电子邮件草稿以供以后审核
- 列出所有电子邮件草稿
- 编辑现有草稿
🏷️ 高级标签管理
- 列出所有可用标签
- 创建自定义标签
- 应用/删除电子邮件中的标签
- 重命名现有标签
- 删除未使用的标签
- 按标签搜索电子邮件
📁 文件夹组织
- 创建新文件夹(实现为Gmail标签)
- 在文件夹之间移动电子邮件
- 列出所有可用文件夹
🔍 强大的搜索和过滤功能
- 使用Gmail的高级查询语法搜索电子邮件
- 创建、管理和删除电子邮件过滤器
- 按发件人、收件人、主题、内容等进行筛选
- 使用灵活的参数自定义搜索结果
🗄️ 档案管理
- 存档电子邮件(从收件箱中删除而不删除)
- 批量存档符合搜索条件的多封电子邮件
- 列出所有存档的电子邮件
- 将存档的电子邮件还原到收件箱
🚀 入门指南
先决条件
- Python 3.8+
- 启用Gmail API的谷歌云项目
- OAuth 2.0凭据
安装
# Clone the repository
git clone https://github.com/theposch/gmail-mcp.git
cd gmail-mcp
# Set up a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install the package
pip install -e .
谷歌云设置
- 创建一个 新的谷歌云项目
- 启用Gmail API
- 配置 OAuth同意屏幕:
- 选择“外部”用户类型
- 将您的电子邮件添加为测试用户
- 添加范围:
https://www.googleapis.com/auth/gmail/modify
- 创建 OAuth 2.0凭据:
- 选择“桌面应用程序”作为应用程序类型
- 下载JSON凭据文件
配置
安全地存储您的凭据,并在运行服务器时指定其位置:
# Example directory structure for credentials
mkdir -p ~/.gmail-mcp
# Move your downloaded credentials file
mv ~/Downloads/client_secret_*.json ~/.gmail-mcp/credentials.json
🔧 用法
使用Claude Desktop运行
将以下内容添加到您的Claude Desktop配置文件中(通常位于 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"gmail": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/gmail-mcp",
"run",
"gmail",
"--creds-file-path",
"/absolute/path/to/credentials.json",
"--token-path",
"/absolute/path/to/tokens.json"
]
}
}
}
MCP检验员测试
对于测试和调试,请使用MCP检查器:
npx @modelcontextprotocol/inspector uv run /path/to/gmail-mcp/src/gmail/server.py --creds-file-path /path/to/credentials.json --token-path /path/to/tokens.json
🔐 安全考虑
- 切勿将凭据或令牌文件提交到版本控制
- 将凭据存储在具有适当权限的安全位置
- 服务器将在执行敏感操作之前请求用户确认
- 定期查看Google Cloud Console是否有异常活动
- 考虑对敏感路径使用环境变量
🛠️ 建筑
该实现具有全面的单文件架构,通过Google API客户端库处理所有Gmail操作。关键组件包括:
- 带有自动令牌刷新的OAuth2身份验证
- 全面的错误处理和记录
- 具有清晰输入模式的结构化工具定义
- 高效的电子邮件解析和格式化
📚 示例提示
连接Gmail MCP服务器后,与Claude一起尝试以下提示:
- “显示我的未读电子邮件”
- “搜索来自的电子邮件example@domain.com带附件”
- “创建一个名为“重要项目”的新标签”
- “起草一封电子邮件至john@example.com关于即将召开的会议”
- “存档来自的所有电子邮件newsletter@example.com"
- “创建一个过滤器,自动标记来自我团队的电子邮件”
🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目在GPL-3.0许可证下获得许可-有关详细信息,请参阅License文件。
🙏 致谢
- 受到社区中各种MCP服务器实现的启发
- 与 模型上下文协议 框架
- 使用Google的官方API客户端库