Google Workspace MCP Server

Google Workspace MCP Server

site icon
2025.04.04 0
JavaScript邮件服务文件管理文档编辑表格处理幻灯片制作日程管理交流协作日程管理
Google Workspace MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,用于与 Google Workspace 的 API 进行交互,包括 Gmail、Drive、Calendar、Docs、Sheets 和 Slides 等。该服务提供了丰富的功能,帮助开发者高效地管理和操作 Google Workspace 的各项服务。
View on GitHub

Overview

基本能力

产品定位

Google Workspace MCP Server 旨在为开发者提供一个统一的接口,方便地与 Google Workspace 的各项服务进行交互,包括邮件管理、文件存储、文档编辑、表格处理、幻灯片制作和日程管理等。

核心功能

  • Gmail API: 发送邮件、列出消息、管理标签等
  • Drive API: 列出文件、创建文件夹、上传文件等
  • Docs API: 创建和编辑 Google 文档
  • Sheets API: 读取和写入表格数据
  • Slides API: 创建演示文稿和幻灯片
  • Calendar API: 列出和创建日历事件
  • Authentication: OAuth2 认证流程辅助工具

适用场景

  • 自动化邮件处理
  • 文件管理和存储
  • 文档和表格的自动化编辑
  • 演示文稿的创建和管理
  • 日程和事件管理

工具列表

Gmail

  • gmail_list_messages: 列出 Gmail 消息
  • gmail_get_message: 获取特定 Gmail 消息
  • gmail_send_message: 发送新邮件
  • gmail_list_labels: 列出所有 Gmail 标签
  • gmail_modify_message: 修改消息标签
  • gmail_trash_message: 将消息移至垃圾箱
  • gmail_untrash_message: 从垃圾箱恢复消息
  • gmail_create_draft: 创建草稿邮件

Drive

  • drive_list_files: 列出 Google Drive 文件
  • drive_get_file: 获取文件元数据
  • drive_create_folder: 创建新文件夹
  • drive_upload_file: 上传文件

Docs

  • docs_get_document: 获取 Google 文档内容
  • docs_create_document: 创建新文档
  • docs_append_text: 向文档追加文本

Sheets

  • sheets_get_values: 获取表格数据
  • sheets_update_values: 更新表格数据
  • sheets_create_spreadsheet: 创建新表格

Slides

  • slides_create_presentation: 创建新演示文稿
  • slides_get_presentation: 获取演示文稿信息
  • slides_create_slide: 创建新幻灯片

Calendar

  • calendar_list_events: 列出日历事件
  • calendar_create_event: 创建新事件

Authentication

  • generate_auth_url: 生成 OAuth2 认证 URL
  • exchange_code_for_tokens: 交换授权码获取令牌

常见问题解答

  • 如何获取 OAuth2 认证的刷新令牌? 使用 generate_auth_url 工具生成认证 URL,授权后使用 exchange_code_for_tokens 工具获取刷新令牌。

使用教程

使用依赖

  • Node.js 16+
  • Google Cloud 项目并启用相关 API
  • OAuth 2.0 客户端凭证

安装教程

npm install

配置

  1. 复制 .env.example 文件到 .env: bash cp .env.example .env
  2. 编辑 .env 文件,填入 Google API 凭证: CLIENT_ID=your_client_id CLIENT_SECRET=your_client_secret REDIRECT_URI=http://localhost:3000/oauth2callback REFRESH_TOKEN=your_refresh_token
  3. 如果没有刷新令牌,可以使用服务器提供的认证工具获取。

启动服务器

npm run dev

使用 MCP Inspector 测试

npm run inspect

认证

  1. 使用 generate_auth_url 工具获取认证 URL
  2. 在浏览器中打开 URL 并授权应用
  3. 从重定向 URL 中复制授权码
  4. 使用 exchange_code_for_tokens 工具交换授权码获取刷新令牌
  5. 将刷新令牌添加到 .env 文件

许可证

该项目遵循 MIT 开源许可条款。