MCP server for Google Workspace operations (Drive, Docs, and Sheets)
Project description
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 auth
to 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.