Google工具服务器

一个功能齐全的Google Workspace服务器,为AI助手提供实时访问Drive、Gmail、Calendar、Sheets、Docs和Apps Script的能力。

  • by Artoxem
  • Python
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 artoxem-dev/yet-another-google-mcp

使用说明

🔧 MCP谷歌工具服务器

功能齐全 模型上下文协议 谷歌工作区服务器。
让您的AI助手实时访问Drive、Gmail、日历、表格、文档和应用程序脚本。

英文文档 · 俄语文档


✨ 它能做什么

服务 能力
📁 Google 云端硬盘 搜索、复制、移动、共享、管理权限
📊 谷歌表格 读/写范围、命名范围、过滤视图、查找和替换、CSV导出
📄 谷歌文件 读取、创建、附加文本、填写模板、导出为PDF
📧 Gmail 起草、发送、搜索、存档、标记、删除并确认
📅 Google 日历 列出活动、查找空闲时段、创建与与会者的会议
⚙️ 应用程序脚本 读取、分阶段更新、自动备份、回滚
🔗 资源 将实时驱动器/Gmail/日历/表格/文档快照附加到AI上下文
💬 提示 现成的人工智能模板:汇总收件箱、分析电子表格、计划周、搜索文件

🧩 MCP图元

此服务器公开了所有三种MCP基元类型:

🛠 工具

50+可执行操作
由AI按需调用。
每个工具都有注释
readOnlyHint / destructiveHint
因此,客户可以在采取危险行动之前发出警告。

📦 资源

只读数据快照
直接附加实时谷歌数据
转到AI上下文窗口
无需调用工具。
支持静态URI和模板。

💬 提示

可重复使用的AI模板
在MCP客户端中选择提示
获取实时数据并开始
有条理的谈话
只需单击一下。


🚀 快速开始

1--安装依赖项

pip install -r requirements.txt

2--设置谷歌OAuth

在中创建OAuth 2.0客户端ID 谷歌云控制台,下载JSON,并记下其路径。

完整的分步指南: docs/AUTH_SETUP.md · docs/ru/AUTH_SETUP.md

3--配置服务器

cp config.example.yaml config.yaml
# then edit config.yaml — set paths and choose MCP_AUTH_TOKEN
💡 How to create MCP_AUTH_TOKEN

MCP_AUTH_TOKEN 是您选择的秘密字符串。你可以把它看作是 此MCP服务器的本地激活密钥,而不是作为网络安全层或身份验证机制。

  • 服务器在开始处理工具之前只检查此令牌是否已配置——这是一个额外的安全步骤,可以避免在没有明确设置的情况下意外运行。
  • 发明任何随机字符串,例如。 MySecretToken_2026! 或者使用密码生成器。
  • 建议长度:16+个字符。避免重复使用密码。
  • 设置它 config.yaml → mcp_auth_token: "your_token" 或 作为env变量 MCP_AUTH_TOKEN.

令牌从不发送到任何地方——它只在服务器进程内部进行本地检查。确实如此 不 限制服务器运行后AI代理可以执行的操作。有关更多详细信息,请参阅 docs/SECURITY.md / docs/ru/SECURITY.md.

4--连接IDE

替换 <PROJECT_PATH> 具有此存储库的绝对路径,以及 your_token_here 用你的代币。

Cursor — .cursor/mcp.json or ~/.cursor/mcp.json
{
  "mcpServers": {
    "google-tools": {
      "command": "python",
      "args": ["<PROJECT_PATH>\\server.py"],
      "env": {
        "MCP_AUTH_TOKEN": "your_token_here",
        "MCP_CONFIG_FILE": "<PROJECT_PATH>\\config.yaml"
      }
    }
  }
}
Windsurf — %APPDATA%\Codeium\Windsurf\mcp_config.json (Windows)
{
  "mcpServers": {
    "google-tools": {
      "command": "python",
      "args": ["<PROJECT_PATH>\\server.py"],
      "env": {
        "MCP_AUTH_TOKEN": "your_token_here",
        "MCP_CONFIG_FILE": "<PROJECT_PATH>\\config.yaml"
      }
    }
  }
}
VS Code (Copilot MCP) — .vscode/mcp.json or MCP: Open User Configuration

用途 servers (不是 mcpServers).需要VS代码1.102+和启用副驾驶。

{
  "servers": {
    "google-tools": {
      "type": "stdio",
      "command": "python",
      "args": ["<PROJECT_PATH>\\server.py"],
      "env": {
        "MCP_AUTH_TOKEN": "your_token_here",
        "MCP_CONFIG_FILE": "<PROJECT_PATH>\\config.yaml"
      }
    }
  }
}
Other IDEs — generic MCP stdio config

使用相同的 command / args / env根密钥可能是 mcpServers 或 servers.

{
  "mcpServers": {
    "google-tools": {
      "command": "python",
      "args": ["<PROJECT_PATH>\\server.py"],
      "env": {
        "MCP_AUTH_TOKEN": "your_token_here",
        "MCP_CONFIG_FILE": "<PROJECT_PATH>\\config.yaml"
      }
    }
  }
}

5--烟雾检查

连接后,呼叫 get_gmail_profile() 在您的AI客户端中。
如果OAuth配置正确,它应该返回经过身份验证的Gmail地址。


📖 使用示例

Basic operations
# Verify authentication
Tool: get_gmail_profile
→ Authenticated Gmail address: user@example.com

# Search for files in Drive
Tool: find_files
Arguments: {"query": "name contains 'budget'"}
→ - Budget_2026.xlsx (ID: 1a2b3c...) [spreadsheet]

# Read a Google Sheet
Tool: read_sheet
Arguments: {"spreadsheet_id": "1a2b3c4d5e...", "range_name": "Sheet1!A1:C10"}
→ | Name | Email     | Status |
  | John | j@corp.io | Active |

# Create a draft email (safe by default — never sends without draft_mode=false)
Tool: send_email
Arguments: {"to": "colleague@example.com", "subject": "Notes", "body_text": "...", "draft_mode": true}
→ EMAIL DRAFT CREATED (ID: r1234...) — saved as draft, not sent.
Resources — attach live data to context
# Recent Drive files (no arguments needed)
Resource URI: gdrive://recent

# Unread inbox snapshot
Resource URI: gmail://inbox

# This week's calendar
Resource URI: gcalendar://upcoming

# Specific spreadsheet range
Resource URI: gsheets://1a2b3c4d5e.../Sheet1!A1:D20

# Specific Google Doc
Resource URI: gdocs://1a2b3c4d5e...
Prompts — one-click AI workflows
提示 它做什么
summarize_inbox 获取最近的Gmail邮件→ 已准备好进行AI总结
analyze_spreadsheet 读取图纸范围→ 为AI分析/图表做好准备
plan_week 加载日历事件→ 准备好日程安排建议
search_drive 搜索驱动器文件→ 随时准备提供组织建议

🛡 安全特性

功能 受影响的工具
confirm=true 必填项 delete_email, gmail_archive, calendar_create_meeting, drive_revoke_public, doc_fill_template
dry_run=true 默认情况下 batch_delete_emails, sheet_find_replace
大范围自动干运行 clear_range (提示确认高于阈值)
默认情况下为草稿模式 send_email (除非 draft_mode=false)
公共共享被阻止 share_file 块 type=anyone 除非 allow_public=true
工具注释 每个工具都带有 readOnlyHint / destructiveHint 用于客户端警告

⚠️ 您的AI代理可以访问您通过OAuth授权的所有数据。 对敏感帐户使用只读范围。看 docs/SECURITY.md.


⚙️ 配置参考

config.yaml 钥匙

关键 环境覆盖 默认 描述
client_secrets_file GOOGLE_CLIENT_SECRETS_FILE -- 从Google Cloud下载OAuth JSON的路径
token_file GOOGLE_TOKEN_FILE ~/.google/token.json 首次登录后保存OAuth令牌的位置
mcp_auth_token MCP_AUTH_TOKEN — 必修的。 激活服务器的令牌
log_file GOOGLE_LOG_FILE stderr only 日志文件的路径(可选)
log_level GOOGLE_LOG_LEVEL INFO 日志冗长: DEBUG / INFO / WARNING / ERROR
backup_dir GOOGLE_BACKUP_DIR -- 应用程序脚本自动备份目录
scopes -- 完全访问 OAuth作用域列表(请参阅安全文档)

MCP_CONFIG_FILE --指向您的 config.yaml。在IDE中设置此项 env 块。
环境变量始终覆盖配置文件值。

Minimal config.yaml example
client_secrets_file: "C:\\Users\\you\\.google\\oauth.keys.json"
token_file: "C:\\Users\\you\\.google\\token.json"
mcp_auth_token: "MySecretToken_2026!"
log_level: "INFO"

📦 完整工具列表

📁 Drive (8 tools)
工具 类型 描述
find_files read 按名称或驱动器查询搜索
drive_search_advanced read 带结果限制的Full Drive查询语法
drive_list_permissions read 列出文件权限
create_folder write 创建文件夹
move_file write 将文件移动到文件夹
drive_copy_file write 复制文件
share_file write 与用户/组/域/任何人共享
drive_revoke_public 破坏性 撤销公共访问(confirm=true)
📊 Sheets (11 tools)
工具 类型 描述
read_sheet read 读取单元格范围
get_spreadsheet_meta read 电子表格元数据
sheet_export_csv read 将范围导出到CSV
append_row write 追加一行
update_sheet write 将行写入某个范围
create_spreadsheet write 创建新的电子表格
add_sheet write 添加新选项卡/工作表
sheet_create_filter_view write 创建筛选器视图
sheet_create_named_range write 创建命名范围
sheet_find_replace write 查找并替换(dry_run=true 默认情况下)
clear_range 破坏性 清除范围(大范围自动干运行)
📄 Docs (5 tools)
工具 类型 描述
read_doc read 读取文档文本
doc_export_pdf read 将文档导出为二进制PDF
create_doc write 创建新文档
append_to_doc write 附加文本
doc_fill_template 破坏性 填充模板占位符(confirm=true)
📧 Gmail (11 tools)
工具 类型 描述
get_gmail_profile read 获取经过身份验证的电子邮件地址
list_emails read 列出电子邮件(可选搜索查询)
read_email 阅读 阅读一封电子邮件
gmail_search_and_summarize read 搜索并返回简要摘要
create_draft 写 创建草稿
send_email 写 发送或起草电子邮件(draft_mode=true 默认情况下)
send_draft 写 发送现有草稿
gmail_label_apply 书写 应用标签(dry_run=true 默认情况下)
gmail_archive 写 存档邮件(confirm=true)
delete_email 破坏性 删除电子邮件(confirm=true)
batch_delete_emails 破坏性 删除多封电子邮件(dry_run=true 默认情况下)
📅 Calendar (4 tools)
工具 类型 描述
list_events read 列出即将发生的事件
calendar_find_free_slots read 查找空闲时段
create_event write 创建事件
calendar_create_meeting 编写 创建与与会者的会议(confirm=true)
⚙️ Apps Script (6 tools)
工具 类型 描述
get_script_content read 读取项目文件
create_script_project write 创建新项目
prepare_script_update write 进行更新,获取 operation_id
execute_operation write 执行分阶段更新(带自动备份)
cancel_operation write 取消挂起的分段更新
restore_script_backup write 从自动备份还原

📚 文档

🇬🇧 英语

文档 描述
AUTH_SETUP.md Google OAuth安装指南
工具_参考.md 完整的工具、资源和提示参考
安全.md OAuth范围、安全功能、最佳实践
IDE_SETUP.md 游标、Windsurf、VS代码和其他IDE设置
学习.md 如何构建此MCP服务器(分步教程)

🇷🇺 俄语

文档描述 |----------|----------| | AUTH_SETUP.md Google OAuth的一步一步 | 工具_参考.md –工具、资源和插件的完整目录→ | 安全.md –Oauth scopes,保护,推荐→ | IDE_SETUP.md –配置Cursor、Windsurf、VS Code和其他IDE→


⚠️ 责任通知

您有责任了解此服务器执行操作的风险和后果。
您可以自行决定使用它,并遵循您组织的安全策略。


建于❤️ 使用 模型上下文协议 · MCP Python SDK