mcpField
M
mcp-gee-sweet

mcp-gee-sweet

本地服务
github.com/khuisman生产力11 天前更新

关于 mcp-gee-sweet

mcp-gee-sweet 是面向 AI 客户端的 Google Workspace MCP 服务,提供 Sheets、Drive、Docs、Calendar 和 Gmail 操作,并支持公式读取、结构化文档创建及 Drive 本地同步。

主要功能

  1. 01Sheets 公式与批量操作
  2. 02Drive 文件、共享和同步
  3. 03结构化 Docs 创建及 Markdown 导出
  4. 04Calendar 事件管理与空闲时段查询
  5. 05Gmail 邮件、会话和可审核草稿
  6. 06缓存读取与工具筛选

适用场景

  1. 01批量读取或更新电子表格公式
  2. 02将本地文件夹与 Google Drive 同步
  3. 03从 HTML 或 Markdown 创建样式化 Google Docs
  4. 04查询多个日历的可用时段
  5. 05发送前审核邮件草稿

MCP 相关

向 MCP 客户端提供 Google Sheets、Drive、Docs、Calendar 和 Gmail 工具。支持 stdio,以及经过身份验证的 SSE 或 Streamable HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"khuisman-mcp-gee-sweet": {
"command": "uvx",
"args": [
"mcp-gee-sweet"
],
"env": {
"AUTH_METHOD": "<AUTH_METHOD>",
"CREDENTIALS_PATH": "<CREDENTIALS_PATH>",
"TOKEN_PATH": "<TOKEN_PATH>",
"SERVICE_ACCOUNT_PATH": "<SERVICE_ACCOUNT_PATH>",
"CREDENTIALS_CONFIG": "<CREDENTIALS_CONFIG>",
"ENABLED_TOOLS": "<ENABLED_TOOLS>"
}
}
}
}
启动命令uvx mcp-gee-sweet
需要配置的环境变量
AUTH_METHOD密钥Pin a single auth method with no fallback, instead of the default waterfall (OAuth, then service account, then Application Default Credentials).
CREDENTIALS_PATH密钥Path to an OAuth Client ID JSON file downloaded from GCP Console, used for the oauth auth method.
TOKEN_PATH密钥Path where the OAuth token is cached after the first interactive authorization.
SERVICE_ACCOUNT_PATHPath to a Google service account JSON key file, used for the service_account auth method.
CREDENTIALS_CONFIG密钥Base64-encoded service account JSON key, as an alternative to SERVICE_ACCOUNT_PATH for headless or container deployments.
ENABLED_TOOLSComma-separated list of tool function names to register. Default: all tools enabled.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-gee-sweet0.9.5

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-gee-sweet 徽标

mcp-gee-sweet

一款深入构建的 Google Workspace MCP 服务。

GitHub License

mcp-gee-sweet 为 AI 客户端提供对 Google Sheets、Docs、Drive、Calendar 和 Gmail 的深入、直接访问。它可以读取原始公式,如 =VLOOKUP();以结构化方式构建 Docs(colspan/rowspan 表格、主题、命名样式,以及 HTML/Markdown→AST→Docs 流水线);还支持 Drive 文件、共享和同步,以及 Calendar 事件与 Gmail 邮件、会话和草稿。

一些亮点:

  • 缓存 — 重复读取时从本地缓存返回,耗时约 2ms,无需每次都往返调用 API。
  • 公式访问 — 读取原始的 =VLOOKUP()、=SUM() 和 =IF() 表达式,而不只是它们生成的值。
  • 本地同步 — 在本地文件夹与 Google Drive 之间进行双向同步。

安装(稳定版):

uvx mcp-gee-sweet

安装(前沿版 — develop 上的每次代码更改):

uvx --prerelease=allow mcp-gee-sweet

完整文档 →


涵盖范围

服务工具亮点
Google Sheets36公式访问、批量读写、8 种图表类型、结构操作
Google Drive38文件操作、共享/权限、本地同步、修订历史
Google Docs34完整的 HTML→Doc 流水线、表格、范围样式、主题、Markdown 导出
Google Calendar17事件 CRUD、跨多个日历查找空闲时段
Gmail15搜索和读取邮件及会话、发送和回复、可在发送前审核、编辑或丢弃的草稿、标签(仅 OAuth)。默认情况下,除非用户确认,否则不会发送任何邮件;无法询问用户的客户端会将邮件保留为草稿。参见 Gmail 发送

快速开始

选项 A:uv — 本地使用和开发

如果你已克隆此仓库,或只想在自己的计算机上使用该服务,只需 uv。无需 Docker。

git clone https://github.com/khuisman/mcp-gee-sweet.git
cd mcp-gee-sweet
uv sync

然后使用 stdio 传输将 MCP 客户端指向该服务(参见下文的 MCP 客户端配置)。客户端会按需将服务作为子进程启动——每个会话都有独立的进程,因此,为应用代码更改或配置更新而重启服务,不会影响其他已打开的会话。

选项 B:Docker — 持久共享服务(SSE)

如果你希望运行单个长期运行的服务,让多个客户端通过 SSE 连接(例如,让 Claude Desktop 和 Claude Code 连接到同一个实例),请使用 Docker。

git clone https://github.com/khuisman/mcp-gee-sweet.git
cd mcp-gee-sweet
echo "MCP_SERVER_TOKEN=$(python3 -c 'import secrets; print(secrets.token_urlsafe(32))')" >> .env
make build   # build the container image
make start   # start the server (SSE on port 47000)
make logs    # tail logs

将 MCP 客户端指向 http://localhost:47000/sse,并在 Authorization: Bearer <token> 标头中发送 .env 中的令牌(参见下方的 SSE 配置)。服务会拒绝任何不含该令牌的请求。不使用 Docker 时,--transport sse 和 --transport streamable-http 仅监听 127.0.0.1;若要在其他地址提供服务,则需要设置 MCP_SERVER_TOKEN;参见 HTTP 传输身份验证。

注意: 使用 SSE 时,所有客户端共用一个服务进程。代码更改或重启(make restart)后,你还必须重启每个 MCP 客户端,才能重新连接。


配置

默认情况下,服务会按顺序尝试各种身份验证方式,首先是 OAuth——它会以你的身份进行身份验证,并拥有完整的个人 Drive 访问权限,适用于本地/开发环境(上文的选项 A)。要使用 OAuth,请从 GCP Console 下载 OAuth Client ID JSON,并将服务指向该文件:

export CREDENTIALS_PATH="/path/to/credentials.json"
export TOKEN_PATH="/path/to/token.json"
mcp-gee-sweet auth   # one-time browser login; `uvx mcp-gee-sweet auth` for a PyPI install

在 MCP 客户端的 env 中传入相同的 CREDENTIALS_PATH 和 TOKEN_PATH。没有令牌的 stdio 服务不会自行打开浏览器。相反,它会在首次工具调用时提供 Google 授权链接(或者你可以运行 mcp-gee-sweet auth),然后重试该调用。会话中途令牌被撤销时也会以相同方式处理,无需重启。

此外,还支持服务账号(推荐用于无头服务部署,见上文的选项 B)、以 base64 注入凭据,以及应用默认凭据。Gmail 工具需要 OAuth。所有选项请参阅身份验证。


MCP 客户端配置

Claude Desktop — 一键安装包: 从最新的 GitHub Release 下载 mcp-gee-sweet-<version>.mcpb,并在 Claude Desktop 中打开。它会要求你提供 OAuth 客户端文件,无需编辑配置(详情)。

Claude Desktop — stdio(克隆的仓库):

{
  "mcpServers": {
    "mcp-gee-sweet": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-gee-sweet", "mcp-gee-sweet"],
      "env": {
        "CREDENTIALS_PATH": "/path/to/credentials.json",
        "TOKEN_PATH": "/path/to/token.json"
      }
    }
  }
}

Claude Desktop — SSE(Docker):

{
  "mcpServers": {
    "mcp-gee-sweet": {
      "transport": "sse",
      "url": "http://localhost:47000/sse",
      "headers": {
        "Authorization": "Bearer <token>"
      }
    }
  }
}

更多选项(包括工具筛选),请参阅客户端设置。

在工具数量受限的客户端中使用

有些 MCP 客户端会限制接受的工具数量,而该服务注册所有工具后会超过每个客户端的上限:

客户端上限
VS Code + GitHub Copilot(Agent 模式)每个请求 128 个工具,包含内置工具。超出后,每个请求都会失败,并提示 "Cannot have more than 128 tools per request"
Windsurf所有服务合计 100 个工具
Cursor取决于模型("Too many MCP tools are enabled for this mode")
Google Antigravity每个服务 100 个工具(用户反馈)

在这些客户端中,请在服务的 env 中将 ENABLED_TOOLS 设为建议的子集之一,每个子集少于 100 个工具,例如,所有 Docs 工具,或 Docs + Drive 的组合。工具数量受限的客户端提供了可直接粘贴到 VS Code、Cursor 和 Windsurf 的配置。


文档


贡献

有关设置、QA 工作流和 PR 指南,请参阅 CONTRIBUTING.md。任何稳定版 PyPI 发布前,都必须有经签署确认的 docs/qa/runs/vX.Y.Z.md 记录 — QA 工作流请参阅 docs/qa/README.md。

许可证

MIT — 请参阅 LICENSE。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。