项目简介

'google-mcp-remote' 是一个基于 Cloudflare Workers 构建的 Model Context Protocol (MCP) 服务器实现。它通过标准化 MCP 协议,将用户的 Google 账户服务(如 Gmail, Calendar, Drive, Tasks, YouTube, Contacts)暴露给支持 MCP 的大型语言模型 (LLM) 客户端(如 Claude, Cursor)。这意味着 LLM 客户端可以通过调用此服务器提供的工具来执行 Gmail 发送邮件、查询日历日程、管理 Drive 文件等操作,从而增强 LLM 的实际应用能力。

该服务器强调安全性,要求用户部署自己的实例,并通过标准的 OAuth 2.0 流程授权访问其 Google 账户数据。

主要功能点

该 MCP 服务器通过 Google API 提供了以下核心功能:

  • Gmail: 发送、列出、阅读、删除邮件,管理标签,创建草稿。
  • Google Calendar: 列出、创建、更新、删除日程,查找空闲时间,列出日历。
  • Google Drive: 列出、搜索、读取、创建、更新、删除文件,分享文件。
  • Google Tasks: 列出、创建、更新、删除任务,列出任务列表,创建、删除任务列表。
  • YouTube: 搜索视频,获取视频详情。
  • Google Contacts: 列出和搜索联系人,获取联系人详情。

安装步骤

部署此服务器需要 Google Cloud Platform 项目和 Cloudflare 账户。

  1. 准备 Google Cloud Project:

    • 在 Google Cloud 控制台创建新项目。
    • 为您的项目设置 OAuth 2.0 客户端 ID 和客户端密钥。
    • 启用您希望使用的 Google API(如 Gmail, Calendar, Drive, Tasks, People, YouTube Data)。
    • 配置授权的 JavaScript 起源和重定向 URI。重定向 URI 格式通常是您的 Cloudflare Worker 部署 URL 加上 '/callback'。
  2. 准备 Cloudflare 账户:

    • 注册 Cloudflare 账户并安装 Wrangler CLI 工具。
    • 使用 Wrangler CLI 登录您的 Cloudflare 账户。
  3. 获取代码:

    • 克隆该 GitHub 仓库到您的本地计算机。
  4. 安装依赖:

    • 进入项目目录并使用 'bun install' 安装项目依赖。
  5. 配置密钥:

    • 使用 Wrangler CLI 将您的 Google OAuth 客户端 ID、客户端密钥以及一个用于加密 Cookie 的随机字符串设置为 Cloudflare Worker 的 Secrets。
  6. 创建 KV 命名空间:

    • 使用 Wrangler CLI 创建一个 KV 存储命名空间用于存储 OAuth 状态。
    • 将创建的 KV 命名空间 ID 配置到项目的 Wrangler 配置中。
  7. 部署:

    • 使用 Bun 运行部署命令,将代码部署到 Cloudflare Workers。
    • 部署完成后,记下您的 Cloudflare Worker 部署 URL。

服务器配置 (客户端视角)

要让您的 MCP 客户端连接到此服务器,您需要修改客户端的 MCP 服务器配置。配置信息通常是一个 JSON 结构,指定如何启动或连接到 MCP 服务器。

您需要提供一个服务器名称(例如 '"google-mcp-remote"'),以及用于连接服务器的命令和参数。对于此 Cloudflare Worker 实现,客户端通常通过 Server-Sent Events (SSE) 连接。

典型的客户端配置(例如在 'mcp.json' 或类似文件中)会包含如下条目:

{
  "mcpServers": {
    "您给服务器起的名字": { // 例如 "google-mcp-remote"
      "command": "npx", // 启动命令,用于连接到远程服务器的辅助工具
      "args": [
        "mcp-remote", // mcp-remote 工具名称
        "您的Cloudflare Worker部署URL/sse" // 连接参数,即您部署的Worker的SSE端点
      ]
    }
  }
}

请将 '"您给服务器起的名字"' 替换为您喜欢的名称,并将 '"您的Cloudflare Worker部署URL/sse"' 替换为您实际部署的 Cloudflare Worker 的 URL,并在末尾加上 '/sse' 路径。这个配置告诉客户端如何通过 'mcp-remote' 工具连接到您部署的 MCP 服务器。

基本使用方法

  1. 配置客户端: 按照上述说明在您的 LLM 客户端中配置 MCP 服务器信息。
  2. 授权: 首次通过客户端使用此服务器时,您需要完成 OAuth 授权流程。服务器会引导您在浏览器中登录您的 Google 账户并授权访问所需的 API。授权成功后,您会被重定向回客户端。
  3. 与 LLM 交互: 授权完成后,您就可以在 LLM 客户端中通过自然语言请求执行与 Google 服务相关的任务。LLM 会识别这些请求并利用配置好的 MCP 服务器调用相应的 Google API 工具。
    • 例如,您可以对 LLM 说:“给 Jane Doe 发送一封主题为‘会议纪要’、内容为‘今天的会议记录如下’的邮件。”
    • 或者:“列出我未来三天的日历日程。”
    • 或者:“在 Google Drive 中搜索包含‘报告’字样的文件。”

关键词

Google API, Gmail, Google Calendar, Google Drive, LLM 工具, AI 插件

信息

分类

生产力应用