Gmail集成服务

一个提供Gmail集成的MCP服务器,支持搜索邮件、阅读消息和下载附件。

  • by Maheidem
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Maheidem/gmail-mcp

使用说明

Gmail MCP服务器

MCP(模型上下文协议)服务器,为AI助手提供Gmail集成。直接从您的Gmail帐户搜索电子邮件、阅读邮件和下载附件。

特性

  • 搜索电子邮件 使用Gmail强大的搜索语法(from:, subject:, has:attachment等等)
  • 阅读完整的电子邮件内容 包括正文和附件元数据
  • 下载附件 到本地文件系统

快速开始

1.设置Google Cloud凭据

  1. 首选 谷歌云控制台
  2. 创建新项目(或选择现有项目)
  3. 启用 Gmail API
  4. 首选 API和服务>凭据
  5. 点击 创建凭据>OAuth客户端ID
  6. 选择 桌面应用程序 作为应用程序类型
  7. 下载JSON文件并保存:
mkdir -p ~/.gmail-mcp
mv ~/Downloads/client_secret_*.json ~/.gmail-mcp/gcp-oauth.keys.json

2.首次授权

运行一次以完成OAuth(打开浏览器):

uvx mcp-gmail-reader

备份和恢复

在安装新的操作系统或丢失机器后,以下是要恢复的内容:

文件 位置 备份? 恢复
~/.gmail-mcp/gcp-oauth.keys.json 仅限本地 是--密码管理器 如果不重新创建GCP项目,则无法重新生成
~/.gmail-mcp/token.json 仅限本地 否 通过运行重新生成 uvx mcp-gmail-reader 一次(浏览器流)
~/Documents/gmail-mcp/ (此仓库) Git 无需-- git clone git clone https://github.com/Maheidem/gmail-mcp.git
MCP注册 ~/.claude/settings.json 否 从上面的“Claude Code(CLI)”部分重新添加JSON代码段

恢复检查表(更换新机器后5分钟)

# 1. Clone the source
git clone https://github.com/Maheidem/gmail-mcp.git ~/Documents/gmail-mcp

# 2. Restore credentials from your password manager
mkdir -p ~/.gmail-mcp
# (paste gcp-oauth.keys.json into ~/.gmail-mcp/)

# 3. Install + first-run authorization (opens browser)
uvx mcp-gmail-reader

# 4. Re-register in Claude Code (see "Claude Code (CLI)" section below)

OAuth凭据JSON是唯一 不能 无需再次进行完整的Google Cloud Console设置即可恢复。备份它。


通过AI工具设置

克劳德桌面版

添加到您的配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json

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

克劳德代码(CLI)

添加到MCP设置(~/.claude/settings.json 或项目 .mcp.json):

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

光标

添加到Cursor的MCP配置(设置>MCP服务器):

{
  "gmail": {
    "command": "uvx",
    "args": ["mcp-gmail-reader"]
  }
}

帆板运动

添加 ~/.codeium/windsurf/mcp_config.json:

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

VS代码+继续

添加到Continue的配置(~/.continue/config.json):

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "uvx",
          "args": ["mcp-gmail-reader"]
        }
      }
    ]
  }
}

泽德

添加到Zed的设置中(~/.config/zed/settings.json):

{
  "context_servers": {
    "gmail": {
      "command": {
        "path": "uvx",
        "args": ["mcp-gmail-reader"]
      }
    }
  }
}

自定义凭据路径

如果您的凭据位于其他位置:

{
  "mcpServers": {
    "gmail": {
      "command": "uvx",
      "args": ["mcp-gmail-reader"],
      "env": {
        "GMAIL_CREDENTIALS_PATH": "/path/to/your/credentials.json"
      }
    }
  }
}

可用工具

search_emails

使用Gmail搜索语法搜索Gmail。

查询示例:

  • from:example@gmail.com -来自特定发件人的电子邮件
  • subject:invoice -主题包含“发票”的电子邮件
  • has:attachment -带附件的电子邮件
  • after:2024/01/01 -日期后的电子邮件
  • is:unread -未读电子邮件
  • label:important -带有特定标签的电子邮件
  • in:inbox -收件箱中的电子邮件

get_email

通过邮件ID(从search_emails返回)获取完整的电子邮件内容。

返回:id、from、to、subject、date、body、附件列表

download_attachment

将电子邮件附件下载到指定路径。

参数:message_id、attachment_id、save_path


发展

git clone https://github.com/Maheidem/gmail-mcp.git
cd gmail-mcp
uv sync

# Run server
uv run python -m gmail_mcp

# Run with MCP inspector
uv run mcp dev src/gmail_mcp/server.py

安全须知

  • 仅 gmail.readonly 已使用作用域-此服务器无法发送或修改电子邮件
  • OAuth令牌存储在本地 ~/.gmail-mcp/token.json
  • 切勿将凭据或令牌提交到版本控制

许可证

麻省理工学院