Google Workspace文档管理服务器

一个用于通过编程方式创建、读取和修改Google Workspace文档(如Slides、Sheets、Docs和Drive)的AI助手服务器。

  • by VolksRat71
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 VolksRat71/google-workspace-mcp

使用说明

谷歌工作区MCP服务器

用于Google幻灯片、表格、文档和驱动器的MCP服务器。使AI助手能够以编程方式创建、阅读和修改Google Workspace文档。

快速开始

npm install
npm run build
npm run get-token  # One-time OAuth setup
npm start

配置

所需的环境变量

GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_REFRESH_TOKEN=your_refresh_token

可选模块切换

默认情况下启用所有模块。设置为 false 要禁用:

ENABLE_SHEETS=false
ENABLE_SLIDES=false
ENABLE_DOCS=false
ENABLE_REVISIONS=false

驱动工具始终处于启用状态(核心功能)。

Claude代码配置

添加到MCP设置中:

{
  "mcpServers": {
    "google-workspace-mcp": {
      "command": "node",
      "args": ["/path/to/google-workspace-mcp/build/index.js"],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id",
        "GOOGLE_CLIENT_SECRET": "your_client_secret",
        "GOOGLE_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

可用工具

驱动器(始终启用)

工具 说明
create_folder 在Google云端硬盘中创建文件夹
list_files 列出具有过滤、分页和排序功能的文件/文件夹。支持共享驱动器。
get_file 获取特定文件的详细元数据(权限、功能、所有者)
search_files 使用查询语法搜索驱动器(例如。, name contains 'report')
export_file 将Google文档/表格/幻灯片导出为PDF、文本、CSV、docx等格式。

表格

工具 说明
create_spreadsheet 创建新的电子表格
get_spreadsheet 获取电子表格元数据
get_sheet_values 读取单元格值
update_sheet_values 写入单元格值
batch_update_spreadsheet 应用格式/结构更改
append_sheet_values 添加行
summarize_spreadsheet 提取所有数据
copy_sheet 在电子表格之间复制表格

幻灯片

工具 说明
create_presentation 创建新演示文稿
get_presentation 获取演示元数据
batch_update_presentation 将更新应用于幻灯片
get_page 获取特定幻灯片详细信息
summarize_presentation 从所有幻灯片中提取文本

文档

工具 说明
create_document 创建新文档
get_document 获取文档内容
batch_update_document 插入/删除/格式化文本
summarize_document 提取文本内容

版本历史

工具 说明
list_revisions 列出文档版本历史记录
get_revision 通过还原说明获取修订详细信息

安全

OAuth范围

此服务器请求所需的最小作用域:

范围 目的
presentations 创建/编辑谷歌幻灯片
spreadsheets 创建/编辑谷歌表格
documents 创建/编辑谷歌文档
drive.readonly 浏览、搜索和读取文件元数据(包括共享驱动器)
drive.file 导出和管理此应用程序创建的文件

此服务器可以访问什么

  • 您帐户中的所有幻灯片演示文稿
  • 您帐户中的所有表格电子表格
  • 您帐户中的所有文档
  • 驱动器文件元数据、浏览和搜索(包括共享驱动器)
  • 将Google Workspace文件导出为其他格式(PDF、文本、CSV等)

此服务器无法访问的内容

  • Gmail、日历或其他谷歌服务
  • 删除或永久修改您不拥有的文件
  • 您的Google帐户密码或2FA设置

安全最佳实践

  1. 永不承诺 .env 文件到版本控制
  2. 为此服务器使用专用的Google Cloud项目
  3. 查看访问权限 Google帐户权限
  4. 使用以下方式重新生成令牌 npm run get-token 如果妥协

OAuth设置

1.启用API

在 谷歌云控制台:

  1. 创建或选择项目
  2. 启用:幻灯片API、表格API、文档API、驱动器API

2.创建凭据

  1. 转到API和服务>凭据
  2. 创建OAuth客户端ID(桌面应用程序类型)
  3. 下载客户端ID和密码

3.配置同意屏幕

添加以下范围:

  • https://www.googleapis.com/auth/presentations
  • https://www.googleapis.com/auth/spreadsheets
  • https://www.googleapis.com/auth/documents
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file

4.生成刷新令牌

# Add client ID and secret to .env first
npm run get-token

刷新令牌生成一次并存储。仅在以下情况下重新生成:

  • 您更改了OAuth作用域
  • 您撤销了对Google帐户的访问权限
  • 您需要使用其他帐户

故障排除

“请求的身份验证范围不足”

  1. 验证所有5个作用域都在OAuth同意屏幕中
  2. 重新生成令牌: npm run get-token
  3. 重新启动MCP服务器

“API尚未在项目中使用”

启用Google云控制台中缺少的API。错误消息包括直接链接。

一种服务有效,但另一种服务无效

令牌是在没有所有作用域的情况下生成的。将缺失的范围添加到同意屏幕,并使用重新生成 npm run get-token.

发展

npm install          # Install dependencies
npm run build        # Compile TypeScript
npm run lint         # Run ESLint
npm test             # Run tests
npm run get-token    # Generate OAuth token

MCP检验员测试

export $(cat .env | xargs) && npx @modelcontextprotocol/inspector node build/index.js

许可证

国际学生中心