使用说明
谷歌工作区MCP
Google Workspace的模型上下文协议(MCP)服务器,提供通过管理SDK、Gmail、日历和驱动器API管理Google Workspace资源的工具。
先决条件
- 启用了Admin SDK API的Google云平台项目
- 具有适当权限的服务帐户
- 要模拟的Google Workspace管理员用户
设置
服务帐户配置
- 在Google Cloud控制台中创建服务帐户
- 为服务帐户授予Google Workspace Admin SDK的适当权限
- 为服务帐户创建并下载JSON密钥文件
- 为服务帐户启用全域委派
- 在Google Workspace管理控制台中为服务帐户授予必要的OAuth作用域
环境变量
应用程序需要设置以下环境变量:
| 变量 | 描述 |
|---|---|
GOOGLE_SERVICE_ACCOUNT |
服务帐户JSON密钥文件的路径 |
GOOGLE_ADMIN_EMAIL |
要模拟的Google Workspace管理员用户的电子邮件地址 |
运输(可选)
默认情况下,服务器通过stdio运行。集 MCP_TRANSPORT=http 服务于
改为可流式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/ 并发送承载令牌,例如:
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": "admin@yourdomain.com"
},
"disabled": false,
"autoApprove": []
}
}
}
注: 确保您的服务帐户在Google云控制台中启用了必要的API访问(管理SDK API、Gmail API、日历API、驱动器API、工作表API和任务API)。
可用工具
目录工具
directory_users-列出Google Workspace目录中的所有用户create_user-在Google Workspace中创建新用户get_user-获取特定用户的详细信息update_user-更新现有用户名、密码或组织单位delete_user-从Google工作区删除用户suspend_user-暂停或恢复用户帐户
组工具
list_groups-列出域中的组get_group-获取特定组的详细信息create_group-在Google Workspace中创建新组delete_group-从Google工作区删除组list_group_members-列出组的成员add_group_member-向组中添加成员remove_group_member-从组中删除成员
Gmail工具
list_gmail-列出最近的Gmail邮件(需要访问Gmail API)
日历工具
list_calendar_events-列出用户即将发生的日历事件(需要日历API访问权限)create_calendar_event-创建新日历事件(需要日历API访问权限)
驱动工具
list_drive_files-列出Google Drive中的文件(需要访问驱动器API)search_drive_files-在Google Drive中搜索文件(需要访问驱动器API)get_drive_file-获取有关特定驱动器文件的详细信息(需要驱动器API访问权限)create_drive_folder-在Google Drive中创建新文件夹(需要访问驱动器API)upload_drive_file-将文件上载到Google Drive(需要访问驱动器API)share_drive_file-与其他用户共享驱动器文件(需要驱动器API访问权限)
图纸工具
list_spreadsheets-在驱动器中列出Google表格(需要访问API表格)get_spreadsheet-获取有关电子表格的详细信息,包括表格(需要访问表格API)read_sheet_range-从电子表格中的特定范围读取数据(需要访问表格API)write_sheet_range-将数据写入电子表格中的特定范围(需要访问Sheets API)append_sheet_rows-将数据行附加到电子表格(需要访问Sheets API)create_spreadsheet-创建新的Google Sheets电子表格(需要访问Sheets API)
任务工具
list_task_lists-列出用户的所有Google任务任务列表(需要访问Tasks API)list_tasks-列出特定任务列表中的所有任务(需要任务API访问权限)create_task-在任务列表中创建新任务(需要任务API访问权限)update_task-更新现有任务(需要任务API访问权限)delete_task-从任务列表中删除任务(需要任务API访问权限)complete_task-将任务标记为已完成(需要任务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云端硬盘(读取、写入和管理文件)https://www.googleapis.com/auth/spreadsheets-用于阅读和编写Google表格电子表格https://www.googleapis.com/auth/tasks-用于阅读和编写Google任务