MCP server for Google Workspace — Sheets, Drive, Docs, and Calendar. 60+ tools for AI clients.
Project description
Your AI Assistant's Gateway to Google Workspace!
An MCP server that gives AI clients reliable, direct access to Google Workspace — Sheets, Drive, Docs, and Calendar. 101 tools across four domains.
As of mid-2026, Google's own Workspace MCP servers (Developer Preview) cover Gmail, Drive, Calendar, People, and Chat — Sheets and Docs still have no official server at all, and Drive/Calendar coverage there is a fraction of what's here. Stable releases ship to PyPI behind a QA regression gate, with a raw batch_update passthrough as an escape hatch for anything a named tool doesn't cover yet. See Why it exists for the full, sourced comparison against both the official servers and community alternatives.
Install (stable):
uvx mcp-gee-sweet
Install (bleeding edge — every code change on develop):
uvx --prerelease=allow mcp-gee-sweet
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.
git clone https://github.com/khuisman/mcp-gee-sweet.git
cd mcp-gee-sweet
uv 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.
git clone https://github.com/khuisman/mcp-gee-sweet.git
cd mcp-gee-sweet
make build # build the container image
make start # start the server (SSE on port 47000)
make logs # tail logs
Point your MCP client at http://localhost:47000/sse.
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:
export CREDENTIALS_PATH="/path/to/credentials.json"
Service accounts (recommended for headless server deployments — see Option B above), base64 credential injection, and Application Default Credentials are also supported. See Authentication for all options.
MCP client config
Claude Desktop — stdio (cloned repo):
{
"mcpServers": {
"mcp-gee-sweet": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-gee-sweet", "mcp-gee-sweet"],
"env": {
"CREDENTIALS_PATH": "/path/to/credentials.json"
}
}
}
}
Claude Desktop — SSE (Docker):
{
"mcpServers": {
"mcp-gee-sweet": {
"transport": "sse",
"url": "http://localhost:47000/sse"
}
}
}
See Client Setup for more options including tool filtering.
Docs
- Tools — full tool reference (101 tools)
- Authentication — all four auth methods
- Configuration — env vars, caching, tool filtering
- Client Setup — MCP client config examples
- Design Principles — tool inclusion policy, composite tool decisions
- Roadmap — planned features and known gaps
Contributing
See CONTRIBUTING.md for setup, QA workflows, and PR guidelines. All items in docs/qa-checklist.md must be verified before any PyPI release.
License
MIT — see LICENSE.
Credits
- xing5/mcp-google-sheets — upstream this project was forked from
- FastMCP
- freema/mcp-gsheets and piotr-agier/google-drive-mcp — roadmap inspiration
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_gee_sweet-0.8.2.dev63.tar.gz.
File metadata
- Download URL: mcp_gee_sweet-0.8.2.dev63.tar.gz
- Upload date:
- Size: 541.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cebbe548c152cae10cc74d42ed3bc7e9fb827a20493e3fe2f1308505b825cb2c
|
|
| MD5 |
838ac7ada67adc4faa63d250fe22df5a
|
|
| BLAKE2b-256 |
84f4023fb2b86276c49a81751d55a77c566e631c2efa6ed20c587c28c885557b
|
Provenance
The following attestation bundles were made for mcp_gee_sweet-0.8.2.dev63.tar.gz:
Publisher:
publish-dev.yml on khuisman/mcp-gee-sweet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_gee_sweet-0.8.2.dev63.tar.gz -
Subject digest:
cebbe548c152cae10cc74d42ed3bc7e9fb827a20493e3fe2f1308505b825cb2c - Sigstore transparency entry: 2191725557
- Sigstore integration time:
-
Permalink:
khuisman/mcp-gee-sweet@b2fb77dbe0339452d510cb8c682e488814cb6793 -
Branch / Tag:
refs/heads/develop - Owner: https://github.com/khuisman
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-dev.yml@b2fb77dbe0339452d510cb8c682e488814cb6793 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_gee_sweet-0.8.2.dev63-py3-none-any.whl.
File metadata
- Download URL: mcp_gee_sweet-0.8.2.dev63-py3-none-any.whl
- Upload date:
- Size: 106.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a12513772a5684f228dd7417cd37f55483e5138ff46d564cb42506db73f04208
|
|
| MD5 |
81fde3f9b7abf28000d904bb04d772b2
|
|
| BLAKE2b-256 |
d9660cd763b63259f83b7605c3192c0e0ea74926ea404abadfc026cc53753e23
|
Provenance
The following attestation bundles were made for mcp_gee_sweet-0.8.2.dev63-py3-none-any.whl:
Publisher:
publish-dev.yml on khuisman/mcp-gee-sweet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_gee_sweet-0.8.2.dev63-py3-none-any.whl -
Subject digest:
a12513772a5684f228dd7417cd37f55483e5138ff46d564cb42506db73f04208 - Sigstore transparency entry: 2191725562
- Sigstore integration time:
-
Permalink:
khuisman/mcp-gee-sweet@b2fb77dbe0339452d510cb8c682e488814cb6793 -
Branch / Tag:
refs/heads/develop - Owner: https://github.com/khuisman
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-dev.yml@b2fb77dbe0339452d510cb8c682e488814cb6793 -
Trigger Event:
push
-
Statement type: