mcpField
G
Google Workspace MCP Server

Google Workspace MCP Server

本地服务
github.com/Yulikepython生产力082 周前更新

关于 Google Workspace MCP Server

Google Workspace MCP 服务将 Gmail 和 Google Calendar 操作提供给 AI 客户端,适合需要通过 MCP 管理邮件与日程的用户。支持邮件搜索、发送和标签管理,以及日历事件的增删改查。

主要功能

  1. 01按条件列出和搜索邮件
  2. 02发送邮件并设置抄送和密送
  3. 03管理邮件标签与状态
  4. 04列出、创建、更新和删除日历事件

适用场景

  1. 01筛选未读邮件或搜索带附件的邮件
  2. 02通过 AI 客户端发送和整理邮件
  3. 03查询指定日期范围内的日程
  4. 04创建或调整含参与者的会议

MCP 相关

作为 MCP 服务,它向 MCP 客户端提供 Gmail 与 Google Calendar 工具,包括邮件和日历事件的查询及管理。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

Google Workspace MCP Server

本项目基于以下仓库创建: epaproditus/google-workspace-mcp-server

将 Google Workspace 功能(日历、邮件)作为 MCP 服务提供的应用程序

功能

Gmail 功能
  • list_emails:列出收件箱中的近期邮件,并支持筛选
  • search_emails:使用 Gmail 查询语法进行高级邮件搜索
  • send_email:发送邮件,支持 CC、BCC
  • modify_email:管理邮件标签(归档、移至垃圾箱、标记为已读/未读)
日历功能
  • list_events:列出指定日期范围内的日程
  • create_event:创建包含参与者的日程
  • update_event:更新现有日程
  • delete_event:删除日程

必要条件

  1. Node.js:安装 Node.js 20 或更高版本
  2. Google Cloud Console 设置:
    • 访问 Google Cloud Console
    • 创建新项目或选择现有项目
    • 启用 Gmail API 和 Google Calendar API:
      1. 前往“API 和服务”>“库”
      2. 搜索“Gmail API”并启用
      3. 搜索“Google Calendar API”并启用
    • 设置 OAuth 2.0 凭据:
      1. 前往“API 和服务”>“凭据”
      2. 点击“创建凭据”>“OAuth 客户端 ID”
      3. 选择“桌面应用”
      4. 在“已获授权的重定向 URI”中添加 http://localhost:4100/code
      5. 记下 Client ID 和 Client Secret

设置步骤

  1. 克隆并安装仓库:

    git clone https://github.com/Yulikepython/gogole-workspace-mcp-server-by-itc.git
    cd google-workspace-mcp-server-by-itc
    npm install
    
  2. 设置凭据:

    # credentials.json.exampleをコピー
    cp credentials.json.example credentials.json
    

    按如下方式编辑 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
    
  6. 添加部署设置(.env):

    使用 deploy 脚本需要 .env 文件。

    cp .env.example .env
    

    请在 .env 中设置以下环境变量:

    SSH_USER=your_ssh_user
    SSH_HOST=your.ssh.host
    SSH_PATH=/your/deploy/path
    

npm scripts

命令说明
npm run build创建捆绑文件并赋予可执行权限
npm run start在本地构建并运行
npm run clean删除构建产物
npm run deploy构建后将文件部署到生产环境
npm run logs实时显示生产环境中的应用程序日志

使用示例

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"]
    }
    
日历操作
  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 和 Secret 正确
    • 确认刷新令牌有效
  2. API 错误:

    • 在 Google Cloud Console 中检查 API 配额和限制
    • 确认项目已启用 API
    • 确认请求参数格式正确

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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