Gmail MCP Server

Gmail MCP Server

site icon
2025.04.10 1
Python邮件管理自动化工具交流协作
Gmail MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,允许通过 IMAP 和 SMTP 与 Gmail 账户进行交互。它提供了搜索邮件、检索邮件内容、管理标签(创建、删除、重命名、应用、移除)以及发送/转发邮件等功能。
View on GitHub

Overview

基本能力

产品定位

Gmail MCP Server 是一个用于与 Gmail 账户交互的服务,提供邮件搜索、内容检索、标签管理、邮件发送和转发等功能。

核心功能

  • 邮件搜索:支持按日期范围、关键词或原始 Gmail 查询字符串搜索邮件,可以搜索特定文件夹(如收件箱、已发送)并限制结果数量。
  • 邮件内容检索:通过序列 ID 获取邮件的完整内容(包括标题、正文和附件)。
  • 标签管理
  • 列出所有可用的 Gmail 标签(文件夹)。
  • 创建、重命名和删除自定义标签。
  • 对单个或多个邮件应用或移除标签。
  • 批量操作
  • 对多个邮件同时应用或移除标签。
  • 将多个邮件移动到特定标签/文件夹。
  • 邮件发送:发送新邮件(需要 SMTP 配置)。
  • 邮件转发:转发现有邮件(包括附件,需要 SMTP 配置)。
  • 每日邮件计数:统计指定日期范围内每天收到的邮件数量。

适用场景

  • 需要自动化管理 Gmail 邮件的场景。
  • 批量处理邮件标签或移动邮件的场景。
  • 需要定期统计邮件数量的场景。

工具列表

  • search-emails:搜索邮件。
  • get-email-content:获取邮件完整内容。
  • count-daily-emails:统计每日邮件数量。
  • list-labels:列出所有标签。
  • create-label:创建新标签。
  • rename-label:重命名标签。
  • delete-label:删除标签。
  • apply-label:对单个邮件应用标签。
  • remove-label:从单个邮件移除标签。
  • apply-label-batch:对多个邮件应用标签。
  • remove-label-batch:从多个邮件移除标签。
  • move-email:移动单个邮件到标签。
  • move-email-batch:移动多个邮件到标签。
  • send-email:发送新邮件。
  • forward-email:转发邮件。

常见问题解答

  • 问题:如何配置 Gmail 账户? 解答:需要在 .env 文件中配置 Gmail 邮箱、密码(如果启用了双重认证,需要使用应用密码)、IMAP 和 SMTP 服务器信息。
  • 问题:如何启用双重认证的应用密码? 解答:参考 Google 的应用密码文档

使用教程

使用依赖

  1. 确保已安装 Python 和 uv 包管理工具。 bash pip install uv

安装教程

  1. 克隆仓库: bash git clone https://github.com/david-strejc/gmail-mcp-server.git cd gmail-mcp-server
  2. 安装依赖: bash uv venv uv sync source .venv/bin/activate
  3. 配置环境变量:
  4. 在项目根目录创建 .env 文件,并填写 Gmail 账户信息。

调试方式

  1. 启动服务: bash source .venv/bin/activate python src/email_client/server.py
  2. 检查日志输出,确保服务正常运行。

许可证

该项目遵循 BSD-3-Clause 开源许可条款,请参阅 BSD-3-Clause 了解完整条款。