Gmail MCP服务器

一个强大的模型上下文协议(MCP)服务器,使AI助手如Claude能够与Gmail交互,实现发送邮件、搜索消息和读取邮件内容的功能。

  • by Arpit-saxena-2004
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Arpit-saxena-2004/gmail_mcp_server

使用说明

Gmail MCP服务器📧

一个强大的模型上下文协议(MCP)服务器,使克劳德等人工智能助手能够与Gmail进行交互。该服务器为直接通过Claude发送电子邮件、搜索消息和阅读电子邮件内容提供了无缝集成。

✨ 特性

  • 发送邮件:直接通过Claude撰写和发送电子邮件
  • 搜索电子邮件:使用Gmail强大的搜索语法查找特定邮件
  • 阅读电子邮件:按邮件ID检索和阅读电子邮件内容
  • OAuth2身份验证:使用Google OAuth2进行安全身份验证
  • 健康检查:内置健康监测端点

🚀 快速开始

先决条件

  • Python 3.10或更高版本
  • Google Cloud Platform帐户
  • Claude桌面应用程序或任何兼容MCP的客户端

安装

  1. 克隆仓库

    git clone https://github.com/Arpit-saxena-2004/gmail_mcp_server.git
    cd gmail_mcp_server
    
  2. 创建虚拟环境

    python -m venv .venv
    
    # On Windows
    .venv\Scripts\activate
    
    # On macOS/Linux
    source .venv/bin/activate
    
  3. 安装依赖项

    pip install -r requirements.txt
    

🔑 设置Google OAuth2凭据

第一步:创建谷歌云项目

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用 Gmail API 对于您的项目:
    • 导航到“API和服务”>“库”
    • 搜索“Gmail API”
    • 点击“启用”

步骤2:配置OAuth同意屏幕

  1. 转到“API和服务”>“OAuth同意屏幕”
  2. 选择“外部”用户类型(如果您有谷歌工作区,则选择“内部”)
  3. 填写所需信息:
    • 应用程序名称
    • 用户支持电子邮件
    • 开发人员联系信息
  4. 添加作用域: https://www.googleapis.com/auth/gmail.modify
  5. 添加测试用户(您的电子邮件地址)

步骤3:创建OAuth2凭据

  1. 转到“API和服务”>“凭据”
  2. 点击“创建凭据”>“OAuth客户端ID”
  3. 选择“桌面应用程序”作为应用程序类型
  4. 命名它(例如,“Gmail MCP服务器”)
  5. 点击“创建”
  6. 下载JSON文件
  7. 将其重命名为 credentials.json 并将其放置在项目根目录中

⚙️ 配置

连接到克劳德桌面

  1. 找到您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加MCP服务器配置:

    {
      "mcpServers": {
        "gmail": {
          "command": "python",
          "args": [
            "C:\\path\\to\\your\\gmail_mcp_server\\main.py"
          ]
        }
      }
    }
    

    备注:替换 C:\\path\\to\\your\\gmail_mcp_server\\main.py 与您的实际路径 main.py 文件。

  3. 重新启动克劳德桌面

首次身份验证

  1. 当您第一次使用服务器时,它将打开一个浏览器窗口
  2. 使用您的Google帐户登录
  3. 授予请求的权限
  4. 服务器将保存 token.json 文件以备将来使用
  5. 除非撤销访问权限,否则您不需要再次进行身份验证

📖 使用示例

连接到Claude后,您可以使用自然语言与Gmail交互:

发送电子邮件

"Send an email to john@example.com with subject 'Meeting Tomorrow' and tell him about the 2pm meeting"

搜索电子邮件

"Search my emails for messages from Sarah in the last week"

阅读电子邮件

"What's the latest email in my inbox?"

🛠️ 可用工具

health_check()

检查Gmail MCP服务器是否正常运行。

send_email(to: str, subject: str, body: str)

通过Gmail发送电子邮件。

  • 到:收件人电子邮件地址
  • 主题:电子邮件主题行
  • 身体:电子邮件内容

search_emails(query: str, max_results: int = 5)

使用Gmail的搜索语法搜索电子邮件。

  • 怎么翻译:Gmail搜索查询(例如,“发件人:john@example.com“,”主题:会议“)
  • max_results:要返回的最大结果数(默认值:5)

read_email(message_id: str)

通过邮件ID读取特定电子邮件。

  • message_id:电子邮件的唯一标识符

🔒 安全说明

  • 永不承诺 credentials.json 或 token.json 到版本控制
  • 这些文件已包含在 .gitignore
  • 安全地存储凭据并定期轮换
  • 仅授予必要的范围(目前: gmail.modify)

📁 项目结构

gmail_mcp_server/
├── main.py              # Main MCP server implementation
├── credentials.json     # OAuth2 credentials (not in repo)
├── token.json          # OAuth2 token (auto-generated)
├── requirements.txt    # Python dependencies
├── pyproject.toml      # Project metadata
├── .gitignore         # Git ignore rules
└── README.md          # This file

🐛 故障排除

“未找到credentials.json”

  • 确保您已从Google Cloud Console下载了OAuth2凭据
  • 将文件精确重命名为 credentials.json
  • 将其放置在项目根目录中

身份验证窗口未打开

  • 检查端口0(随机可用端口)是否未被防火墙阻止
  • 请先尝试手动运行服务器: python main.py

“无效凭据”错误

  • 删除 token.json 并再次进行身份验证
  • 验证您的OAuth2同意屏幕是否配置正确
  • 确保您已将电子邮件添加为测试用户

克劳德无法连接到服务器

  • 验证中的路径 claude_desktop_config.json 是正确的
  • 确保你使用的是绝对路径
  • 配置更改后重新启动Claude Desktop

🤝 贡献

欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。

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

📝 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

📞 支持

如果您遇到任何问题或有疑问:

  • 在GitHub上打开一个问题
  • 检查现有问题的解决方案
  • 查看 MCP文件

🌟 明星历史

如果你觉得这个项目有用,请考虑给它一颗星! ⭐


由...制作❤️ 为克劳德社区