使用说明
谷歌工作区MCP服务器
一种模型上下文协议(MCP)服务器,提供对Google Workspace服务的只读访问。
这有什么不同?
此MCP提供 两种身份验证选项 根据您的设置:
选项1:ADC(建议企业使用)
- 使用gcloud CLI(与Terraform、其他谷歌工具相同)
- 非常适合具有现有gcloud设置的企业用户
- 需要启用工作区API的配额项目
- 无需额外设置 如果您已经配置了gcloud
选项2:OAuth(用于个人Gmail)
- 适用于没有gcloud的个人Gmail帐户
- 需要一次性设置:在Google Cloud Console中创建自己的OAuth凭据(约5分钟)
- 代币安全存储在
~/.config/g-workspace-mcp/
这两个选项都适用于个人Gmail帐户和企业Google Workspace帐户。
特征
- Google 云端硬盘:搜索文件、列出文件夹、读取文档内容
- Gmail:搜索电子邮件、阅读邮件、列出标签
- 谷歌日历:列出日历,获取事件
- 谷歌表格:读取电子表格数据
所有访问权限均为 只读 为了安全。
需求
- Python 3.11+
- 紫外线 -快速Python包管理器(安装)
- 谷歌云CLI -仅ADC身份验证需要(OAuth不需要)
快速开始
1.安装uv(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
2.安装MCP服务器
git clone https://github.com/jacob-bd/google-workspace-mcp.git
cd google-workspace-mcp
uv tool install .
这将在隔离环境中全局安装CLI。安装后,您可以删除 google-workspace-mcp 文件夹。
3.安装Google Cloud CLI(如果尚未安装)
macOS:
brew install --cask google-cloud-sdk
Linux(Fedora/RHEL):
sudo dnf install google-cloud-cli
Linux(Ubuntu/Debian):
sudo apt-get install google-cloud-cli
4.身份验证
选择您的身份验证方法:
- ADC(企业):如果你安装了gcloud,只需运行
g-workspace-mcp setup --adc - OAuth(个人Gmail):首先创建OAuth凭据(请参阅下一节),然后运行
g-workspace-mcp setup --oauth
创建OAuth凭据(适用于个人Gmail用户)
如果您使用OAuth而不是ADC,则需要在Google Cloud Console中创建自己的OAuth凭据。这是一个一次性设置,大约需要5分钟。
视频演练
观看此演示,了解GCP OAuth设置过程和实际使用的工具:
单击上图在新窗口中打开视频。
第一步:创建谷歌云项目
- 首选 谷歌云控制台
- 单击页面顶部的项目下拉列表
- 点击 新项目
- 输入项目名称(例如“工作区MCP”)
- 点击 创建
- 等待项目创建,然后从下拉列表中选择它
步骤2:启用API
- 首选 API和服务 > 图书馆 (或 点击此处)
- 搜索并启用以下每个API:
- Google Drive API
- Gmail API
- 谷歌日历API
- 谷歌网页API
步骤3:配置OAuth同意屏幕
- 首选 API和服务 > OAuth同意屏幕
- 选择 外部 然后单击 创建
- 填写必填字段:
- 应用程序名称:“工作区MCP”(或您喜欢的任何名称)
- 用户支持电子邮件:您的电子邮件地址
- 开发人员联系电子邮件:您的电子邮件地址
- 点击 保存并继续
- 在 范围 页面,单击 添加或删除作用域
- 添加这些范围(搜索或粘贴网址):
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/spreadsheets.readonly
- 点击 更新那么 保存并继续
- 在 测试用户 页面,单击 添加用户
- 添加您自己的电子邮件地址
- 点击 保存并继续那么 返回仪表盘
步骤4:创建OAuth客户端ID
- 首选 API和服务 > 凭证
- 点击 +创建凭据 > OAuth客户端ID
- 选择 桌面应用程序 作为应用程序类型
- 输入名称(例如,“工作区MCP桌面”)
- 点击 创建
步骤5:下载并保存凭据
- 弹出窗口将显示您的客户端ID和客户端密码
- 点击 下载JSON (重要提示:立即执行此操作,以后将无法下载密钥!)
- 移动到
~/.config/g-workspace-mcp/client_secret.json使用下面的命令(这也会为您重命名文件)
在macOS/Linux上:
mkdir -p ~/.config/g-workspace-mcp
mv ~/Downloads/client_secret*.json ~/.config/g-workspace-mcp/client_secret.json
提示: 下载的文件有一个长名称,如
client_secret_123...googleusercontent.com.json。上面的命令会自动匹配它并重命名它。如果mv命令显示“不匹配”,打开下载文件夹并手动拖动文件,或复制确切的文件名:mv ~/Downloads/<paste-exact-filename>.json ~/.config/g-workspace-mcp/client_secret.json
步骤6:运行安装程序
g-workspace-mcp setup --oauth
这将打开您的浏览器,使用您的Google帐户登录。授权后,一切就绪!
备注:您将看到一条警告,指出该应用程序“未经验证”。这对于个人OAuth应用程序来说是正常的。点击 高级 > 转到工作区MCP(不安全) 继续。这是安全的,因为你自己创建了应用程序。
5.身份验证(ADC方法-企业用户)
如果您已安装并配置了gcloud,请运行:
g-workspace-mcp setup --adc
这将:
- 检查gcloud命令行界面 -验证是否已安装
- 检查现有凭据 -显示文件位置和任何配置
quota_project - 测试API访问 -验证您的凭据是否具有所需的范围
- 如果需要,重新进行身份验证 -在重新验证之前创建现有凭据的备份
就是这样! 如果你已经为gcloud设置了配额项目,那么你就可以开始了。
6.配置您的AI工具
# See available options
g-workspace-mcp config
# Configure Claude Code
g-workspace-mcp config -f claude
# Configure Gemini CLI
g-workspace-mcp config -f gemini
# Get JSON config for Cursor or other tools
g-workspace-mcp config -f cursor
# Get universal JSON format for other AI IDEs
g-workspace-mcp config -f json
该命令将显示它将要执行的操作并要求确认。
没有要运行的服务器! Claude Code通过stdio按需生成流程。
身份验证详细信息
此MCP支持两种身份验证方法。使用适合您设置的选项。
OAuth令牌存储
OAuth令牌安全地存储在:
- 位置:
~/.config/g-workspace-mcp/token.json - 权限:600(仅限所有者读/写)
- 刷新:令牌过期时自动刷新
ADC令牌存储
ADC令牌存储在:
- Linux/macOS:
~/.config/gcloud/application_default_credentials.json
当使用ADC重新进行身份验证时,setup命令会自动备份您现有的凭据:
~/.config/gcloud/application_default_credentials.json.backup.<timestamp>
令牌生命周期
- 访问令牌 最近1小时和自动刷新
- 刷新令牌 持续使用至撤销或未使用6个月
- 如果身份验证过期,请运行
g-workspace-mcp setup再次
CLI命令
# Set up authentication (interactive - prompts to choose method)
g-workspace-mcp setup
# Set up with specific method
g-workspace-mcp setup --oauth # OAuth flow (requires client_secret.json)
g-workspace-mcp setup --adc # ADC/gcloud flow (for enterprise users)
# Configure MCP for AI tools (default: system-wide)
g-workspace-mcp config -f <claude|cursor|gemini|json>
g-workspace-mcp config -f claude -s project # Project-level instead
# Check authentication status
g-workspace-mcp status
# Remove stored credentials
g-workspace-mcp logout # Remove OAuth token
g-workspace-mcp logout --all # Also show ADC removal instructions
# Run MCP server (called by AI tools automatically)
g-workspace-mcp run
可用工具
驱动工具
| 工具 | 说明 |
|---|---|
drive_search |
使用可选类型筛选器按查询搜索文件 |
drive_list |
列出文件夹中的文件 |
drive_list_recursive |
递归列出文件夹树中所有文件的大小 |
drive_get_content |
获取文件内容(文档、表格、文本文件) |
Gmail工具
| 工具 | 说明 |
|---|---|
gmail_search |
使用Gmail查询语法搜索电子邮件 |
gmail_get_message |
通过邮件ID获取完整的电子邮件内容 |
gmail_list_labels |
列出所有Gmail标签 |
日历工具
| 工具 | 说明 |
|---|---|
calendar_list |
列出所有可访问的日历 |
calendar_get_events |
获取日期范围内的事件 |
图纸工具
| 工具 | 说明 |
|---|---|
sheets_read |
从电子表格区域读取数据 |
AI工具的配置
克劳德代码
选项1:使用g-workspace-mcp(推荐)
# Add system-wide (default)
g-workspace-mcp config -f claude
# Or add project-level
g-workspace-mcp config -f claude -s project
这将向您显示命令,并在运行之前请求确认。
选项2:手动配置
添加 ~/.claude/mcp_servers.json:
{
"mcpServers": {
"google-workspace": {
"command": "g-workspace-mcp",
"args": ["run"]
}
}
}
验证安装:
claude mcp list
或者使用 /mcp Claude Code中的命令,用于验证服务器是否已配置。
光标
添加到光标MCP设置:
{
"google-workspace": {
"command": "g-workspace-mcp",
"args": ["run"]
}
}
Gemini CLI
选项1:使用g-workspace-mcp(推荐)
# Add system-wide (default)
g-workspace-mcp config -f gemini
# Or add project-level
g-workspace-mcp config -f gemini -s project
这将向您显示命令,并在运行之前请求确认。
选项2:手动配置
为了 系统范围的 访问,添加到 ~/.gemini/settings.json:
{
"mcpServers": {
"google-workspace": {
"command": "g-workspace-mcp",
"args": ["run"]
}
}
}
为了 项目级 访问,添加到 .gemini/settings.json 在您的项目目录中:
{
"mcpServers": {
"google-workspace": {
"command": "g-workspace-mcp",
"args": ["run"]
}
}
}
验证安装:
gemini mcp list
其他AI IDE(JSON格式)
对于上面未列出的工具,请使用JSON格式获取通用配置:
g-workspace-mcp config -f json
这将输出适用于任何AI IDE的标准MCP服务器配置:
{
"google-workspace": {
"command": "g-workspace-mcp",
"args": ["run"]
}
}
将其添加到IDE的MCP配置文件中(有关确切位置和格式,请参阅IDE的文档)。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
LOG_LEVEL |
INFO |
日志记录级别 |
安全
- 所有API作用域都是 只读 为了安全
- OAuth令牌存储在 600权限 (仅限所有者读/写)
- 没有要管理或共享的凭据文件
- 客户端机密(如果使用OAuth)永远不应该提交给git
隐私
此MCP可以 不 收集、存储或传输任何用户数据:
- 无数据记录 -操作日志(发送到stderr,从不发送stdout)仅包含元数据(计数、ID),从不包含电子邮件或文件内容
- 无数据存储 -您的电子邮件、文件和日历事件永远不会写入磁盘
- 无遥测 -零分析、跟踪或使用报告
- 直接数据流 -数据直接从Google API流向您的AI工具
本地存储的唯一文件是您的OAuth令牌(~/.config/g-workspace-mcp/token.json)用于身份验证目的。
故障排除
“未配置谷歌身份验证”
运行安装命令:
g-workspace-mcp setup
“身份验证已过期,无法刷新”
重新验证:
g-workspace-mcp setup
“ModuleNotFoundError:没有名为'google.auth'的模块或类似的导入错误
如果你在尝试直接运行Python文件时看到导入错误, 不运行源文件. MCP服务器作为CLI工具安装。始终使用:
g-workspace-mcp status # Check authentication
g-workspace-mcp run # Run the server
不要尝试直接运行源文件:
# These will fail:
python3 g_workspace_mcp/src/cli.py status # WRONG
python3 -m g_workspace_mcp.src.cli status # WRONG
检查状态
g-workspace-mcp status
发展
# Install in editable mode (for development - requires keeping the folder)
uv pip install -e ".[dev]"
# Run directly
uv run python -m g_workspace_mcp.src.main
振动编码警报
完全透明:该项目由非开发人员使用AI编码助手构建。如果你是一个经验丰富的Python开发人员,你可能会看看这个代码库和wince。没关系。
这里的目标是解决一个棘手的问题——从人工智能工具只读访问谷歌工作区——并在此过程中学习。代码可以工作,但它可能缺少只有多年经验才能提供的模式、优化或优雅。
许可证
麻省理工学院