返回市场
gmail-mcp-服务器

gmail-mcp-服务器

作者:jmonsellier2 星标更新:2025-01-15

项目介绍

Gmail 服务器用于模型上下文协议 (MCP)

此 MCP 服务器与 Gmail 集成,以实现发送、删除、阅读、草拟和回复电子邮件的功能。

注意:此服务器使 MCP 客户端能够读取、删除和发送电子邮件。然而,在进行这些操作之前,客户端会提示用户。

https://github.com/user-attachments/assets/5794cd16-00d2-45a2-884a-8ba0c3a90c90

组件

工具

  • send-email

    • 向收件人发送电子邮件
    • 输入:
      • recipient_id (字符串):收件人的电子邮件地址
      • subject (字符串):电子邮件主题
      • message (字符串):电子邮件内容
    • 返回状态和邮件ID
  • trash-email

    • 将邮件移至垃圾箱
    • 输入:
      • email_id (字符串):邮件自动生成的ID
    • 返回成功消息
  • mark-email-as-read

    • 标记邮件为已读
    • 输入:
      • email_id (字符串):邮件自动生成的ID
    • 返回成功消息
  • get-unread-emails

    • 获取未读邮件
    • 返回邮件列表,包括邮件ID
  • read-email

    • 获取指定邮件的内容
    • 输入:
      • email_id (字符串):邮件自动生成的ID
    • 返回邮件元数据字典,并标记邮件为已读
  • open-email

    • 在浏览器中打开邮件
    • 输入:
      • email_id (字符串):邮件自动生成的ID
    • 返回成功消息并在默认浏览器中打开给定邮件

设置

Gmail API 设置

  1. 创建一个新的 Google Cloud 项目
  2. 启用 Gmail API
  3. 配置 OAuth 同意屏幕
    • 选择“外部”。但是,我们不会发布该应用。
    • 添加您的个人电子邮件地址作为“测试用户”。
  4. 添加 OAuth 范围 https://www.googleapis.com/auth/gmail/modify
  5. 为应用程序类型“桌面应用”创建一个 OAuth 客户端ID
  6. 下载客户端 OAuth 密钥的 JSON 文件
  7. 重命名密钥文件并将其保存到本地计算机的安全位置。注意该位置。
    • 当启动服务器时,此文件的绝对路径将作为参数 --creds-file-path 传递。

认证

当启动服务器时,将在系统浏览器中启动认证流程。 令牌凭证随后将被保存(并稍后检索)在传递给参数 --token-path 的绝对文件路径中。

例如,您可以在家目录中使用一个点目录,替换 [your-home-folder]

参数示例
--creds-file-path/[your-home-folder]/.google/client_creds.json
--token-path/[your-home-folder]/.google/app_tokens.json

使用桌面应用

建议使用 uv

要将此服务器与 Claude Desktop 作为 MCP 客户端集成,请在应用的服务器配置中添加以下内容。默认情况下,这存储在 ~/Library/Application\ Support/Claude/claude_desktop_config.json 中。

{
  "mcpServers": {
    "gdrive": {
      "command": "uv",
      "args": [
        "--directory",
        "[绝对路径到git仓库]",
        "run",
        "gmail",
        "--creds-file-path",
        "[绝对路径到凭据文件]",
        "--token-path",
        "[绝对路径到访问令牌文件]"
      ]
    }
  }
}

必须设置以下参数:

参数示例
--directory包含服务器的 gmail 目录的绝对路径
--creds-file-path`在 Gmail API 设置中创建的凭据文件的绝对路径
--token-path存储和检索应用程序的访问和刷新令牌的绝对路径

使用 MCP Inspector 进行故障排除

要测试服务器,请使用 MCP Inspector。 从 git 仓库运行以下命令,根据参数更改相应的参数。

npx @modelcontextprotocol/inspector uv run [绝对路径到git仓库]/src/gmail/server.py --creds-file-path [绝对路径到凭据文件] --token-path [绝对路径到访问令牌文件]