Gmail管理协议服务器

一个允许Claude访问和管理Gmail账户的服务器,支持邮件列表、搜索、发送、标签管理等核心功能。

  • by Hlake7
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 hlake7/gmail-mcp-server

使用说明

Gmail MCP服务器设置指南

本指南将帮助您设置自己的Gmail MCP(模型上下文协议)服务器,以允许Claude访问和管理您的Gmail帐户。

这有什么作用

此MCP服务器使Claude能够:

  • 列出并搜索您的电子邮件
  • 阅读电子邮件内容和详细信息
  • 发送新电子邮件
  • 管理Gmail标签(添加、删除、创建)
  • 将电子邮件标记为已读/未读
  • 删除电子邮件
  • 列出所有可用标签

先决条件

  • Node.js(v16或更高版本)
  • 使用Gmail的Google帐户
  • Claude桌面应用程序或MCP兼容客户端

安装说明

1.克隆和设置项目

# Clone or copy the gmail-mcp-server folder
cd path/to/your/projects
git clone https://github.com/yourusername/gmail-mcp-server.git
cd gmail-mcp-server
npm install

2.谷歌云控制台设置

  1. 转到 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用Gmail API:
    • 转到“API和服务”>“库”
    • 搜索“Gmail API”
    • 点击它并按“启用”

3.创建OAuth 2.0凭据

  1. 转到“API和服务”>“凭据”
  2. 点击“创建凭据”>“OAuth 2.0客户端ID”
  3. 如果系统提示,请先配置OAuth同意屏幕:
    • 选择“外部”用户类型
    • 填写必填字段(应用程序名称、用户支持电子邮件、开发人员联系人)
    • 将您的电子邮件添加到测试用户
  4. 对于OAuth 2.0客户端ID:
    • 应用程序类型:“桌面应用程序”
    • 名称:“Gmail MCP服务器”(或您喜欢的任何名称)
  5. 下载JSON文件并将其另存为 credentials.json 在项目根目录中

4.配置MCP服务器

  1. 复制示例环境文件:

    cp .env.example .env
    
  2. 更新 .env 使用您的设置(可选):

    GMAIL_CREDENTIALS_PATH=./credentials.json
    GMAIL_TOKEN_PATH=./token.json
    PORT=3000
    

5.首次身份验证

  1. 首次运行服务器:

    npm start
    
  2. 服务器将为Google OAuth打开一个浏览器窗口

  3. 使用您的Google帐户登录

  4. 授予请求的权限

  5. 服务器将自动保存您的身份验证令牌

6.配置克劳德桌面

将MCP服务器添加到您的Claude Desktop配置中:

在 macOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "gmail": {
      "command": "node",
      "args": ["C:\\full\\path\\to\\your\\gmail-mcp-server\\server.js"],
      "cwd": "C:\\full\\path\\to\\your\\gmail-mcp-server",
      "env": {
        "GMAIL_CREDENTIALS_PATH": "C:\\full\\path\\to\\your\\gmail-mcp-server\\credentials.json"
      }
    }
  }
}

Windows示例:

{
  "mcpServers": {
    "gmail": {
      "command": "node",
      "args": ["C:\\Users\\YourName\\Projects\\gmail-mcp-server\\server.js"],
      "cwd": "C:\\Users\\YourName\\Projects\\gmail-mcp-server",
      "env": {
        "GMAIL_CREDENTIALS_PATH": "C:\\Users\\YourName\\Projects\\gmail-mcp-server\\credentials.json"
      }
    }
  }
}

7.重新启动克劳德桌面

关闭并重新打开Claude Desktop。现在,您应该在对话中看到可用的Gmail工具。

测试设置

试着问克劳德:

  • “列出我最近的电子邮件”
  • “显示未读电子邮件”
  • “向[某人]发送电子邮件”

文件结构

gmail-mcp-server/
├── server.js            # Main server file
├── package.json         # Dependencies
├── credentials.json     # Google OAuth credentials (you create this)
├── token.json          # OAuth token (auto-generated)
├── .env                # Environment variables (optional)
├── .env.example        # Environment template
├── .gitignore          # Git ignore file
└── README.md           # This file

安全说明

  • 永不承诺 credentials.json 或 token.json 到版本控制
  • 这 .gitignore 文件被配置为排除这些敏感文件
  • 保护您的OAuth凭据安全,不要共享它们
  • 考虑使用专用的Google帐户进行测试

故障排除

身份验证问题

  • 确保在谷歌云控制台中启用Gmail API
  • 检查您的OAuth同意屏幕是否配置正确
  • 验证 credentials.json 文件位于正确的位置

权限错误

  • 确保您的Google帐户具有必要的权限
  • 尝试通过删除重新运行身份验证流 token.json

Claude集成问题

  • 验证中的路径 claude_desktop_config.json 是正确的
  • 确保配置更改后完全重新启动Claude Desktop
  • 检查Node.js是否在您的系统PATH中

可用的Gmail范围

服务器请求这些Gmail权限:

  • https://www.googleapis.com/auth/gmail.readonly -阅读电子邮件
  • https://www.googleapis.com/auth/gmail.send -发送电子邮件
  • https://www.googleapis.com/auth/gmail.modify -修改电子邮件(标签、阅读状态)

支持

如果您遇到问题:

  1. 检查控制台输出是否有错误消息
  2. 验证所有设置步骤是否已完成
  3. 确保所有依赖项都已安装
  4. 尝试删除 token.json 并重新验证

贡献

您可以随时提交问题、分叉存储库,并为任何改进创建pull请求。

许可证

该项目根据ISC许可证获得许可。