返回市场
Gmail驱动MCP服务器

Gmail驱动MCP服务器

作者:SmitPatel-312 星标更新:2025-07-14

项目介绍

Gmail Drive Calendar MCP Server

将Claude转变为强大的Google Workspace助手,通过这个全面的MCP服务器集成。

Node.js License: MIT MCP Google APIs

功能概述

将Claude变成您的个人生产力助手,可以:

  • 管理Gmail - 发送、组织、搜索和分析电子邮件
  • 控制Google日历 - 创建会议、安排事件、发送邀请
  • 整理Google云端硬盘 - 创建、分享和管理文件和文件夹
  • 生成Google Meet链接 - 即时视频会议设置
  • 执行复杂的工作流 - 跨所有服务的多步骤自动化

主要功能

邮件管理

  • 使用高级Gmail查询搜索邮件
  • 发送带有附件的专业邮件
  • 使用标签、归档、星标、删除进行组织
  • 分析邮件模式和统计数据
  • 自动管理收件箱组织

会议与日历

  • 立即创建Google Meet会议
  • 使用自然语言(如“今天下午2点”)安排会议
  • 自动处理全球团队的时间区
  • 发送日历邀请和提醒
  • 列出并管理即将举行的会议

文件操作

  • 创建和编辑Google文档、表格、幻灯片
  • 将文件组织到结构化的文件夹中
  • 按粒度权限共享文件
  • 无缝协作
  • 批量文件操作和管理

🔄 智能工作流

  • 项目设置:创建会议 + 文件夹 + 邀请,只需一个命令
  • 活动协调:全自动化活动规划
  • 研究管理:组织学术/专业研究
  • 团队协作:简化小组项目工作流程

架构

---
config:
  theme: default
---
graph TB
    用户[用户<br/>硕士生] --> Claude[🤖 Claude AI<br/>聊天界面]
    Claude <==> MCP[MCP服务器<br/>大脑<br/>Node.js + ES模块]
    MCP --> 认证[OAuth2认证<br/>令牌管理<br/>安全层]
    MCP --> Gmail[Gmail服务<br/>邮件操作]
    MCP --> 日历[日历服务<br/>会议管理]
    MCP --> 云端硬盘[云端硬盘服务<br/>文件操作]
    MCP --> Meet[Meet集成<br/>视频会议]
    认证 --> Google认证[Google OAuth2<br/>安全认证]
    Gmail --> GmailAPI[Gmail API<br/>Google服务器]
    日历 --> 日历API[日历API<br/>Google服务器]
    云端硬盘 --> 云端硬盘API[云端硬盘API<br/>Google服务器]
    Meet --> MeetAPI[Meet API<br/>Google服务器]
    Claude -.->|"为下午2点创建会议"| MCP
    MCP -.->|"工具调用:create_meeting"| 日历
    日历 -.->|"API请求"| 日历API
    日历API -.->|"会议已创建"| 日历
    日历 -.->|"成功响应"| MCP
    MCP -.->|"会议创建成功!"| Claude
    classDef 用户样式 fill:#e1f5fe,stroke:#0277bd,stroke-width:2px
    classDef claude样式 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    classDef mcp样式 fill:#e8f5e8,stroke:#2e7d32,stroke-width:3px
    classDef 服务样式 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
    classDef api样式 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
    classDef 认证样式 fill:#fff8e1,stroke:#f9a825,stroke-width:2px
    class 用户 用户样式
    class Claude claude样式
    class MCP mcp样式
    class Gmail,日历,云端硬盘,Meet 服务样式
    class GmailAPI,日历API,云端硬盘API,MeetAPI api样式
    class 认证,Google认证 认证样式

工作流程

---
config:
  theme: redux-dark
---
sequenceDiagram
    参与者 U as 用户
    参与者 C as Claude
    参与者 MCP as MCP服务器
    参与者 认证 as 认证管理器
    参与者 Gmail as Gmail服务
    参与者 Cal as 日历服务
    参与者 Drive as 云端硬盘服务
    参与者 G as Google API
    注释 over U,G: 示例:"创建团队会议并发送邀请"
    U->>C: "为今天下午2点创建会议并邀请团队"
    C->>MCP: 工具调用:create_meeting_and_send
    MCP->>认证: 检查认证
    认证-->>MCP: 令牌有效
    并行 创建会议
        MCP->>Cal: 创建日历事件
        Cal->>G: POST /calendar/events
        G-->>Cal: 创建了带有Meet链接的事件
        Cal-->>MCP: 会议详情
    并行 发送邀请
        MCP->>Gmail: 发送日历邀请
        Gmail->>G: POST /gmail/send
        G-->>Gmail: 邮件已发送
        Gmail-->>MCP: 邀请已发送
    并行 创建文档
        MCP->>Drive: 创建会议笔记文档
        Drive->>G: POST /drive/files
        G-->>Drive: 文档已创建
        Drive-->>MCP: 文档已准备好
    结束
    MCP->>MCP: 编译结果
    MCP-->>C: 成功响应及详情
    C-->>U: "会议已创建!邀请已发送给团队。笔记文档已准备好。"
    注释 over U,G: 总时间:~10秒用于复杂工作流

服务器组件

---
config:
  layout: dagre
  theme: base
  look: classic
---
flowchart LR
 subgraph 子图0["核心组件"]
        服务器["MCP服务器<br>- 请求处理器<br>- 工具注册表<br>- 响应格式化"]
        认证["认证管理器<br>- OAuth2流程<br>- 令牌管理<br>- 安全层"]
  end
 subgraph 子图1["服务层"]
        Gmail["Gmail服务<br>- 搜索邮件<br>- 发送邮件<br>- 管理标签<br>- 邮件分析"]
        日历["日历服务<br>- 创建事件<br>- 安排会议<br>- 生成Meet链接<br>- 时间区处理"]
        云端硬盘["云端硬盘服务<br>- 创建文件<br>- 共享文档<br>- 组织文件夹<br>- 管理权限"]
        Meet["Meet集成<br>- 协调工作流<br>- 格式化邀请<br>- 发送提醒<br>- 处理RSVP"]
  end
 subgraph 子图2["工具处理器"]
        邮件工具["邮件工具<br>- search_emails<br>- send_email<br>- delete_email<br>- create_label"]
        日历工具["日历工具<br>- create_meeting<br>- schedule_event<br>- send_reminder<br>- list_meetings"]
        云端硬盘工具["云端硬盘工具<br>- create_file<br>- share_file<br>- organize_folder<br>- update_permissions"]
        工作流工具["工作流工具<br>- create_and_send_meet<br>- project_setup<br>- bulk_operations<br>- smart_scheduling"]
  end
 subgraph 子图3["模式定义"]
        模式["工具模式<br>- 输入验证<br>- 响应格式化<br>- 错误处理<br>- 类型定义"]
  end
 subgraph 子图4["MCP服务器(大脑)"]
    方向 TB
        子图0
        子图1
        子图2
        子图3
  end
 subgraph 子图5["外部服务"]
        GoogleAPIs["Google API<br>- Gmail API<br>- 日历API<br>- 云端硬盘API<br>- OAuth2 API"]
  end
 subgraph 子图6["Claude集成"]
        Claude["Claude AI<br>- 自然语言<br>- 工具发现<br>- 响应解析<br>- 上下文管理"]
  end
    服务器 --> 认证 & Gmail & 日历 & 云端硬盘 & Meet
    Gmail --> 邮件工具 & GoogleAPIs
    日历 --> 日历工具 & GoogleAPIs
    云端硬盘 --> 云端硬盘工具 & GoogleAPIs
    Meet --> 工作流工具
    邮件工具 --> 模式
    日历工具 --> 模式
    云端硬盘工具 --> 模式
    工作流工具 --> 模式
    认证 --> GoogleAPIs
    Claude <--> 服务器
     服务器:::核心样式
     认证:::核心样式
     Gmail:::服务样式
     日历:::服务样式
     云端硬盘:::服务样式
     Meet:::服务样式
     邮件工具:::工具样式
     日历工具:::工具样式
     云端硬盘工具:::工具样式
     工作流工具:::工具样式
     模式:::工具样式
     GoogleAPIs:::外部样式
     Claude:::claude样式
    classDef 核心样式 fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px
    classDef 服务样式 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
    classDef 工具样式 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
    classDef 外部样式 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
    classDef claude样式 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px

安装

先决条件

  • Node.js 18+ 已安装
  • Google Cloud项目 启用了API
  • Claude Pro订阅 (支持MCP)
  • OAuth2凭证 从Google Cloud Console获取

步骤1:克隆仓库

git clone https://github.com/SmitPatel-31/gmail-drive-mcp-server
cd gmail-drive-mcp-server
npm install

步骤2:Google Cloud设置

  1. 创建Google Cloud项目

  2. 启用所需API

    - Gmail API
    - Google日历API
    - Google云端硬盘API
    
  3. 创建OAuth2凭证

    • 转到“API和服务” → “凭证”
    • 创建“OAuth 2.0客户端ID”
    • 下载为credentials.json
    • 放在项目根目录

步骤3:认证设置

# 运行交互式认证设置
node auth.js

# 按照提示操作:
# 1. 访问授权URL
# 2. 授权权限
# 3. 输入授权代码
# 4. 令牌将自动保存

步骤4:启动服务器

# 启动MCP服务器
npm start

步骤5:配置Claude

将MCP服务器添加到您的Claude配置中:

{
  "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显示即将举行的会议"这周我有哪些会议?"

Google云端硬盘操作

工具描述示例
create_file创建文档、表格、幻灯片"创建项目提案文档"
update_file编辑现有文件"更新会议记录"
share_file按权限共享"以编辑权限与团队共享"
create_folder使用文件夹组织"创建Q4规划文件夹"
move_file重新组织文件"将所有草稿移动到最终文件夹"
search_drive_files快速找到文件"查找包含'预算'的所有文件"

工作流自动化

工具描述示例
create_meet_and_send会议 + 邮件自动化"为客户电话创建并发送专业邀请"
project_setup完整项目初始化"设置新网站项目,包括所有资源"
bulk_email_management处理多个邮件"整理我的收件箱并回复紧急事项"

使用示例

学术用例

// 学位论文答辩准备
"为下周五下午2点设置我的学位论文答辩,邀请我的委员会成员,创建演示模板,并发送准备清单"

// 团队项目协调
"创建我们的毕业设计工作空间:每周会议,共享文件夹,任务跟踪文档,以及团队沟通设置"

// 研究组织
"组织我的文献综述:创建分类文件夹,移动研究论文,并设置引用跟踪"

专业工作流程

// 客户会议设置
"安排周四上午10点的客户演示,创建议程文档,邀请利益相关方,并发送专业确认"

// 团队协作
"设置冲刺计划:创建会议,邀请开发团队,准备待办事项文档,并安排后续会议"

// 活动协调
"组织公司黑客马拉松:创建活动日历,设置注册,准备资源文件夹,并协调通信"

个人生产力

// 每周规划
"设置我的每周回顾会议,创建规划模板,整理上周的文档,并准备议程"

// 出行协调
"规划会议旅行:创建行程,与团队分享,设置离线消息,并协调覆盖会议"

🔒 安全与隐私

数据保护

  • OAuth2认证:行业标准的安全认证
  • 本地令牌存储:令牌存储在本地,从未传输给第三方
  • 最小权限:仅请求必要的Google API范围
  • 无数据收集:您的数据仅存在于您、Claude和Google之间

最佳实践

  • 保持credentials.jsontoken.json安全
  • 不要将身份验证文件提交到版本控制
  • 定期审查Google账户权限
  • 使用环境变量进行敏感配置

符合性

  • GDPR合规(无数据收集)
  • 学生友好(适用于教育账户)
  • 企业就绪(支持G Suite/Workspace)

故障排除

常见问题

认证错误

# 清除令牌并重新认证
rm token.json
node auth.js
node test-auth.js

API速率限制

# 在Google Cloud Console检查配额使用情况
# 实现指数退避(已包含)

权限错误

# 验证API启用状态
# 检查OAuth2范围配置
# 确认credentials.json格式

错误代码

代码描述解决方案
AUTH_FAILED认证问题重新运行认证设置
API_QUOTA_EXCEEDED达到速率限制等待并重试
INVALID_PERMISSIONS范围问题检查OAuth2范围
NETWORK_ERROR连接问题检查互联网连接

添加新功能

  1. 创建服务方法

    // 在适当的服务文件中
    async newFeature(params) {
      // 实现
    }
    
  2. 定义工具模式

    // 在tool-definations.js中
    {
      name: 'new_feature',
      description: '它做什么',
      inputSchema: { /* 模式 */ }
    }
    
  3. 添加工具处理器

    // 在tool-handlers.js中
    async handle