返回 MCP 目录
public公开dns本地运行

Quantum-369_Gmail-mcp-server

一个基于MCP框架的Gmail集成服务器,提供强大的Gmail API交互功能,包括邮件收发、搜索、附件管理等功能,支持多账户管理和实时监控。

article

README

🚀 Gmail MCP 服务器

Gmail MCP 服务器是一个功能强大且灵活的 Gmail 集成服务器,基于 MCP(消息控制协议)框架构建。它提供了与 Gmail API 交互的强大接口,支持邮件的读取、发送和管理,能极大地提升邮件处理效率。

✨ 主要特性

  • 🔍 支持从多个 Gmail 账户读取邮件
  • 📎 支持发送带有附件的邮件
  • 🔎 具备高级搜索选项,可精准搜索邮件
  • 💾 支持邮件附件下载功能
  • 💬 可管理邮件对话和线程
  • 🕒 提供实时邮件监控功能
  • 👥 支持多个 Gmail 账户同时使用

📦 安装指南

通过 Smithery 安装

使用 Smithery 可自动安装 Gmail 集成服务器:

npx -y @smithery/cli install @Quantum-369/Gmail-mcp-server --client claude

手动安装

  1. 克隆仓库:
git clone <your-repository-url>
cd gmail-mcp-server
  1. 创建并激活虚拟环境:
python -m venv venv
# Windows 系统
venv\Scripts\activate
# Unix/MacOS 系统
source venv/bin/activate
  1. 安装依赖项:
pip install .

📚 详细文档

运行前的先决条件

运行 Gmail MCP 服务器之前,请确保以下条件已满足:

  1. Python 3.12 或更高版本
  2. 启用 Gmail API 的 Google Cloud 项目
  3. OAuth 2.0 客户端 ID 凭证
  4. 所需的 Python 包(在 pyproject.toml 中指定)

配置 Google Cloud 项目

  1. 访问 Google Cloud Console
  2. 创建新项目或选择现有项目
  3. 启用项目的 Gmail API
  4. 创建 OAuth 2.0 凭证:
    • 转到 "APIs & Services" > "Credentials"
    • 点击 "Create Credentials" > "OAuth client ID"
    • 选择 "Desktop app" 作为应用类型
    • 下载客户端配置文件
  5. 将下载的文件重命名为 client_secret.json 并放在项目根目录中

配置

  1. gmail_token_creator.py 中设置电子邮件标识符:
email_identifier = 'your.email@gmail.com'  # 根据需要修改
  1. 运行令牌创建工具以验证您的 Gmail 账户:
python gmail_token_creator.py
  1. 对于每个要集成的 Gmail 账户,重复上述步骤

服务器结构

  • gmail_server.py:主要 MCP 服务器实现
  • gmail_api.py:Gmail API 交互函数
  • google_apis.py:Google API 认证工具
  • 支持文件:
    • read_emails.py:邮件读取功能
    • search_emails.py:邮件搜索功能
    • send_emails.py:邮件发送功能

💻 使用示例

启动服务器

python gmail_server.py

发送邮件

await send_gmail(
    email_identifier="your.email@gmail.com",
    to="recipient@example.com",
    subject="Test Subject",
    body="Email body content",
    attachment_paths=["path/to/attachment"]
)

搜索邮件

async def process_email(email):
    # 处理找到的邮件
    pass

await search_emails(
    email_identifier="your.email@gmail.com",
    query="subject:important",
    callback=process_email
)

下载附件

async def download_attachment(attachment):
    # 处理下载的附件
    pass

await get_attachments(
    email_identifier="your.email@gmail.com",
    message_id="message-id-12345",
    attachments_callback=download_attachment
)

⚠️ 重要提示

  • 确保 client_secret.json 文件的安全性,避免泄露。
  • 使用环境变量存储敏感信息(如电子邮件密码)。
  • 定期更新 OAuth 令牌以增强安全性。

📖 其他资源

通过以上步骤,您可以轻松设置并使用 Gmail MCP 服务器来管理您的邮件和附件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端