Mcp Gee Sweet

io.github.khuisman由 GitHub 帳號 khuisman 發布v0.9.5更新於 Nov 1, 2026

MCP server for Google Workspace — Sheets, Drive, Docs (HTML or Markdown), Calendar, and Gmail.

概覽

AI 產生的概覽

本機 MCP 伺服器,讓 AI 助理深入讀寫 Google 試算表、雲端硬碟、文件、日曆和 Gmail。

可以做什麼
  • 讀寫 Google 試算表,包括原始公式、批次操作、圖表和結構變更
  • 管理雲端硬碟檔案、權限與共用、版本記錄,並與本機資料夾雙向同步
  • 以 HTML 或 Markdown 建立和編輯 Google 文件,支援表格、範圍樣式和主題
  • 建立、修改和刪除日曆活動,並在多個日曆間尋找空檔
  • 搜尋、讀取、寄送和回覆 Gmail 郵件與討論串,管理草稿和標籤
適用情境
適合希望助理直接在 Google Workspace 帳號內作業的情境:編輯試算表和文件、整理雲端硬碟檔案、安排會議或處理郵件。也適合想用一個伺服器涵蓋多項 Workspace 服務、而不分別串接多個整合的使用者。
執行需求
以 stdio 本機程序執行,可用 uvx 安裝,或複製儲存庫後以 uv 執行;Docker 僅用於共用的 SSE 伺服器。需要 Google 憑證:透過 CREDENTIALS_PATH 提供 OAuth 用戶端 JSON,並用 TOKEN_PATH 快取一次性瀏覽器登入的權杖;或透過 SERVICE_ACCOUNT_PATH、CREDENTIALS_CONFIG 使用服務帳戶。Gmail 工具僅支援 OAuth。有工具數量上限的用戶端需以 ENABLED_TOOLS 設定子集。
安裝前請注意
OAuth 模式下以使用者身分驗證並擁有完整的個人雲端硬碟存取權,助理可讀取和修改真實的文件、檔案、日曆和郵件。Gmail 可寄送和回覆;預設需使用者確認後才寄出,無法詢問的用戶端會保留為草稿。服務帳戶金鑰和 OAuth 權杖屬敏感檔案,請妥善保管 CREDENTIALS_CONFIG、SERVICE_ACCOUNT_PATH 和 TOKEN_PATH。SSE 模式需要 MCP_SERVER_TOKEN,且所有用戶端共用同一個程序。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mcp Gee Sweet,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[mcp-gee-sweet logo]

mcp-gee-sweet

A Google Workspace MCP server built for depth.

[GitHub License]

mcp-gee-sweet gives AI clients deep, direct access to Google Sheets, Docs, Drive, Calendar, and Gmail. It reads raw formulas like =VLOOKUP(), builds Docs structurally (colspan/rowspan tables, themes, named styles, an HTML/Markdown→AST→Docs pipeline), and covers Drive files, sharing, and sync alongside Calendar events and Gmail messages, threads, and drafts.

A few highlights:

  • Caching — repeated reads return in ~2ms from a local cache instead of a round-trip API call every time.
  • Formula access — reads raw =VLOOKUP(), =SUM(), and =IF() expressions, not just the values they produce.
  • Local sync — two-way sync between a local folder and Google Drive.

Install (stable):

bash
uvx mcp-gee-sweet

Install (bleeding edge — every code change on develop):

bash
uvx --prerelease=allow mcp-gee-sweet

Full documentation →


What's covered

ServiceToolsHighlights
Google Sheets36Formula access, batch read/write, 8 chart types, structural ops
Google Drive38File ops, sharing/permissions, local sync, revision history
Google Docs34Full HTML→Doc pipeline, tables, range styling, themes, Markdown export
Google Calendar17Event CRUD, free-slot finder across multiple calendars
Gmail15Search and read messages and threads, send and reply, drafts you can review, edit, or discard before sending, labels (OAuth only). By default nothing is sent until the user confirms it; a client that can't ask leaves the email as a draft. See Gmail sending

Quick start

Option A: uv — local use and development

If you cloned the repo or just want to use the server from your machine, uv is all you need. No Docker required.

bash
git clone https://github.com/khuisman/mcp-gee-sweet.gitcd mcp-gee-sweetuv sync

Then point your MCP client at it using stdio transport (see MCP client config below). The client spawns the server as a subprocess on demand — each session gets its own isolated process, so restarting the server for a code change or config update doesn't affect other open sessions.

Option B: Docker — persistent shared server (SSE)

Use Docker when you want a single long-running server that multiple clients connect to over SSE — for example, Claude Desktop talking to the same instance as Claude Code.

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

Point your MCP client at http://localhost:47000/sse, sending the token from .env as an Authorization: Bearer <token> header (see the SSE config below). The server rejects any request without it. Without Docker, --transport sse and --transport streamable-http listen on 127.0.0.1 only, and need MCP_SERVER_TOKEN to serve on any other address; see HTTP transport authentication.

Note: when using SSE, all clients share one server process. After a code change or restart (make restart), you must also restart each MCP client to reconnect.


Configuration

The server tries auth methods in a waterfall by default, OAuth first — it authenticates as you and has full personal Drive access, which is what local/dev use (Option A above) needs. For OAuth, download an OAuth Client ID JSON from GCP Console and point the server at it:

bash
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

Pass the same CREDENTIALS_PATH and TOKEN_PATH in your MCP client's env. A stdio server with no token doesn't open a browser itself. Instead its first tool call offers you the Google consent link (or you run mcp-gee-sweet auth), and you retry the call. A token revoked mid-session is handled the same way, with no restart.

Service accounts (recommended for headless server deployments, see Option B above), base64 credential injection, and Application Default Credentials are also supported. Gmail tools need OAuth. See Authentication for all options.


MCP client config

Claude Desktop — one-click bundle: download mcp-gee-sweet-<version>.mcpb from the latest GitHub Release and open it in Claude Desktop. It asks for your OAuth client file and needs no config editing (details).

Claude Desktop — stdio (cloned repo):

json
{  "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):

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

See Client Setup for more options including tool filtering.

Using a client with a tool limit

Some MCP clients cap how many tools they accept, and with every tool registered this server is over each cap:

ClientLimit
VS Code + GitHub Copilot (agent mode)128 tools per request, built-in tools included. Over it, every request fails with "Cannot have more than 128 tools per request"
Windsurf100 tools in total, across all servers
CursorDepends on the model ("Too many MCP tools are enabled for this mode")
Google Antigravity100 tools per server (user report)

On these clients, set ENABLED_TOOLS in the server's env to one of the suggested subsets, each under 100 tools, e.g. all Docs tools, or Docs + Drive combined. Clients with a tool limit has a ready-to-paste config for VS Code, Cursor, and Windsurf.


Docs


Contributing

See CONTRIBUTING.md for setup, QA workflows, and PR guidelines. A signed-off docs/qa/runs/vX.Y.Z.md record is required before any stable PyPI release — see docs/qa/README.md for the QA workflow.

License

MIT — see LICENSE.

Credits

來源:README.md,提交 730b7dc

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:伺服器未能啟動。

版本歷史

6
  1. v0.9.5最新Oct 25, 2026
  2. v0.9.4Oct 23, 2026
  3. v0.9.3Oct 21, 2026
  4. v0.9.2Oct 18, 2026
  5. v0.9.1Oct 4, 2026
  6. v0.9.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分