mcpField
G
Google Workspace MCP Server

Google Workspace MCP Server

本地服务
github.com/epaproditus通信协作3195 周前更新

关于 Google Workspace MCP Server

Google Workspace MCP Server 是一个 MCP 服务,用于通过 Gmail 和 Calendar API 管理邮件与日历事件。它面向希望以编程方式处理个人办公事务的用户,并通过 OAuth 2.0 完成授权。

主要功能

  1. 01Gmail 邮件列表、搜索、发送与标签修改
  2. 02日历事件列出、创建、更新与删除
  3. 03支持 Gmail 查询语法
  4. 04基于 OAuth 2.0 的授权

适用场景

  1. 01让 AI 助手搜索并整理未读邮件
  2. 02通过自然语言创建或修改日历会议
  3. 03批量查询指定时间范围内的日程

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 list_emails、search_emails、send_email、modify_email 以及 list_events、create_event、update_event、delete_event 等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Google Workspace MCP 服务

一个模型上下文协议(MCP)服务,提供与 Gmail 和 Calendar API 交互的工具。此服务可让你通过 MCP 接口以编程方式管理电子邮件和日历活动。

功能

Gmail 工具
  • list_emails:列出收件箱中的近期邮件,并支持可选筛选
  • search_emails:使用 Gmail 查询语法进行高级邮件搜索
  • send_email:发送新邮件,支持 CC 和 BCC
  • modify_email:修改邮件标签(归档、移至垃圾箱、标记为已读/未读)
Calendar 工具
  • list_events:列出即将举行的日历活动,并支持按日期范围筛选
  • create_event:创建包含参与者的新日历活动
  • update_event:更新现有日历活动
  • delete_event:删除日历活动

先决条件

  1. Node.js:安装 14 或更高版本的 Node.js
  2. Google Cloud Console 设置:
    • 前往 Google Cloud Console
    • 创建新项目或选择现有项目
    • 启用 Gmail API 和 Google Calendar API:
      1. 前往“APIs & Services” > “Library”
      2. 搜索并启用“Gmail API”
      3. 搜索并启用“Google Calendar API”
    • 设置 OAuth 2.0 凭据:
      1. 前往“APIs & Services” > “Credentials”
      2. 点击“Create Credentials” > “OAuth client ID”
      3. 选择“Web application”
      4. 在“Authorized redirect URIs”中添加:http://localhost:4100/code
      5. 记下 Client ID 和 Client Secret

设置说明

  1. 克隆并安装:

    git clone https://github.com/epaproditus/google-workspace-mcp-server.git
    cd google-workspace-mcp-server
    npm install
    
  2. 创建 OAuth 凭据: 在根目录中创建 credentials.json 文件:

    {
        "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"
        }
    }
    
  3. 获取刷新令牌:

    node get-refresh-token.js
    

    此操作将:

    • 打开浏览器进行 Google OAuth 身份验证
    • 请求以下权限:
      • https://www.googleapis.com/auth/gmail.modify
      • https://www.googleapis.com/auth/calendar
      • https://www.googleapis.com/auth/gmail.send
    • 将凭据保存到 token.json
    • 在控制台中显示刷新令牌
  4. 配置 MCP 设置: 将服务配置添加到 MCP 设置文件:

    • 对于 VSCode Claude 扩展:~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • 对于 Claude 桌面应用:~/Library/Application Support/Claude/claude_desktop_config.json

    将以下内容添加到 mcpServers 对象中:

    {
      "mcpServers": {
        "google-workspace": {
          "command": "node",
          "args": ["/path/to/google-workspace-server/build/index.js"],
          "env": {
            "GOOGLE_CLIENT_ID": "your_client_id",
            "GOOGLE_CLIENT_SECRET": "your_client_secret",
            "GOOGLE_REFRESH_TOKEN": "your_refresh_token"
          }
        }
      }
    }
    
  5. 构建并运行:

    npm run build
    

使用示例

Gmail 操作
  1. 列出近期邮件:

    {
      "maxResults": 5,
      "query": "is:unread"
    }
    
  2. 搜索邮件:

    {
      "query": "from:[email protected] has:attachment",
      "maxResults": 10
    }
    
  3. 发送邮件:

    {
      "to": "[email protected]",
      "subject": "Hello",
      "body": "Message content",
      "cc": "[email protected]",
      "bcc": "[email protected]"
    }
    
  4. 修改邮件:

    {
      "id": "message_id",
      "addLabels": ["UNREAD"],
      "removeLabels": ["INBOX"]
    }
    
Calendar 操作
  1. 列出活动:

    {
      "maxResults": 10,
      "timeMin": "2024-01-01T00:00:00Z",
      "timeMax": "2024-12-31T23:59:59Z"
    }
    
  2. 创建活动:

    {
      "summary": "Team Meeting",
      "location": "Conference Room",
      "description": "Weekly sync-up",
      "start": "2024-01-24T10:00:00Z",
      "end": "2024-01-24T11:00:00Z",
      "attendees": ["[email protected]"]
    }
    
  3. 更新活动:

    {
      "eventId": "event_id",
      "summary": "Updated Meeting Title",
      "location": "Virtual",
      "start": "2024-01-24T11:00:00Z",
      "end": "2024-01-24T12:00:00Z"
    }
    
  4. 删除活动:

    {
      "eventId": "event_id"
    }
    

故障排除

  1. 身份验证问题:

    • 确保已授予所有必需的 OAuth 权限范围
    • 确认 Client ID 和 Client Secret 正确
    • 检查刷新令牌是否有效
  2. API 错误:

    • 在 Google Cloud Console 中检查 API 配额和限制
    • 确保已为项目启用 API
    • 确认请求参数符合所需格式

许可证

本项目采用 MIT 许可证。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。