MCP Google Workspace Server
A Model Context Protocol (MCP) server enabling AI agents to interact with Google Workspace (Drive, Docs, and Sheets) services.
🌟 Features
- Google Drive: Search files, create folders
- Google Docs: Create, read, update documents
- Google Sheets: Create spreadsheets, read/write cell values
- Multiple transport modes: stdio (default), SSE, WebSocket
- MCP-compatible client support (Cursor, etc.)
📋 Installation
Using uv (recommended)
uvx mcp-google-suite
Using pip
pip install mcp-google-suite
Development setup
# Clone and install
git clone git@github.com:adexltd/mcp-google-suite.git && cd mcp-google-suite
uv venv && source .venv/bin/activate # or .venv\Scripts\activate on Windows
uv pip install -e .
🔧 Configuration
Configure for MCP Clients
Add to your client settings (e.g. Cursor, Claude):
Using uvx (recommended):
{
"mcpServers": {
"mcp-google-suite": {
"command": "uvx",
"args": ["mcp-google-suite"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "~/.google/server-creds.json",
"GOOGLE_OAUTH_CREDENTIALS": "~/.google/oauth.keys.json"
}
}
}
}
Using pip installation:
{
"mcpServers": {
"mcp-google-suite": {
"command": "python",
"args": ["-m", "mcp_google_suite"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "~/.google/server-creds.json",
"GOOGLE_OAUTH_CREDENTIALS": "~/.google/oauth.keys.json"
}
}
}
}
Google OAuth Setup
- Visit Google Cloud Console
- Enable Drive, Docs, and Sheets APIs
- Create OAuth 2.0 credentials
- Save as
~/.google/oauth.keys.json - Run
mcp-google authto authenticate
Available Tools
Drive Operations
drive_search_files: Search files in Google Drivequery(string, required): Search querypage_size(integer, optional): Number of results to return
drive_create_folder: Create a new foldername(string, required): Folder nameparent_id(string, optional): Parent folder ID
Docs Operations
docs_create: Create a new documenttitle(string, required): Document titlecontent(string, optional): Initial content
docs_get_content: Get document contentdocument_id(string, required): Document ID
docs_update_content: Update document contentdocument_id(string, required): Document IDcontent(string, required): New content
Sheets Operations
sheets_create: Create a new spreadsheettitle(string, required): Spreadsheet titlesheets(array, optional): Sheet names
sheets_get_values: Get cell valuesspreadsheet_id(string, required): Spreadsheet IDrange(string, required): A1 notation range
sheets_update_values: Update cell valuesspreadsheet_id(string, required): Spreadsheet IDrange(string, required): A1 notation rangevalues(array, required): 2D array of values
🛠️ Development
# Install dev dependencies
uv pip install -e ".[dev]"
# Setup pre-commit hooks
pre-commit install
# Run tests
pytest
# Format code
black . && ruff check --fix .
🔍 Debugging
Use the MCP Inspector for interactive testing:
# Using uvx
npx @modelcontextprotocol/inspector uvx mcp-google
# For development
cd path/to/mcp-google-suite
npx @modelcontextprotocol/inspector uv run mcp-google
📚 Resources
🤝 Contributing
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
🔒 Security
See SECURITY.md for reporting vulnerabilities and best practices.
📄 License
MIT License - See LICENSE file for details.
Metadata
Release files for mcp-google-suite 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_google_suite-0.1.1.tar.gz | 61.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_google_suite-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.3 kB
Release files / mcp_google_suite-0.1.1.tar.gz
| Download URL | mcp_google_suite-0.1.1.tar.gz |
|---|---|
| Size | 61.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b13bd19dc6af6a77b00a2d6b102d040bb5c1fbeb2b8a45f0d14eadbaf9daa338
|
|
BLAKE2b-256 checksum How to use checksums |
96e00f4bbeb59535d14b71c1dd95fc8abe0377480d3a3afec6a94d115c81cd4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|
Release files / mcp_google_suite-0.1.1-py3-none-any.whl
| Download URL | mcp_google_suite-0.1.1-py3-none-any.whl |
|---|---|
| Size | 22.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df4cd7fe50f2aa81b08dc83d30969a4b152892273b38d13744c33e9a651410a1
|
|
BLAKE2b-256 checksum How to use checksums |
c9f1fb9885872bddefcdf66e88e69f89df0be022053f9e5637ba55e2e58ee02f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|
Security for mcp-google-suite 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.