关于 google-workspace-mcp
google-workspace-mcp 是面向 Google Workspace 管理员的 MCP 服务,通过 Google API 提供目录、Gmail、Calendar、Drive、Sheets 和 Tasks 操作,并使用委派服务账号。
主要功能
- 01管理目录用户和群组
- 02读取近期 Gmail 邮件
- 03查看并创建日历活动
- 04搜索、上传和共享 Drive 文件
- 05读取和编辑 Google Sheets
- 06管理 Google Tasks
适用场景
- 01创建或更新 Workspace 用户账号
- 02查看邮件和近期日历活动
- 03查找、上传或共享 Drive 文件
- 04读取或更新表格和任务数据
MCP 相关
该服务将 Google Workspace 操作作为 MCP 工具提供。默认使用 stdio,也支持可选的 Streamable HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Google Workspace MCP
一个用于 Google Workspace 的模型上下文协议(MCP)服务,可通过 Admin SDK、Gmail、Calendar 和 Drive API 提供管理 Google Workspace 资源的工具。
前提条件
- 一个已启用 Admin SDK API 的 Google Cloud Platform 项目
- 一个具备相应权限的服务账号
- 一个要模拟其身份的 Google Workspace 管理员用户
设置
服务账号配置
- 在 Google Cloud Console 中创建服务账号
- 为服务账号授予 Google Workspace Admin SDK 所需的权限
- 为服务账号创建并下载 JSON 密钥文件
- 为服务账号启用全网域委派
- 在 Google Workspace Admin Console 中为服务账号授予所需的 OAuth 作用域
环境变量
应用需要设置以下环境变量:
| 变量 | 描述 |
|---|---|
GOOGLE_SERVICE_ACCOUNT | 服务账号 JSON 密钥文件的路径 |
GOOGLE_ADMIN_EMAIL | 要模拟其身份的 Google Workspace 管理员用户的电子邮件地址 |
传输方式(可选)
默认情况下,服务通过 stdio 运行。设置 MCP_TRANSPORT=http,即可改用
Streamable HTTP 传输方式。
| 变量 | 描述 |
|---|---|
MCP_TRANSPORT | 使用的传输方式:stdio(默认)或 http |
MCP_HTTP_ADDR | HTTP 传输方式的监听地址(默认值为 :8080) |
MCP_AUTH_TOKEN | 设置后,HTTP 请求必须包含 Authorization: Bearer <token> |
MCP_TRANSPORT=http MCP_HTTP_ADDR=:8080 MCP_AUTH_TOKEN=your-secret-token google-workspace-mcp
客户端随后连接到 http://<host>:8080/ 并发送 bearer token,例如:
Authorization: Bearer your-secret-token
用法
构建
make build
配置
{
"mcpServers": {
"googleworkspace-mcp": {
"command": "/go/bin/google-workspace-mcp",
"args": [],
"env": {
"GOOGLE_SERVICE_ACCOUNT": "test.json",
"GOOGLE_ADMIN_EMAIL": "[email protected]"
},
"disabled": false,
"autoApprove": []
}
}
}
注意: 请确保服务账号已在 Google Cloud Console 中启用必要的 API 访问权限(Admin SDK API、Gmail API、Calendar API、Drive API、Sheets API 和 Tasks API)。
可用工具
目录工具
directory_users- 列出 Google Workspace 目录中的所有用户create_user- 在 Google Workspace 中创建新用户get_user- 获取特定用户的详细信息update_user- 更新现有用户的姓名、密码或组织部门delete_user- 从 Google Workspace 中删除用户suspend_user- 暂停或恢复用户账号
群组工具
list_groups- 列出网域中的群组get_group- 获取特定群组的详细信息create_group- 在 Google Workspace 中创建新群组delete_group- 从 Google Workspace 中删除群组list_group_members- 列出群组成员add_group_member- 将成员添加到群组remove_group_member- 从群组中移除成员
Gmail 工具
list_gmail- 列出近期 Gmail 邮件(需要 Gmail API 访问权限)
Calendar 工具
list_calendar_events- 列出用户即将举行的日历活动(需要 Calendar API 访问权限)create_calendar_event- 创建新的日历活动(需要 Calendar API 访问权限)
Drive 工具
list_drive_files- 列出 Google Drive 中的文件(需要 Drive API 访问权限)search_drive_files- 搜索 Google Drive 中的文件(需要 Drive API 访问权限)get_drive_file- 获取特定 Drive 文件的详细信息(需要 Drive API 访问权限)create_drive_folder- 在 Google Drive 中创建新文件夹(需要 Drive API 访问权限)upload_drive_file- 将文件上传到 Google Drive(需要 Drive API 访问权限)share_drive_file- 与其他用户共享 Drive 文件(需要 Drive API 访问权限)
Sheets 工具
list_spreadsheets- 列出 Drive 中的 Google Sheets 电子表格(需要 Sheets API 访问权限)get_spreadsheet- 获取电子表格的详细信息,包括其中的工作表(需要 Sheets API 访问权限)read_sheet_range- 从电子表格的指定范围读取数据(需要 Sheets API 访问权限)write_sheet_range- 向电子表格的指定范围写入数据(需要 Sheets API 访问权限)append_sheet_rows- 向电子表格追加数据行(需要 Sheets API 访问权限)create_spreadsheet- 创建新的 Google Sheets 电子表格(需要 Sheets API 访问权限)
Tasks 工具
list_task_lists- 列出用户的所有 Google Tasks 任务列表(需要 Tasks API 访问权限)list_tasks- 列出指定任务列表中的所有任务(需要 Tasks API 访问权限)create_task- 在任务列表中创建新任务(需要 Tasks API 访问权限)update_task- 更新现有任务(需要 Tasks API 访问权限)delete_task- 从任务列表中删除任务(需要 Tasks API 访问权限)complete_task- 将任务标记为已完成(需要 Tasks API 访问权限)
必需的 OAuth 范围
为服务账号设置全域委派时,请确保授予以下 OAuth 范围:
https://www.googleapis.com/auth/admin.directory.user- 用于访问和管理目录用户信息https://www.googleapis.com/auth/admin.directory.group- 用于管理群组https://www.googleapis.com/auth/admin.directory.group.member- 用于管理群组成员https://www.googleapis.com/auth/gmail.readonly- 用于读取 Gmail 邮件https://www.googleapis.com/auth/calendar- 用于读取和写入日历活动https://www.googleapis.com/auth/drive- 用于全面访问 Google Drive(读取、写入和管理文件)https://www.googleapis.com/auth/spreadsheets- 用于读取和写入 Google Sheets 电子表格https://www.googleapis.com/auth/tasks- 用于读取和写入 Google Tasks
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。