Google Workspace集成服务

OpenBSP MCP是一个公共的MCP服务器,允许AI助手访问您的Google日历和表格,无需复杂的Google Cloud设置。

  • by matiasbattocchia
  • TypeScript
  • 云端部署
  • 5 星标
  • 更新于
在 GitHub 查看 matiasbattocchia/google-mcp

使用说明

Google工作区的OpenBSP MCP

公众 模型上下文协议 (MCP)服务器,允许AI助手访问您的谷歌日历和表格。

居住地址:https://g.mcp.openbsp.dev

为什么存在

大多数Google MCP服务器要求您创建自己的Google Cloud项目,设置OAuth凭据,并运行本地服务器。这既乏味又容易出错。

这个项目是不同的。 它是一个带有OAuth代理的托管公共服务器。你只是:

  1. 点击“用谷歌登录”
  2. 获取API密钥
  3. 将其添加到您的MCP客户端

没有谷歌云设置。没有本地服务器。没有环境变量。只需连接并离开。

你能做什么

连接后,让您的AI助手:

  • 列出并搜索您的日历事件
  • 创建、更新或删除事件
  • 读写谷歌表格
  • 创建新的电子表格

运作原理

┌──────────────┐     ┌──────────────────┐     ┌──────────────┐
│  AI Client   │────▶│  OpenBSP MCP     │────▶│  Google APIs │
│  (Claude)    │◀────│  Server          │◀────│              │
└──────────────┘     └──────────────────┘     └──────────────┘
  1. 您可以选择要连接的Google产品(日历、表格)
  2. 您通过Google身份验证并授予权限
  3. 您将收到API密钥以配置MCP客户端
  4. 您的AI助手现在可以访问您的Google数据

隐私和安全

我们存储什么

数据 目的 保护
API密钥 验证MCP客户端 存储为i(随机256位值)
OAuth令牌 代表您访问Google API AES-256-GCM加密
范围 记住您授权的产品 未加密

OAuth令牌在静态时使用AES-256-GCM进行加密。加密密钥与数据库分开存储,因此仅数据库漏洞无法暴露您的Google令牌。

我们不存储的内容

  • 您的谷歌密码
  • 您的电子邮件内容
  • 您的日历事件或电子表格数据
  • 任何个人信息

数据保留

  • API密钥:存储直到您撤销它们(或者如果设置了过期)
  • OAuth令牌:与API密钥一起存储
  • 临时身份验证状态:10分钟后删除

如何撤销访问权限

选项1:删除您的API密钥

curl -X DELETE https://g.mcp.openbsp.dev/key/YOUR_API_KEY

选项2:从谷歌撤销

  1. 首选 Google帐户安全
  2. 在列表中找到“OpenBSP MCP”
  3. 点击“删除访问权限”

这两个选项都会立即使您的API密钥无效。

MCP客户端的设置

验证后,将此添加到MCP客户端配置中:

{
  "mcpServers": {
    "google-mcp": {
      "url": "https://g.mcp.openbsp.dev/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

程序集成

MCP客户端可以通过将用户重定向到以下位置来自动设置:

https://g.mcp.openbsp.dev/auth/google?products=calendar,sheets&callback=YOUR_CALLBACK_URL

身份验证后,用户将被重定向到您的回调,URL片段中包含凭据:

YOUR_CALLBACK_URL#api_key=gmc_xxx&url=https://g.mcp.openbsp.dev/mcp&email=user@gmail.com&files=Budget.xlsx,Sales.xlsx
参数 说明
api_key 生成的API密钥
url MCP端点URL
email 授权访问的Google帐户电子邮件
files 逗号分隔的文件名(仅当图纸已授权且文件已选择时)

可用工具

日历

要求的范围:

  • calendar.events -读写事件
  • calendar.calendarlist.readonly -列出您的日历(只读)
工具 说明
list_calendars 列出所有日历
list_events 使用可选日期筛选器获取事件
check_availability 查看繁忙/空闲时间(未公开活动详细信息)
create_event 创建新的日历事件
update_event 更新现有事件
delete_event 删除事件

表格

请求的范围:

  • drive.file -仅访问您选择的文件或应用程序创建的文件
工具 说明
list_authorized_files 列出用户授权访问的文件
get_spreadsheet 获取电子表格元数据、工作表和表格
get_sheet_schema 获取列名和推断类型
describe_sheet 获取所有列的统计摘要
search_rows 搜索符合筛选条件的行
semantic_search 基于人工智能的行语义搜索(按含义查找,不完全匹配)
read_sheet 从某个范围读取数据(例如“A1:D10”)
write_sheet 将数据写入范围
append_rows 附加行(支持带 tableId 对于页脚感知附加)
create_spreadsheet 创建新的电子表格

这 drive.file 作用域仅授予用户在身份验证期间(通过Google Drive Picker)明确选择的文件或应用程序创建的文件的访问权限。使用 list_authorized_files 以发现哪些电子表格可用。

表支持: 这 get_spreadsheet 工具返回表元数据,包括 tableId.把这个传给 append_rows 为了正确识别表格,请添加尊重页脚并自动扩展表格的附件。

语义搜索: 这 semantic_search 该工具使用AI嵌入来按含义查找行。由...驱动 标签.

自我寄宿

想运行自己的实例吗?看 部署.md 以获取说明。

常见问题解答

这是官方消息吗? 不,这是一个独立的开源项目。它与谷歌或Anthropic无关。

安全吗? 我们只请求所需的最小权限。您的数据通过我们的服务器直接在谷歌和您的人工智能客户端之间流动——我们不会存储或记录它。

我可以看看代码吗? 对!这个项目是开源的。检查代码,运行自己的实例,或做出改进。

如果我丢失了我的API密钥怎么办? 通过再次验证生成一个新的。除非您撤销旧密钥,否则它们仍然有效。

这要花什么钱吗? 此公共实例是免费的。如果您自托管,您将为Cloudflare Workers付费(提供慷慨的免费层)。