Gmail集成插件

一个强大的MCP服务器插件,提供Gmail集成功能,允许用户通过MCP客户端直接管理邮件,包括阅读、发送和管理邮件等核心功能。

  • by sanchisingh01
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 sanchisingh01/MCP-Server---Gmail-Plugin-for-Claude-Desktop

使用说明

Gmail插件MCP服务器

强大的MCP服务器,支持Gmail集成,允许您直接通过MCP客户端管理电子邮件。此插件可无缝访问Gmail的核心功能,包括阅读、发送和管理电子邮件。

参考:有关使用uvx的MCP服务器实现示例,请查看 这个例子.

🎥 演示

https://github.com/user-attachments/assets/df9e86cf-1f6b-4265-9c68-b3ed88103d1f

✨ 特性

  • 📧 发送和接收电子邮件
  • 📥 阅读未读邮件
  • 🗑️ 垃圾邮件
  • 📱 在浏览器中打开电子邮件
  • 📝 将电子邮件标记为已读
  • 🔒 安全的OAuth2身份验证

🚀 快速开始

先决条件

  • Python 3.12或更高版本
  • Gmail API凭据
  • MCP客户端(如克劳德桌面)

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/gmail-plugin.git
cd gmail-plugin
  1. 安装依赖项(选择一种方法):
# Method 1: Install in editable mode
uv pip install -e .

# Method 2: Install using requirements.txt
uv pip install -r requirements.txt

# Method 3: Install using uv sync (recommended)
uv sync --dev --all-extras
  1. 配置你的Gmail API凭据:
    • 首选 谷歌云控制台
    • 创建新项目或选择现有项目
    • 启用Gmail API
    • 配置OAuth同意屏幕:
      • 选择“外部”用户类型(无需发布)
      • 转到受众选项卡:将您的电子邮件添加为“测试用户”
      • 添加OAuth作用域: https://www.googleapis.com/auth/gmail/modify
    • 创建OAuth 2.0凭据:
      • 选择“桌面应用程序”作为应用程序类型
      • 下载JSON凭据文件
    • 保存凭据文件并记录其绝对路径(将用于 --creds-file-path)

配置

用于开发/未发布的服务器

将此添加到MCP客户端配置中:

"mcpServers": {
  "gmail-plugin": {
    "command": "uv",
    "args": [
      "--directory",
      "[absolute path to working directory]",
      "run",
      "server.py"
      "--creds-file-path",
      "[absolute-path-to-credentials-file]",
      "--token-path",
      "[absolute-path-to-access-tokens-file]"
    ]
  }
}

对于已发布的服务器

"mcpServers": {
  "gmail-plugin": {
    "command": "uvx",
    "args": [
      "gmail-plugin"
    ]
  }
}

🛠️ 发展

建筑与出版

  1. 同步依赖关系:
uv sync
  1. 构建包:
uv build
  1. 发布到PyPI:
uv publish

调试

使用 MCP检查员 用于调试:

npx @modelcontextprotocol/inspector uv --directory C:\Users\sanch\Desktop\gmail_plugin\gmail-plugin run gmail-plugin

📚 api参考

可用工具

工具名称 描述 必需参数
send-email 发送电子邮件 收件人_id、主题、消息
get-unread-emails 检索未读电子邮件 无
read-email 读取电子邮件内容 email_id
trash-email 将电子邮件移至垃圾箱 email_id
mark-email-as-read 将电子邮件标记为已读 email_id
open-email 在浏览器中打开电子邮件 email_id

可用提示

提示名称 描述 参数
manage-email 担任电子邮件管理员 无
draft-email 起草新电子邮件 内容、收件人、收件人_邮件
edit-draft 编辑现有电子邮件草稿 更改,current_draft

🤝 贡献

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

📄 许可证

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