Gmail云端日历MCP服务器
通过这种全面的MCP服务器集成,将Claude转变为Google Workspace的巨头。
](https://nodejs.org/)   
这有什么作用
把克劳德变成你的个人生产力助理,可以:
- 管理Gmail -发送、组织、搜索和分析电子邮件
- 控制谷歌日历 -创建会议、安排活动、发送邀请
- 整理谷歌云端硬盘 -创建、共享和管理文件和文件夹
- 生成Google Meet链接 -即时视频会议设置
- 执行复杂的工作流程 -跨所有服务的多步自动化
主要特点
电子邮件管理
- 使用高级Gmail查询搜索电子邮件
- 发送带有附件的专业电子邮件
- 使用标签、存档、星号、删除进行组织
- 分析电子邮件模式和统计数据
- 自动管理收件箱组织
会议和日历
- 立即创建Google Meet会议
- 用自然语言安排(“今天下午2点”)
- 全球团队的自动时区处理
- 发送日历邀请和提醒
- 列出并管理即将召开的会议
文件操作
- 创建和编辑谷歌文档、表格、幻灯片
- 将文件组织到结构化文件夹中
- 使用精细权限共享文件
- 与团队无缝协作
- 批量文件操作和管理
🔄 智能工作流
- 项目设置:在一个命令中创建会议+文件夹+邀请
- 活动协调:完全的活动策划自动化
- 研究管理:组织学术/专业研究
- 团队协作:简化集团项目工作流程
建筑
---
config:
theme: default
---
graph TB
User[User
Master's Student] --> Claude[🤖 Claude AI
Chat Interface]
Claude MCP[MCP Server
The Brain
Node.js + ES Modules]
MCP --> Auth[OAuth2 Auth
Token Management
Security Layer]
MCP --> Gmail[Gmail Service
Email Operations]
MCP --> Calendar[Calendar Service
Meeting Management]
MCP --> Drive[Drive Service
File Operations]
MCP --> Meet[Meet Integration
Video Conferencing]
Auth --> GoogleAuth[Google OAuth2
Secure Authentication]
Gmail --> GmailAPI[Gmail API
Google Servers]
Calendar --> CalendarAPI[Calendar API
Google Servers]
Drive --> DriveAPI[Drive API
Google Servers]
Meet --> MeetAPI[Meet API
Google Servers]
Claude -.->|"Create meeting for 2 PM"| MCP
MCP -.->|"Tool Call: create_meeting"| Calendar
Calendar -.->|"API Request"| CalendarAPI
CalendarAPI -.->|"Meeting Created"| Calendar
Calendar -.->|"Success Response"| MCP
MCP -.->|"Meeting created successfully!"| Claude
classDef userStyle fill:#e1f5fe,stroke:#0277bd,stroke-width:2px
classDef claudeStyle fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef mcpStyle fill:#e8f5e8,stroke:#2e7d32,stroke-width:3px
classDef serviceStyle fill:#fff3e0,stroke:#f57c00,stroke-width:2px
classDef apiStyle fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef authStyle fill:#fff8e1,stroke:#f9a825,stroke-width:2px
class User userStyle
class Claude claudeStyle
class MCP mcpStyle
class Gmail,Calendar,Drive,Meet serviceStyle
class GmailAPI,CalendarAPI,DriveAPI,MeetAPI apiStyle
class Auth,GoogleAuth authStyle工作流程
---
config:
theme: redux-dark
---
sequenceDiagram
participant U as User
participant C as Claude
participant MCP as MCP Server
participant Auth as Auth Manager
participant Gmail as Gmail Service
participant Cal as Calendar Service
participant Drive as Drive Service
participant G as Google APIs
Note over U,G: Example: "Create team meeting and send invites"
U->>C: "Create a meeting for 2 PM today and invite the team"
C->>MCP: Tool Call: create_meeting_and_send
MCP->>Auth: Check authentication
Auth-->>MCP: Tokens valid
par Create Meeting
MCP->>Cal: Create calendar event
Cal->>G: POST /calendar/events
G-->>Cal: Event created with Meet link
Cal-->>MCP: Meeting details
and Send Invites
MCP->>Gmail: Send calendar invites
Gmail->>G: POST /gmail/send
G-->>Gmail: Emails sent
Gmail-->>MCP: Invites sent
and Create Document
MCP->>Drive: Create meeting notes doc
Drive->>G: POST /drive/files
G-->>Drive: Document created
Drive-->>MCP: Document ready
end
MCP->>MCP: Compile results
MCP-->>C: Success response with details
C-->>U: "Meeting created! Invites sent to team. Notes doc ready."
Note over U,G: Total time: ~10 seconds for complex workflow服务器组件
---
config:
layout: dagre
theme: base
look: classic
---
flowchart LR
subgraph subGraph0["Core Components"]
Server["MCP Server
- Request Handler
- Tool Registry
- Response Formatter"]
Auth["Auth Manager
- OAuth2 Flow
- Token Management
- Security Layer"]
end
subgraph subGraph1["Service Layer"]
Gmail["Gmail Service
- Search emails
- Send emails
- Manage labels
- Email analysis"]
Calendar["Calendar Service
- Create events
- Schedule meetings
- Generate Meet links
- Timezone handling"]
Drive["Drive Service
- Create files
- Share documents
- Organize folders
- Manage permissions"]
Meet["Meet Integration
- Coordinate workflows
- Format invitations
- Send reminders
- Handle RSVPs"]
end
subgraph subGraph2["Tool Handlers"]
EmailTools["Email Tools
- search_emails
- send_email
- delete_email
- create_label"]
CalendarTools["Calendar Tools
- create_meeting
- schedule_event
- send_reminder
- list_meetings"]
DriveTools["Drive Tools
- create_file
- share_file
- organize_folder
- update_permissions"]
WorkflowTools["Workflow Tools
- create_and_send_meet
- project_setup
- bulk_operations
- smart_scheduling"]
end
subgraph subGraph3["Schema Definitions"]
Schemas["Tool Schemas
- Input validation
- Response formatting
- Error handling
- Type definitions"]
end
subgraph subGraph4["MCP Server (The Brain)"]
direction TB
subGraph0
subGraph1
subGraph2
subGraph3
end
subgraph subGraph5["External Services"]
GoogleAPIs["Google APIs
- Gmail API
- Calendar API
- Drive API
- OAuth2 API"]
end
subgraph subGraph6["Claude Integration"]
Claude["Claude AI
- Natural language
- Tool discovery
- Response parsing
- Context management"]
end
Server --> Auth & Gmail & Calendar & Drive & Meet
Gmail --> EmailTools & GoogleAPIs
Calendar --> CalendarTools & GoogleAPIs
Drive --> DriveTools & GoogleAPIs
Meet --> WorkflowTools
EmailTools --> Schemas
CalendarTools --> Schemas
DriveTools --> Schemas
WorkflowTools --> Schemas
Auth --> GoogleAPIs
Claude Server
Server:::coreStyle
Auth:::coreStyle
Gmail:::serviceStyle
Calendar:::serviceStyle
Drive:::serviceStyle
Meet:::serviceStyle
EmailTools:::toolStyle
CalendarTools:::toolStyle
DriveTools:::toolStyle
WorkflowTools:::toolStyle
Schemas:::toolStyle
GoogleAPIs:::externalStyle
Claude:::claudeStyle
classDef coreStyle fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px
classDef serviceStyle fill:#fff3e0,stroke:#f57c00,stroke-width:2px
classDef toolStyle fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef externalStyle fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef claudeStyle fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
安装
先决条件
- Node.js 18+ 安装
- 谷歌云项目 启用了API
- Claude Pro订阅 (用于MCP支持)
- OAuth2凭据 从谷歌云控制台
步骤1:克隆存储库
git clone https://github.com/SmitPatel-31/gmail-drive-mcp-server
cd gmail-drive-mcp-server
npm install第二步:谷歌云设置
- 创建谷歌云项目
- 首选 谷歌云控制台 - 创建新项目或选择现有项目
- 启用所需的API
- Gmail API
- Google Calendar API
- Google Drive API- 创建OAuth2凭据
- 转到“API和服务”→ “凭据” - 创建“OAuth 2.0客户端ID” - 下载为 credentials.json - 放置在项目根目录中
步骤3:身份验证设置
# Run interactive authentication setup
node auth.js
# Follow the prompts to:
# 1. Visit the authorization URL
# 2. Grant permissions
# 3. Enter the authorization code
# 4. Tokens will be saved automatically步骤4:启动服务器
# Start the MCP server
npm start
### Step 5: Configure Claude
Add the MCP server to your Claude configuration:
{ "mcpServers": { "gmail-drive-server": { "command": "node", "args": ["path/to/your/server.js"], "env": {} } } }
## 可用工具
### Gmail操作
|工具|说明|示例|
|------|-------------|---------|
| `search_emails` |使用Gmail查询搜索电子邮件| *“查找来自的电子邮件john@company.com关于项目”* |
| `send_email` |发送带有附件的电子邮件| *“向团队发送进度更新”* |
| `delete_email` |删除特定电子邮件| *“删除该垃圾邮件”* |
| `archive_email` |存档电子邮件| *“存档所有新闻通讯”* |
| `create_label` |创建Gmail标签| *“创建‘重要项目’标签”* |
| `analyze_email_patterns` |电子邮件统计和分析| *“显示我上个月的电子邮件模式”* |
### 日历和会议
|工具|说明|示例|
|------|-------------|---------|
| `create_meeting` |使用Meet链接安排会议| *“创建今天下午2点的团队会议”* |
| `create_quick_meet` |5分钟后的即时会议| *“与团队快速会面”* |
| `create_instant_meet` |会议将在2分钟后开始| *“立即拨打紧急电话”* |
| `create_meeting_natural` |自然语言调度| *“今天下午6点至8点为学习小组”* |
| `send_meet_reminder` |发送会议提醒| *“提醒大家明天的演示”* |
| `list_upcoming_meetings` |显示即将举行的会议| *“这周我有什么会议?”* |
### 谷歌云端硬盘运营
|工具|说明|示例|
|------|-------------|---------|
| `create_file` |创建文档、工作表、幻灯片| *“创建项目建议书文档”* |
| `update_file` |编辑现有文件| *“更新会议笔记”* |
| `share_file` |共享权限| *“与团队共享编辑权限”* |
| `create_folder` |使用文件夹进行组织| *“创建Q4计划文件夹”* |
| `move_file` |重新组织文件| *“将所有草稿移动到Final文件夹”* |
| `search_drive_files` |快速查找文件| *“查找所有包含“预算”的文件”* |
### 工作流程自动化
|工具|说明|示例|
|------|-------------|---------|
| `create_meet_and_send` |会议+电子邮件自动化| *“创建客户电话并发送专业邀请”* |
| `project_setup` |完成项目初始化| *“使用所有资源设置新网站项目”* |
| `bulk_email_management` |处理多封电子邮件| *“整理我的收件箱并回复紧急邮件”* |
## 使用示例
### 学术用例
// Thesis defense preparation "Set up my thesis defense for next Friday at 2 PM, invite my committee, create presentation template, and send preparation checklist"
// Group project coordination "Create our capstone project workspace: weekly meeting, shared folder, task tracking document, and team communication setup"
// Research organization "Organize my literature review: create categorized folders, move research papers, and set up citation tracking"
### 专业工作流程
// Client meeting setup "Schedule client presentation for Thursday 10 AM, create agenda document, invite stakeholders, and send professional confirmation"
// Team collaboration "Set up sprint planning: create meeting, invite dev team, prepare backlog document, and schedule follow-up sessions"
// Event coordination "Organize company hackathon: create event calendar, set up registration, prepare resource folders, and coordinate communications"
### 个人生产力
// Weekly planning "Set up my weekly review meeting, create planning template, organize last week's documents, and prepare agenda"
// Travel coordination "Plan conference trip: create itinerary, share with team, set up out-of-office, and coordinate coverage meetings"
## 🔒 安全与隐私
### 数据保护
- **OAuth2身份验证**:行业标准安全身份验证
- **本地令牌存储**:令牌存储在本地,从不传输给第三方
- **最低权限**:仅请求必要的Google API范围
- **无数据收集**:你的数据仅限于你、克劳德和谷歌之间
### 最佳实践
- 保持 `credentials.json` 和 `token.json` 安全
- 从不将身份验证文件提交到版本控制
- 定期审查Google帐户权限
- 使用环境变量进行敏感配置
### 合规
- 符合GDPR(不收集数据)
- 学生友好型(适用于教育账户)
- 企业就绪(支持G套件/工作区)
## 故障排除
### 常见问题
**身份验证错误**
Clear tokens and re-authenticate
rm token.json node auth.js node test-auth.js
**API费率限制**
Check quota usage in Google Cloud Console
Implement exponential backoff (already included)
**权限错误**
Verify API enablement
Check OAuth2 scope configuration
Confirm credentials.json format
### 错误代码
|代码|描述|解决方案|
|------|-------------|----------|
| `AUTH_FAILED` |身份验证问题|重新运行身份验证设置|
| `API_QUOTA_EXCEEDED` |已达到速率限制|请等待并重试|
| `INVALID_PERMISSIONS` |范围问题|检查OAuth2范围|
| `NETWORK_ERROR` |连接问题|检查互联网连接|
### 添加新功能
1. **创建服务方法**
// In appropriate service file async newFeature(params) { // Implementation }
1. **定义工具架构**
// In tool-definations.js { name: 'new_feature', description: 'What it does', inputSchema: { /* schema */ } }
1. **添加工具处理程序**
// In tool-handlers.js async handleNewFeature(args) { // Handle the tool call }
1. **注册工具**
// In server.js switch statement case 'new_feature': return await this.handleNewFeature(args);
## 贡献
我们欢迎捐款!以下是如何开始:
### 开发设置
Fork the repository
git clone https://github.com/your-username/gmail-drive-mcp-server cd gmail-drive-mcp-server
Create feature branch
git checkout -b feature/amazing-feature
Install dependencies
npm install
### 贡献指南
1. **代码的风格**:遵循现有模式和ESLint规则
1. **文档**:更新README并添加代码注释
1. **承诺**:使用常规提交消息
### 拉取请求流程
1. 提交带有清晰描述的拉取请求
## 路线图
### 当前版本(v2.0)
- ✅ Gmail、日历、驱动器集成
- ✅ Google Meet自动化
- ✅ 自然语言时间解析
- ✅ 全面的错误处理
- ✅ 安全最佳实践
## 许可证
此项目根据MIT许可证获得许可-请参阅 [许可证](LICENSE) 文件以获取详细信息。
## 致谢
- **Anthropic** Claude和MCP框架
- **谷歌** 获取全面的API和文档
- **开源社区** 寻求灵感和最佳实践
- **贡献者** 谁让这个项目变得更好
## 支持
### 获取帮助
- **文档**:查看文档/文件夹以获取详细指南
- **错误报告**:使用复制步骤创建GitHub问题
- **功能请求**:打开GitHub讨论
- **直接接触**: \[patel.smit3131@gmail.com\]
### 社区
- **领英**: [您的个人资料](https://linkedin.com/in/smitpatel3107)
______________________________________________________________________
**⭐ 如果这个仓库能帮助你提高工作效率,请为其加星!**
**🔗 与需要工作流自动化的朋友分享**
**🤝 让它变得更好**
______________________________________________________________________
> 内置于❤️ 这位痴迷于生产力的硕士生厌倦了手动工作流程。