Google Workspace MCP服务器

一个安全的桥接服务器,连接个人Google Workspace账户(如Gmail、Calendar等)与任何兼容MCP协议的AI客户端,提供日历、邮件和文件管理功能。

  • by giuseppe-coco
  • Python
  • 本地部署
  • 30 星标
  • 更新于
在 GitHub 查看 giuseppe-coco/Google-Workspace-MCP-Server

使用说明

谷歌工作区MCP服务器

模型上下文协议(MCP)服务器,充当您的个人Google Workspace帐户(Gmail、日历等)和任何兼容MCP的AI客户端(如Claude Desktop)之间的安全桥梁。

特性

  • 谷歌日历:
    • 轻松列出并搜索主日历上特定日期范围内的事件。
    • 使用标题、描述、开始和结束时间等详细信息创建新事件。
    • 更新现有事件,允许进行部分修改,如更改标题或时间。
    • 直接从日历中删除事件。
  • Gmail:
    • 阅读您最近电子邮件的内容以保持最新状态。
    • 按主题行搜索特定电子邮件,以查找重要对话。
    • 直接从您的帐户撰写和发送新电子邮件。
  • Google 云端硬盘:
    • 使用强大的查询字符串搜索文件和文件夹。
    • 使用指定的标题和初始内容创建新的Google文档。
    • 更新现有Google文档的全部内容。
    • 通过将文件移动到文件夹或永久删除来管理文件。

入门指南

按照以下步骤设置服务器并运行示例AI代理。

先决条件

  • Python 3.9+和 uv (或 pip).
  • 启用了必要API的Google Cloud项目。
  • 克劳德桌面。

步骤1:配置您的Google Cloud项目

您需要授权此应用程序才能访问您的Google数据。这是一次性设置。

  1. 转到Google Cloud控制台: https://console.cloud.google.com/
  2. 创建新项目 (或使用现有的)。
  3. 启用API:
    • 转到“API和服务”->“库”。
    • 搜索和 启用 这 Gmail API.
    • 搜索和 启用 这 谷歌日历API.
    • 搜索和 启用 这 Google Drive API.
  4. 创建OAuth凭据:
    • 转到“API和服务”->“凭据”。
    • 点击“创建凭据”->“OAuth客户端ID”。
    • 如果出现提示,请配置“OAuth同意屏幕”。选择 外部 并为应用程序提供名称。您可以跳过大多数其他字段以供个人使用。将您的Google帐户电子邮件添加为测试用户。
    • 对于“应用程序类型”,选择 桌面应用程序.
    • 为其命名(例如,“GSuite MCP客户端”)。
  5. 下载凭据:
    • 创建客户端ID后,单击“下载JSON”图标。
    • 将下载的文件重命名为 client_secrets.json 并将其放置在 此项目的根目录.

步骤2:安装依赖项

克隆此存储库,并为服务器和客户端安装所需的Python包。

git clone <your-repo-url>
cd <your-repo-name>
uv venv # Create a virtual environment
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install server dependencies
uv install -r requirements.txt

步骤3:运行一次性授权

在运行服务器之前,您需要使用您的Google帐户对其进行授权。跑吧 get_credentials.py 来自终端的脚本:

python get_credentials.py
  • 这将打开一个浏览器窗口。
  • 使用您的Google帐户登录并授予所请求的权限。
  • 批准后,脚本将自动创建 token.json 项目目录中的文件。此文件存储您的授权令牌,因此您不必每次都登录。

步骤4:设置并运行AI代理客户端

作为一个例子,我将向您展示如何将Claude Desktop配置为MCP客户端。但是,您可以使用互联网上可用的任何MCP客户端。

  1. 配置Claude桌面:

    (Windows)打开 C:\Users\<user>\AppData\Roaming\Claude\claude_desktop_config.json 并添加

    {
        "mcpServers": {
            "GsuiteMCPServer": {
                "command": "absolute-path-to-your-python-executable-in-virtual-environment",
                "args": [
                    "<mcp_server.py-abs-path>"
                ]
            }
        }
    }   
    
  2. 使用可用的工具: 问克劳德这样的问题:

    • 根据发送到我收件箱的最后一封邮件的内容创建一个谷歌日历事件。 如果您无法创建事件,请创建一种“提醒事件”,以提醒我查看该电子邮件。

    • 创建一个谷歌文档,起草旧金山的旅行计划。

    • 查看我下周有什么时间与客户通话两个小时。

    • 将与VC的会议开始时间修改为上午10点。

    • 在我的收件箱中搜索有关人工智能新闻的新电子邮件。

    • 给我的供应商发一封电子邮件,告诉他他迟到了,我需要尽快下一批。

    • 更多。

路线图和未来计划

此服务器是更大愿景的基础。目标是为整个Google Workspace套件提供一个全面的MCP服务器。未来的新增功能将包括以下工具:

  • 📝 谷歌文件:更精细的文档操作,例如附加文本或读取特定部分,而不是覆盖整个文件。
  • 📊 谷歌表格:从工作表中读取数据、追加新行、更新单元格,甚至执行计算。
  • 📨 新功能 Gmail.
  • 📅 新功能 谷歌日历.
  • 🗂️ 新功能 Google 云端硬盘.

欢迎投稿!

贡献

如果你想贡献,请随时分叉存储库并提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。

许可证

该项目根据MIT许可证获得许可。请参阅 LICENSE 文件以获取详细信息。