Google Workspace API服务器

用于Google Workspace API的服务器,支持文档、表格、云端硬盘、Gmail和日历的管理与操作。

  • by EveryInc
  • TypeScript
  • 本地部署
  • 17 星标
  • 更新于
在 GitHub 查看 nityeshaga/google-workspace-mcp-server

使用说明

谷歌工作区MCP服务器

用于谷歌工作区API的MCP服务器-文档、表格、驱动器、Gmail和日历。将其与Claude Code一起使用,可以阅读、创建和编辑谷歌文档和表格,管理评论,阅读电子邮件和查看日历事件。

快速开始

  1. 获取您的Google凭据(请参阅 设置 在......下面
  2. 添加到您的Claude代码配置中(~/.claude.json):
{
  "mcpServers": {
    "google-workspace": {
      "type": "stdio",
      "command": "npx",
      "args": ["google-workspace-mcp-server"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id",
        "GOOGLE_CLIENT_SECRET": "your-client-secret",
        "GOOGLE_REFRESH_TOKEN": "your-refresh-token"
      }
    }
  }
}
  1. 重新启动Claude代码

设置

第一步:创建谷歌云项目

  1. 首选 谷歌云控制台
  2. 单击项目下拉列表(左上角)→ 新项目
  3. 将其命名为“MCP服务器”→ 创建
  4. 等待项目创建,然后选择它

步骤2:启用API

  1. 首选 API和服务 → 图书馆 (或 点击此处)
  2. 搜索并启用以下每个API:
    • 谷歌文档API → 点击→ 启用
    • 谷歌网页API → 点击→ 启用
    • Google Drive API → 点击→ 启用
    • Gmail API → 点击→ 启用
    • 谷歌日历API → 点击→ 启用

步骤3:配置OAuth同意屏幕

  1. 首选 API和服务 → OAuth 同意屏幕
  2. 选择用户类型:
    • 内部 (仅当您有谷歌工作区时)-更简单,无需测试用户设置
    • 外部的 (适用于个人Gmail帐户)-需要将自己添加为测试用户
  3. 点击 创建
  4. 填写必填字段:
    • 应用程序名称:“MCP服务器”(或任何东西)
    • 用户支持电子邮件:您的电子邮件
    • 开发人员联系电子邮件:您的电子邮件
  5. 点击 保存并继续
  6. 开 范围 页面,单击 保存并继续 (无需更改)
  7. 开 测试用户 页面(仅限外部):单击 添加用户 → 添加您的谷歌电子邮件→ 保存并继续
  8. 点击 返回仪表盘

步骤4:创建OAuth凭据

  1. 首选 API和服务 → 凭证
  2. 点击 创建凭据 → OAuth客户端ID
  3. 应用程序类型: Web应用程序
  4. 名称:“MCP服务器”(或任何东西)
  5. 在...之下 授权重定向URI,单击 添加URI 并输入:
    https://developers.google.com/oauthplayground
    
  6. 点击 创建
  7. 复制并保存您的客户端ID和客户端密码 -你需要这些!

步骤5:获取刷新令牌

  1. 首选 OAuth 2.0游乐场

  2. 点击 齿轮图标 (⚙️) 右上角

  3. 检查 “使用您自己的OAuth凭据”

  4. 输入你的 客户端ID 和 客户端密钥 从步骤4开始

  5. 关闭设置

  6. 在左侧面板中,找到并选择这些范围:

    • Google文档API v1 → https://www.googleapis.com/auth/documents
    • Google Sheets API v4 → https://www.googleapis.com/auth/spreadsheets
    • Google Drive API v3 → https://www.googleapis.com/auth/drive
    • Gmail API v1 → https://www.googleapis.com/auth/gmail.readonly
    • Gmail API v1 → https://www.googleapis.com/auth/gmail.compose (用于创建草稿)
    • 谷歌日历API v3 → https://www.googleapis.com/auth/calendar.readonly
  7. 点击 授权API

  8. 使用您的Google帐户登录并授予权限

    • 如果您看到“谷歌尚未验证此应用程序”,请单击 高级 → 转到MCP服务器(不安全)
    • 点击 继续 授予权限
  9. 点击 兑换授权码以获取令牌

  10. 复制刷新令牌 (不是访问令牌!)-这就是你需要的!

步骤6:配置Claude代码

将MCP服务器添加到您的Claude Code设置中。编辑 ~/.claude.json:

{
  "mcpServers": {
    "google-workspace": {
      "type": "stdio",
      "command": "npx",
      "args": ["google-workspace-mcp-server"],
      "env": {
        "GOOGLE_CLIENT_ID": "123456789-abcdefg.apps.googleusercontent.com",
        "GOOGLE_CLIENT_SECRET": "GOCSPX-xxxxxxxxxxxxx",
        "GOOGLE_REFRESH_TOKEN": "1//04xxxxxxxxxxxxx"
      }
    }
  }
}

用步骤4和5中的实际凭据替换这些值。

步骤7:重新启动Claude代码

重新启动Claude Code以加载新的MCP服务器。您现在应该可以使用Google Workspace工具了!

工具

谷歌文档API

工具 说明
docs_get_document 按ID获取文档内容
docs_create_document 创建新文档
docs_batch_update 插入/更新/删除文本、格式、图像、表格

谷歌网页API

工具 说明
sheets_get_spreadsheet 获取电子表格元数据
sheets_get_values 从某个范围读取单元格值
sheets_batch_get_values 从多个范围读取
sheets_update_values 将值写入范围
sheets_append_values 将行追加到表中
sheets_create_spreadsheet 创建新的电子表格
sheets_batch_update 应用格式、图表、过滤器
sheets_clear_values 清除某个范围内的单元格值
sheets_duplicate_sheet 在电子表格中复制工作表

Google Drive API

工具 说明
drive_get_file 下载文件内容(PDF、图像等)
drive_list_files 列出驱动器中的文件
drive_search_files 按名称或内容搜索文件
drive_copy_file 创建文件的副本
drive_list_comments 列出对文档的评论
drive_create_comment 添加评论(锚定或未锚定)
drive_reply_to_comment 对现有评论的回复
drive_resolve_comment 将评论标记为已解决
drive_delete_comment 删除评论

Gmail API

工具 说明
gmail_list_messages 列出带有可选搜索筛选器的邮件
gmail_get_message 获取特定消息的完整内容
gmail_list_threads 列出对话线索
gmail_get_thread 获取一个线程中的所有消息
gmail_list_labels 列出所有Gmail标签(文件夹)
gmail_create_draft 创建电子邮件草稿(不自动发送)
gmail_list_attachments 列出邮件中的附件
gmail_get_attachment 下载附件

Google日历API(只读)

工具 说明
calendar_list_calendars 列出所有可访问的日历
calendar_list_events 列出具有时间范围和搜索筛选器的事件
calendar_get_event 获取详细的事件信息
calendar_freebusy_query 查看日历的忙/闲可用性

使用示例

配置后,您可以向Claude Code询问以下内容:

  • “阅读我的谷歌文档https://docs.google.com/document/d/abc123/edit"
  • “从我的驱动器阅读此PDF:https://drive.google.com/file/d/xyz789/view"
  • “从今天开始,使用会议笔记创建一个新的谷歌文档”
  • “在我的电子表格中添加一行今天的数据”
  • “在我的驱动器中搜索有关项目规划的文件”
  • “显示对此文档的评论”
  • “回复约翰的评论,说我明天会修好它”
  • “显示我的未读电子邮件”
  • “查找来自的电子邮件notifications@github.com"
  • “今天我的日历上有什么?”
  • “显示我本周的会议”
  • “获取那次站立会议的详细信息”

故障排除

“访问令牌过期”错误

MCP服务器会使用您的刷新令牌自动刷新令牌。如果您看到此错误,则您的刷新令牌可能已被吊销。再次执行步骤5以获取新的。

“应用程序未验证”警告

这对个人项目来说很正常。点击 高级 → 转到[应用程序名称](不安全) 继续。

“权限不足”错误

确保在步骤2中启用了所有五个API(文档、表格、驱动器、Gmail、日历),并在步骤5中选择了所有五种作用域。

环境变量

变量 描述
GOOGLE_CLIENT_ID 来自谷歌云控制台的OAuth 2.0客户端ID
GOOGLE_CLIENT_SECRET OAuth 2.0客户端密钥
GOOGLE_REFRESH_TOKEN 从OAuth Playground刷新令牌

发展

# Clone the repo
git clone https://github.com/nityeshaga/google-workspace-mcp-server.git
cd google-workspace-mcp-server

# Install dependencies
npm install

# Build
npm run build

# Run locally
npm start

许可证

麻省理工学院