Operate Google Calendar, Gmail, Drive, and Docs through the official Google MCP Server. More stable and reliable than third-party CLI tools, with support for secure OAuth2 authorization.
Use Cases
Calendar
- User says "Add a meeting for me at 3 PM tomorrow"
- User says "What's on my schedule this week?" "Are you free next Wednesday?"
- User says "Push today's meeting back by one hour"
- User says "Help me schedule a 1-on-1 with Alice, find a time when we're both free"
- User says "Any new emails?" "What important emails did I receive today?"
- User says "Help me reply to Bob's email, say I agree with his proposal"
- User says "Mark this email as important"
- User says "Search for emails from xxx@gmail.com last month"
Drive
- User says "Help me find that quarterly report in Drive"
- User says "Upload this file to Drive"
- User says "Share that file with team@example.com」
Prerequisites
Option 1: Official Google MCP Server (Recommended)
- Install the Google MCP Server:
npm install -g @anthropic/google-mcp - Complete OAuth2 authorization on first run (a Google sign-in page pops up in the browser)
- After authorization, the token is stored automatically, so no repeated authorization is needed afterward
Option 2: Google API Key + Service Account
- Create a project in Google Cloud Console and enable the Calendar/Gmail API
- Create OAuth 2.0 credentials or a Service Account
- Set environment variables:
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/credentials.json"
Execution Methods
Calendar Operations
Query Schedule
工具: google_calendar_list_events
参数:
calendar_id: "primary"
time_min: "2026-02-26T00:00:00Z"
time_max: "2026-02-27T00:00:00Z"
max_results: 10
Create Event
工具: google_calendar_create_event
参数:
calendar_id: "primary"
summary: "产品评审会议"
description: "讨论 Q1 产品路线图"
start: "2026-02-27T15:00:00+08:00"
end: "2026-02-27T16:00:00+08:00"
attendees: ["alice@example.com", "bob@example.com"]
location: "3 楼会议室 A"
Modify Event
工具: google_calendar_update_event
参数:
calendar_id: "primary"
event_id: "xxx"
start: "2026-02-27T16:00:00+08:00" # 推迟一小时
end: "2026-02-27T17:00:00+08:00"
Mail Operations
Search Emails
工具: gmail_search
参数:
query: "from:bob@example.com after:2026/01/01 subject:报告"
max_results: 10
Read Emails
工具: gmail_get_message
参数:
message_id: "xxx"
Send Emails
工具: gmail_send_message
参数:
to: "alice@example.com"
subject: "Re: 项目进度"
body: "你好 Alice,附件是最新的进度报告..."
cc: "bob@example.com"
Drive Operations
Search Files
工具: google_drive_search
参数:
query: "季度报告 2026"
mime_type: "application/pdf" # 可选
Get File Information
工具: google_drive_get_file
参数:
file_id: "xxx"
When to Use This Skill
判断逻辑:
日历相关
├── macOS 用户 + Apple Calendar → apple-calendar
├── Google Calendar 用户 → google-workspace ✅
└── 需要跨平台日历 → google-workspace ✅
邮件相关
├── macOS + Apple Mail → apple-mail
├── Outlook 用户 → outlook-cli
├── Gmail 用户 → google-workspace ✅
└── 通用 IMAP → himalaya
文件存储
├── 本地文件 → file-manager
├── Google Drive → google-workspace ✅
└── 百度网盘 → 暂无
Output Specifications
- Schedule queries are presented in a timeline format, with the time zone noted
- Email lists show the sender, subject, time, and whether it has been read
- After create/modify operations, confirm the specific changes made
- Before sending an email, first show the complete draft, and after confirmation via
hitl, send it - Creating meetings involving multiple people requires confirming the participant list