mcpField
G
Google Workspace MCP Server

Google Workspace MCP Server

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

关于 Google Workspace MCP Server

Google Workspace MCP Server 通过 MCP 工具管理 Gmail 邮件和 Google Calendar 日程,适用于需要程序化处理通信与日历的用户。它支持邮件搜索和发送,以及日程创建、更新和删除,并通过 OAuth 设置授权。

主要功能

  1. 01列出和搜索 Gmail 邮件
  2. 02发送邮件并设置抄送和密送
  3. 03修改邮件标签与状态
  4. 04按日期范围列出日程
  5. 05创建、更新和删除日程

适用场景

  1. 01查找未读或符合条件的邮件
  2. 02向收件人发送带抄送的邮件
  3. 03归档邮件或标记已读
  4. 04管理日程及参与者

MCP 相关

它将 Gmail 和 Calendar 操作作为工具提供给 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。