Google Workspace MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows listing, searching, sending, and modifying emails using the Gmail API

  • Allows listing, creating, updating, and deleting calendar events using the Google Calendar API

Google Workspace MCP 服务器

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

特征

Gmail 工具

  • list_emails :列出收件箱中最近的电子邮件,并可选择过滤
  • search_emails :使用 Gmail 查询语法进行高级电子邮件搜索
  • send_email :发送新邮件,支持抄送和密送
  • modify_email :修改电子邮件标签(存档、垃圾箱、标记为已读/未读)

日历工具

  • list_events :列出即将发生的日历事件,并按日期范围进行过滤
  • create_event :创建有参与者的新日历事件
  • update_event :更新现有日历事件
  • delete_event :删除日历事件

先决条件

  1. Node.js :安装 Node.js 版本 14 或更高版本
  2. Google Cloud 控制台设置
    • 前往Google Cloud Console
    • 创建新项目或选择现有项目
    • 启用 Gmail API 和 Google 日历 API:
      1. 前往“API 和服务”>“库”
      2. 搜索并启用“Gmail API”
      3. 搜索并启用“Google 日历 API”
    • 设置 OAuth 2.0 凭据:
      1. 前往“API 和服务”>“凭证”
      2. 点击“创建凭证”>“OAuth 客户端 ID”
      3. 选择“Web应用程序”
      4. 将“授权重定向 URI”设置为包含: http://localhost:4100/code
      5. 记下客户端 ID 和客户端密钥

设置说明

  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:example@gmail.com has:attachment", "maxResults": 10 }
  3. 发送电子邮件
    { "to": "recipient@example.com", "subject": "Hello", "body": "Message content", "cc": "cc@example.com", "bcc": "bcc@example.com" }
  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": ["colleague@example.com"] }
  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 范围都已授予
    • 验证客户端ID和密钥是否正确
    • 检查刷新令牌是否有效
  2. API 错误
    • 检查 Google Cloud Console 的 API 配额和限制
    • 确保您的项目已启用 API
    • 验证请求参数是否符合所需格式

执照

该项目已获得 MIT 许可。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

提供与 Gmail 和日历 API 交互的工具。此服务器允许您通过 MCP 界面以编程方式管理电子邮件和日历活动。

  1. Features
    1. Gmail Tools
    2. Calendar Tools
  2. Prerequisites
    1. Setup Instructions
      1. Usage Examples
        1. Gmail Operations
        2. Calendar Operations
      2. Troubleshooting
        1. License
          ID: egcwr79vu2