Gmail邮件管理服务

一个基于Python和Gmail API的MCP服务器,用于列出和发送Gmail邮件。

  • by VulcanRaven737
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 VulcanRaven737/IEEE-CS-GirlGeeks2025

使用说明

遇见MCP:AI记忆事物的酷炫新方式

IEEE计算机协会PESU·模型上下文协议(MCP)研讨会

一个使用Python通过Gmail API列出和发送Gmail消息的最小MCP服务器。

文件夹结构

c:\Abhay\PES\Workshop
├─ credentials.json        # OAuth client (Desktop) from Google Cloud Console
├─ token.json              # Generated after auth; stores user tokens
├─ requirements.txt        # Python dependencies for this repo
├─ scripts\
│  └─ auth.py              # One-time OAuth flow; creates/updates token.json
└─ src\
   ├─ gmail.py             # Gmail API helpers (auth, list emails, send email)
   └─ server.py            # MCP stdio server exposing list_emails and send_email

先决条件

  • Windows系统上的Python 3.9+
  • 在Google Cloud项目中已启用Gmail API
  • OAuth 客户端凭据(应用类型:桌面)已下载为 credentials.json

设置(Windows,VS Code 终端)

  1. 将 credentials.json 文件放置在仓库根目录中:

  2. 创建一个虚拟环境并安装依赖项:

    • 使用 Python 3 创建一个虚拟环境,命名为 .venv
    • .venv\Scripts\activate 翻译为中文是:“激活虚拟环境(位于 .venv 目录下的 Scripts 文件夹中)”。不过,通常在中文技术文档或交流中,我们可能会简化为“激活虚拟环境”或者直接说明是在执行激活命令,而不具体翻译路径。但按照您的要求,这里给出了较为完整的翻译
    • 使用 pip 安装 requirements.txt 文件中列出的包
  3. 进行身份验证(打开浏览器;将 token.json 写入仓库根目录):

    • Python 脚本\auth.py
  4. 运行MCP服务器(标准输入输出):

    • 运行 Python 脚本 src\server.py

工具暴露

  • 列出电子邮件
    • 输入:{ q?: 字符串,maxResults?: 数字(1–50,默认5) }
    • 输出:包含 { id, threadId, snippet, from, subject, date } 的数组
  • 发送邮件
    • 输入:{ 收件人: 字符串,主题: 字符串,正文: 字符串,抄送?: 字符串,密送?: 字符串 }
    • 输出:{ 状态: "已发送", id, 线程ID }

故障排除

  • 403 权限不足:请启用Gmail API并使用正确的范围重新授权。
  • 没有刷新令牌:删除token.json文件,确保同意屏幕完整显示。
  • 端口3000冲突:关闭使用该端口的进程并重试认证。
  • Stdio 启动问题:请确保客户端的工作目录是仓库根目录。