使用说明

项目简介

mcp-gsuite 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为LLM客户端提供访问和操作Google Workspace (G Suite) 产品的能力,目前主要支持Gmail和Calendar。通过mcp-gsuite,LLM应用可以安全、可扩展地与用户的Google 邮箱和日历进行交互,实现邮件读取、发送、日程管理等功能。

主要功能点

  • 多账户支持: 支持配置和管理多个Google账号,方便用户在不同账号间切换或整合信息。
  • Gmail集成:
    • 邮件查询: 支持灵活的邮件搜索,例如按未读、发件人、日期范围、附件等条件查询。
    • 邮件内容获取: 可以根据邮件ID获取完整的邮件内容,包括正文和附件信息。
    • 草稿邮件管理: 支持创建、删除草稿邮件,方便用户预先编辑邮件。
    • 邮件回复: 支持回复邮件,并可以选择立即发送或保存为草稿。
    • 附件处理: 支持批量获取和保存邮件附件到本地系统。
  • Calendar集成:
    • 多日历管理: 支持管理多个日历,例如个人日历、工作日历等。
    • 日历事件查询: 可以查询指定时间范围内的日历事件。
    • 日历事件创建: 支持创建包含标题、时间、地点、描述、参与者、时区和通知设置的日历事件。
    • 日历事件删除: 支持删除指定日历事件。

安装步骤

推荐使用 Smithery CLI 进行安装,可以简化配置过程:

npx @smithery/cli install mcp-gsuite --client claude

服务器配置

为了让MCP客户端(例如 Claude Desktop)连接到 mcp-gsuite 服务器,需要在客户端的配置文件中添加服务器配置信息。以 Claude Desktop 为例,需要编辑 'claude_desktop_config.json' 文件,该文件通常位于:

  • macOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

在 'mcpServers' 字段下添加 'mcp-gsuite' 的配置信息。请将 '<dir_to>/mcp-gsuite' 替换为 mcp-gsuite 仓库在您本地文件系统中的实际路径。

{
  "mcpServers": {
    "mcp-gsuite": {
      "command": "uv",
      "args": [
        "--directory",
        "<dir_to>/mcp-gsuite",
        "run",
        "mcp-gsuite"
      ]
    }
  }
}

基本使用方法

  1. 确保已完成安装步骤并将 mcp-gsuite 服务器配置到 MCP 客户端。
  2. 启动 mcp-gsuite 服务器。
  3. 在 MCP 客户端(例如 Claude)中,可以使用自然语言指令来调用 mcp-gsuite 提供的工具。例如:
    • 查询最新的未读邮件:'Retrieve my latest unread messages'
    • 明天有什么日程安排?:'What do I have on my agenda tomorrow?'
    • 给Alice的邮件写一封友好的回复并保存为草稿:'Write a nice response to Alice's last email and upload a draft.'

更多使用示例,请参考仓库 'README.md' 文件中的 "Example prompts" 部分。

OAuth 2 认证配置

mcp-gsuite 需要通过 OAuth 2.0 认证才能访问 Google Workspace API。请按照以下步骤配置 OAuth 2.0 认证:

  1. 创建 OAuth 2.0 凭据:
    • 访问 Google Cloud Console
    • 创建或选择一个项目。
    • 为项目启用 Gmail API 和 Google Calendar API。
    • 进入 "凭据" -> "创建凭据" -> "OAuth 客户端 ID"。
    • 选择 "桌面应用" 或 "Web 应用程序" 作为应用程序类型。
    • 配置 OAuth 同意屏幕。
    • 添加授权重定向 URI,例如 'http://localhost:4100/code' (用于本地开发)。
  2. 所需 OAuth 2.0 作用域:
    [
      "openid",
      "https://mail.google.com/",
      "https://www.googleapis.com/auth/calendar",
      "https://www.googleapis.com/auth/userinfo.email"
    ]
  3. 创建 '.gauth.json' 文件: 在工作目录下创建 '.gauth.json' 文件,填入您的 OAuth 2.0 客户端 ID 和客户端密钥。
    {
        "web": {
            "client_id": "$your_client_id",
            "client_secret": "$your_client_secret",
            "redirect_uris": ["http://localhost:4100/code"],
            "auth_uri": "https://accounts.google.com/o/oauth2/auth",
            "token_uri": "https://oauth2.googleapis.com/token"
        }
    }
  4. 创建 '.accounts.json' 文件: 创建 '.accounts.json' 文件,配置您的 Google 账号信息。
    {
        "accounts": [
            {
                "email": "[email protected]",
                "account_type": "personal",
                "extra_info": "个人邮箱账号"
            }
        ]
    }
    可以配置多个账号,'extra_info' 字段可以添加账号的额外信息,供LLM参考。

首次使用工具时,会打开浏览器进行 Google 账号授权。授权成功后,凭据将保存在本地文件 '.oauth.{email}.json' 中。

信息

分类

生产力应用