Google Workspace集成工具

轻量级Go实现的Google Workspace MCP服务器,提供137种工具覆盖12项Google服务,适用于本地AI工具集成。

  • by magks
  • Go
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 magks/google-workspace-mcp-go

使用说明

谷歌工作区mcp-go

轻量级Go实现 谷歌工作区MCP服务器 --12个谷歌服务中的137个工具,单个自包含的二进制文件,专为本地人工智能工具使用而设计。

为什么存在

这 原始Python服务器 功能齐全,可投入生产,支持多用户OAuth 2.1、HTTP传输和分布式会话存储。这是共享/托管部署的正确选择。

这种Go重写适用于不同的用例: 单用户、本地AI工具使用 --特别是在您的计算机上运行的Claude Code、Cursor和类似的MCP客户端。如果你想用最少的内存使用和没有Python运行时开销的Google Workspace集成,这是为你准备的。

Python(原始) Go(此仓库)
工具 137 137
二进制文件/安装大小 Python+virtualenv+deps 27MB单个二进制文件
启动时间 ~3s(测量的) ~10ms(测量的)
运行时要求 Python 3.10+,uv/pip 无
传输 stdio,可流式传输HTTP stdio
认证 OAuth 2.0+OAuth 2.1 OAuth 2.0
多用户 是(会话管理,Valkey) 否(单用户)
HTTP服务器模式 是 否

如果满足以下条件,请使用Go版本:您在本地以Claude Code或类似方式运行MCP工具,希望低内存使用率,并且不需要多用户或HTTP服务器模式。

如果满足以下条件,请使用Python版本:您需要多用户支持、OAuth 2.1、HTTP传输或托管/容器化部署。

快速开始

1.谷歌云项目设置

您需要一个具有OAuth凭据的Google Cloud项目。如果您已经使用过 原始Python服务器,同样的凭据在这里也适用。

创建OAuth凭据:

  1. 去 Google 云控制台
  2. 创建新项目(或选择现有项目)
  3. 引导到 API和服务>OAuth同意屏幕 如果您还没有配置它,请进行配置
  4. 引导到 API和服务>凭据
  5. 点击 创建凭据>OAuth客户端ID
  6. 选择 桌面应用程序 作为应用程序类型
  7. 注意 客户端ID 和 客户端密钥

启用API 您需要(单击直接启用):

您只需要为计划使用的服务启用API。例如,如果你只需要Gmail和日历,只需启用这两个。

2.安装

下载预构建的二进制文件 (无需Go):

去 发布 页面并下载适用于您平台的存档:

平台 文件
Linux(x86_64) google-workspace-mcp-go_*_linux_amd64.tar.gz
Linux(ARM64) google-workspace-mcp-go_*_linux_arm64.tar.gz
macOS(苹果硅) google-workspace-mcp-go_*_darwin_arm64.tar.gz
macOS(英特尔) google-workspace-mcp-go_*_darwin_amd64.tar.gz
Windows(x86_64) google-workspace-mcp-go_*_windows_amd64.zip
# Example: Linux x86_64
tar xzf google-workspace-mcp-go_*_linux_amd64.tar.gz
chmod +x google-workspace-mcp-go
mv google-workspace-mcp-go ~/.local/bin/  # or anywhere on your PATH

或使用Go安装 (需要Go 1.24+):

go install github.com/magks/google-workspace-mcp-go@latest

这将二进制文件放入您的 $GOPATH/bin (通常 ~/go/bin).

或从源代码构建:

git clone https://github.com/magks/google-workspace-mcp-go.git
cd google-workspace-mcp-go
go build -o google-workspace-mcp-go .

3.配置环境

export GOOGLE_OAUTH_CLIENT_ID="your-client-id.apps.googleusercontent.com"
export GOOGLE_OAUTH_CLIENT_SECRET="your-client-secret"
export USER_GOOGLE_EMAIL="you@gmail.com"  # optional but recommended

您可以将这些添加到您的shell配置文件中(~/.bashrc, ~/.zshrc等等),因此它们在会话中持续存在。

4.添加到克劳德代码

二进制文件从环境变量中读取配置。如果你已经有了 GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET,以及 USER_GOOGLE_EMAIL 导出到运行Claude Code的shell中,您不需要在MCP配置中重复它们——二进制文件会自动拾取它们。

最小配置 (env变量已导出到shell中):

{
  "mcpServers": {
    "google-workspace": {
      "command": "/path/to/google-workspace-mcp-go"
    }
  }
}

显式配置 (每个服务器设置环境变量,如果您不想全局导出,这很有用):

{
  "mcpServers": {
    "google-workspace": {
      "command": "/path/to/google-workspace-mcp-go",
      "env": {
        "GOOGLE_OAUTH_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
        "GOOGLE_OAUTH_CLIENT_SECRET": "your-client-secret",
        "USER_GOOGLE_EMAIL": "you@gmail.com"
      }
    }
  }
}

要减少加载的工具数量(有助于保持在上下文限制内),请使用 --tools 和 --tool-tier:

{
  "mcpServers": {
    "google-workspace": {
      "command": "/path/to/google-workspace-mcp-go",
      "args": ["--tools", "gmail drive calendar", "--tool-tier", "core"]
    }
  }
}

5.首次运行--身份验证

首次使用时,您需要向Google进行身份验证:

  1. 让你的人工智能助手呼叫 start_google_auth 工具与您的电子邮件
  2. 浏览器窗口打开,显示谷歌的OAuth同意屏幕
  3. 授权请求的权限
  4. 凭据保存到 ~/.google_workspace_mcp/credentials/your-email.json
  5. 后续运行会自动使用保存的凭据(令牌透明刷新)

注: start_google_auth 需要 gmail 在你的 --tools 列出(或省略 --tools 加载所有服务)。如果您使用的是没有gmail的受限工具集,请临时添加它进行初始身份验证。

配置

CLI标志

标志 描述 默认值
--tools 以空格分隔的服务列表(例如。 gmail drive calendar) 全部
--tool-tier 工具层: core, extended,或 complete complete
--read-only 启用只读模式(禁用所有写入工具) false

环境变量

变量 必填 描述
GOOGLE_OAUTH_CLIENT_ID 是 来自谷歌云控制台的OAuth 2.0客户端ID
GOOGLE_OAUTH_CLIENT_SECRET 是 OAuth 2.0客户端密码
USER_GOOGLE_EMAIL 否 默认电子邮件(避免每次工具调用都需要它)
WORKSPACE_MCP_CREDENTIALS_DIR 否 自定义凭据存储目录
GOOGLE_PSE_API_KEY 否 谷歌可编程搜索引擎API密钥
GOOGLE_PSE_ENGINE_ID 否 谷歌可编程搜索引擎ID

工具层级

层级允许您控制注册的工具数量,这会影响AI助手中的上下文窗口使用情况:

层级 描述 工具数量
core 每次服务的基本读/写工具 ~45
extended 核心+高级管理工具 ~95
complete 所有工具(默认) 137

可用服务

gmail drive calendar docs sheets slides forms tasks chat contacts search appscript

工具

Full tool reference (137 tools across 12 services)

Gmail(15个工具)

工具 层级 描述
search_gmail_messages core 使用Gmail查询语法搜索邮件
get_gmail_message_content core 获取完整的消息内容
get_gmail_messages_content_batch core 批量检索最多25条消息
send_gmail_message core 发送带有可选附件的电子邮件
get_gmail_attachment_content 扩展 下载附件内容
get_gmail_thread_content extended 获取完整的对话线索
modify_gmail_message_labels extended 添加/删除邮件标签
list_gmail_labels extended 列出所有标签
manage_gmail_label extended 创建、更新或删除标签
draft_gmail_message 扩展 创建电子邮件草稿
list_gmail_filters extended 列出邮件筛选器
create_gmail_filter extended 创建新邮件筛选器
delete_gmail_filter extended 删除邮件筛选器
get_gmail_threads_content_batch complete 批量检索最多25个线程
batch_modify_gmail_message_labels 完成 批量标签操作

系统工具 (已在gmail上注册,但并非特定于gmail):

工具 层级 描述
start_google_auth 完成 触发OAuth身份验证流

谷歌云端硬盘(16个工具)

工具 层级 描述
search_drive_files core 使用驱动器查询语法搜索文件
get_drive_file_content core 下载文件内容
get_drive_file_download_url core 获取下载URL
create_drive_file core 创建新文件
import_to_google_doc core 将文件导入为Google文档
share_drive_file core 与用户共享文件
get_drive_shareable_link core 生成可共享链接
list_drive_items extended 列出文件夹中的文件
copy_drive_file 扩展 重复文件
update_drive_file 扩展 更新文件元数据/内容
update_drive_permission 扩展 修改共享权限
remove_drive_permission 扩展 撤销访问
transfer_drive_ownership 扩展 转移文件所有权
batch_share_drive_file 扩展 批共享
get_drive_file_permissions complete 列出所有权限
check_drive_file_public_access 完成 检查公共共享状态

谷歌日历(6个工具)

工具 层级 描述
list_calendars core 列出用户的日历
get_events core 获取具有时间范围的事件
create_event core 创建日历事件
modify_event core 更新事件详细信息
delete_event extended 删除事件
query_freebusy 扩展 检查可用性

谷歌文档(19个工具)

工具 层级 描述
get_doc_content core 获取文档文本内容
create_doc core 创建新文档
modify_doc_text core 编辑文档文本
export_doc_to_pdf 扩展 导出为PDF
search_docs 扩展 搜索文档
find_and_replace_doc extended 查找和替换文本
list_docs_in_folder extended 列出Drive文件夹中的文档
insert_doc_elements extended 插入格式化元素
update_paragraph_style 扩展 更改段落格式
insert_doc_image 完成 插入图像
update_doc_headers_footers complete 编辑页眉/页脚
batch_update_doc 完成 批量文档操作
inspect_doc_structure 完成 分析文档结构
create_table_with_data complete 创建并填充表
debug_table_structure 完成 检查表格布局
read_document_comments 完成 阅读所有评论
create_document_comment 完成 添加评论
reply_to_document_comment 完成 回复评论
resolve_document_comment 完成 解决评论

谷歌表格(14个工具)

工具 层级 描述
create_spreadsheet core 创建新的电子表格
read_sheet_values core 读取单元格值
modify_sheet_values core 写入/更新单元格
list_spreadsheets extended 列出用户的电子表格
get_spreadsheet_info extended 获取电子表格元数据
create_sheet 完成 添加工作表选项卡
format_sheet_range complete 设置单元格范围的格式
add_conditional_formatting complete 添加条件格式规则
update_conditional_formatting complete 修改格式规则
delete_conditional_formatting complete 删除格式规则
read_spreadsheet_comments 完成 阅读所有评论
create_spreadsheet_comment 完成 添加评论
reply_to_spreadsheet_comment 完成 回复评论
resolve_spreadsheet_comment 完成 解决评论

谷歌幻灯片(9个工具)

工具 层级 描述
create_presentation core 创建演示文稿
get_presentation core 获取演示文稿内容
batch_update_presentation 扩展 批量幻灯片操作
get_page 扩展 获取个人幻灯片
get_page_thumbnail 扩展 获取幻灯片缩略图
read_presentation_comments 完成 阅读所有评论
create_presentation_comment 完成 添加评论
reply_to_presentation_comment 完成 回复评论
resolve_presentation_comment 完成 解决评论

谷歌表单(6个工具)

工具 层级 描述
create_form core 创建新表单
get_form core 获取表单详细信息
list_form_responses extended 列出所有回复
set_publish_settings 完成 配置发布
get_form_response 完成 获取个人回复
batch_update_form 完成 批量表单更新

谷歌任务(12个工具)

工具 层级 描述
get_task core 获取任务详细信息
list_tasks 核心 列出任务
create_task core 创建任务
update_task core 更新任务
delete_task 扩展 删除任务
list_task_lists complete 列出任务列表
get_task_list complete 获取任务列表详细信息
create_task_list 完成 创建任务列表
update_task_list 完成 更新任务列表
delete_task_list 完成 删除任务列表
move_task complete 在列表之间移动任务
clear_completed_tasks complete 清除已完成的任务

谷歌聊天(4工具)

工具 层级 描述
send_message core 发送聊天消息
get_messages core 获取消息
search_messages 核心 搜索消息
list_spaces extended 列出空格/DM

谷歌联系人(15个工具)

工具 层级 描述
search_contacts 核心 搜索联系人
get_contact core 获取联系方式
list_contacts 核心 列出联系人
create_contact core 创建联系人
update_contact 扩展 更新联系人
delete_contact 扩展 删除联系人
list_contact_groups extended 列出联系人组
get_contact_group extended 获取组详细信息
batch_create_contacts 完成 批量创建
batch_update_contacts 完成 批量更新
batch_delete_contacts 完成 批量删除
create_contact_group 完成 创建组
update_contact_group 完成 更新组
delete_contact_group 完成 删除组
modify_contact_group_members 完成 管理组成员

谷歌自定义搜索(3个工具)

工具 层级 描述
search_custom core 可编程搜索引擎查询
search_custom_siterestrict 扩展 网站限制搜索
get_search_engine_info complete 获取搜索引擎配置

谷歌应用脚本(17个工具)

工具 层级 描述
list_script_projects core 列出用户的脚本
get_script_project core 获取脚本元数据
get_script_content core 获取脚本源代码
create_script_project core 创建新脚本
update_script_content core 更新脚本代码
run_script_function core 执行脚本函数
generate_trigger_code core 生成触发代码
create_deployment 扩展 部署脚本
list_deployments 扩展 列出部署
update_deployment 扩展 更新部署
delete_deployment extended 删除部署
delete_script_project 扩展 删除脚本
list_versions 扩展 列出版本
create_version 扩展 创建版本
get_version extended 获取版本详细信息
list_script_processes extended 列出正在运行的进程
get_script_metrics extended 获取脚本指标

凭据存储

凭据以JSON文件存储在 ~/.google_workspace_mcp/credentials/ (可通过以下方式配置 WORKSPACE_MCP_CREDENTIALS_DIR).每个文件都有名称 {email}.json 并且包含OAuth2令牌。

凭据目录是通过以下方式创建的 0700 权限。个人凭据文件是通过以下方式创建的 0600 权限。

测试

# Run all tests (~1100 tests, takes ~1 second)
go test ./...

# Run with verbose output
go test -v ./...

# Run tests for a specific service
go test ./tools/ -run TestGmail
go test ./tools/ -run TestDrive

# Run integration tests against real Google APIs (requires credentials)
INTEGRATION_TEST_EMAIL="you@gmail.com" go test -tags integration ./tools/

测试套件有三层,不需要网络访问(集成除外):

  • 单元测试 --用于格式化、解析和辅助逻辑的纯函数测试
  • 协议测试 --发送MCP tools/call 通过服务器发送消息,验证参数验证和错误路径
  • 模拟API测试 --完整的处理程序管道 httptest.Server 返回罐装的Google API响应

集成测试在后面进行 integration 生成标签并在以下情况下自动跳过 INTEGRATION_TEST_EMAIL 未设置。

局限性

  • 仅限stdio传输 --无HTTP服务器模式(使用 Python版本 为此)
  • 单用户 --无多用户会话管理或OAuth 2.1
  • 无附件服务 --没有用于文件下载的HTTP端点
  • 仅限本地使用 --专为本地MCP客户端设计,而非托管部署

致谢

这个项目是Go重写的 google_workspace_mcp 通过 泰勒·威尔斯顿最初是用Python编写的。最初的项目提供了功能齐全的实现,包括多用户支持、OAuth 2.1、HTTP传输等。在麻省理工学院获得许可。

许可证

麻省理工学院