Gmail邮件管理服务器

一个功能强大的Gmail集成服务器,通过自然语言实现全面的邮件管理功能,包括发送、阅读、标记、搜索和组织邮件。

  • by vijayPrajapatii
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Vijay-2005/Gmail-MCP-server

使用说明

增强型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 .

谷歌云设置

  1. 创建一个 新的谷歌云项目
  2. 启用Gmail API
  3. 配置 OAuth同意屏幕:
    • 选择“外部”用户类型
    • 将您的电子邮件添加为测试用户
    • 添加范围: https://www.googleapis.com/auth/gmail/modify
  4. 创建 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"
  • “创建一个过滤器,自动标记来自我团队的电子邮件”

🤝 贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

此项目在GPL-3.0许可证下获得许可-有关详细信息,请参阅License文件。

🙏 致谢

  • 受到社区中各种MCP服务器实现的启发
  • 与 模型上下文协议 框架
  • 使用Google的官方API客户端库