Google Workspace MCP服务器

一组模型上下文协议(MCP)服务器,通过Claude等大型语言模型实现对Google Workspace服务的安全访问,包括Gmail、日历和Drive的管理功能。

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

使用说明

谷歌工作区MCP服务器

一组模型上下文协议(MCP)服务器,通过克劳德等大型语言模型实现对谷歌工作区服务的安全访问。该项目包括三个独立的服务器:

  • Gmail MCP服务器:搜索电子邮件、阅读内容和管理标签
  • 日历MCP服务器:查看活动并检查可用性
  • 驱动器MCP服务器:搜索和组织文件和文件夹

先决条件

安装说明

1.谷歌云设置

  1. 转到 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用以下API:
    • Gmail API
    • 谷歌日历API
    • Google Drive API
  4. 配置OAuth 2.0:
    • 转到“API和服务”>“凭据”
    • 点击“创建凭据”>“OAuth客户端ID”
    • 选择“桌面应用程序”
    • 下载凭据并重命名为 client_secrets.json

2.项目设置

# Create project directory
uv init google-workspace-mcp
cd google-workspace-mcp

# Create virtual environment and activate it
uv venv
.venv\Scripts\activate

# Install required packages
uv add mcp[cli] google-api-python-client google-auth-httplib2 google-auth-oauthlib

3.项目结构

创建以下目录结构:

google-workspace-mcp/
├── .venv/
├── client_secrets.json            # Your OAuth credentials
├── gmail_server/
│   ├── __init__.py
│   └── main.py
├── calendar_server/
│   ├── __init__.py
│   └── main.py
├── drive_server/
│   ├── __init__.py
│   └── main.py
└── shared/
    ├── __init__.py
    └── auth.py

4.配置克劳德桌面

  1. 打开克劳德桌面
  2. 点击克劳德菜单,选择“设置…”
  3. 点击左侧边栏中的“开发人员”
  4. 点击“编辑配置”
  5. 用中提供的配置替换内容 claude_config.json 文件

重要:替换 C:\path\to\google-workspace-mcp 根据您的实际项目路径。

可用特征

Gmail服务器

资源:

  • messages/{message_id}:获取特定电子邮件的内容
  • labels:列出所有可用的Gmail标签

工具:

  • search_emails:使用Gmail的查询语法搜索电子邮件
  • apply_label:为电子邮件应用或创建标签

示例查询:

  • “在我的电子邮件中搜索有关项目截止日期的消息”
  • “查找来自的电子邮件john@example.com从上周开始”
  • “在我上次收到爱丽丝的电子邮件中添加一个‘跟进’标签”

日历服务器

资源:

  • events/{time_min}/{time_max}:获取时间范围内的日历事件
  • calendars:列出所有可用日历

工具:

  • check_availability:检查给定日期的忙/闲状态

示例查询:

  • “我明天有什么会议?”
  • “下周二下午我有空吗?”
  • “显示我本周的所有活动”

驱动器服务器

资源:

  • files/{file_id}:获取特定文件的内容
  • folders/{folder_id}:列出特定文件夹的内容

工具:

  • search_files:搜索文件和文件夹
  • move_file:在文件夹之间移动文件

示例查询:

  • “查找与项目X相关的所有PDF文件”
  • “我的报告文件夹中有哪些文档?”
  • “将我最近的演示文稿移动到“会议材料”文件夹”

故障排除

身份验证问题

如果遇到身份验证问题:

  1. 检查一下 client_secrets.json 位置正确
  2. 删除任何现有 token_*.pickle 强制重新身份验证的文件
  3. 确保启用了所有必需的Google Cloud API

服务器连接问题

如果克劳德无法连接到服务器:

  1. 查看克劳德的日志 %APPDATA%\Claude\logs\mcp*.log
  2. 验证中的路径 claude_desktop_config.json 是正确的
  3. 确保虚拟环境已激活
  4. 重新启动克劳德桌面

常见错误消息

  • “启动服务器失败”:检查配置中的所有路径是否正确
  • “身份验证失败”:验证您的OAuth凭据
  • “API未启用”:在Google云控制台中启用所需的API

日志和调试

服务器日志可以在以下位置找到:

  • %APPDATA%\Claude\logs\mcp-server-gmail.log
  • %APPDATA%\Claude\logs\mcp-server-calendar.log
  • %APPDATA%\Claude\logs\mcp-server-drive.log

要实时查看日志,请执行以下操作:

Get-Content -Path "%APPDATA%\Claude\logs\mcp*.log" -Wait

安全说明

  • 所有服务器都以只读模式运行各自的服务
  • OAuth令牌存储在本地 token_*.pickle 文件
  • 每个服务都维护自己的身份验证令牌
  • 在首次身份验证期间向用户显示权限请求

贡献

我们欢迎捐款!请参阅我们的投稿指南以获取更多信息。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。