Google-Workspace
MCP server from giuseppe-coco/Google-Workspace-MCP-Server
claude mcp add --transport stdio giuseppe-coco-google-workspace-mcp-server uvx giuseppe-coco-google-workspace-mcp-server \ --env ENVIRONMENT="production" \ --env TOKEN_JSON_PATH="path/to/token.json" \ --env GOOGLE_APPLICATION_CREDENTIALS="path/to/client_secrets.json"
How to use
This MCP server acts as a secure bridge between your Google Workspace account (Gmail, Calendar, Drive) and any MCP-compatible AI client. It exposes tools to manage Gmail messages, calendar events, and Drive files through the MCP interface, enabling an AI client such as Claude Desktop to read, search, create, update, and delete resources across Gmail, Calendar, and Drive. To use it, configure your Google Cloud project and authorize access once using the provided get_credentials flow, which stores tokens locally for subsequent runs. After setup, run the server with your preferred Python/uvx command, then connect an MCP client and begin issuing natural language prompts that are translated into Google Workspace actions by the server.
How to install
Prerequisites:
- Python 3.9+ and uv (or pip)
- A Google Cloud project with Gmail, Calendar, and Drive APIs enabled
- Claude Desktop (or any MCP client)
Install and setup:
- Clone the repository and navigate into it:
git clone <your-repo-url>
cd <your-repo-name>
- Create and activate a Python virtual environment, then install dependencies:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv install -r requirements.txt
- Prepare Google Cloud credentials:
- In Google Cloud Console, enable Gmail API, Google Calendar API, and Google Drive API for your project.
- Create OAuth 2.0 Client IDs (Desktop app) and download the JSON as client_secrets.json.
- Place client_secrets.json in the root directory of this project and rename if needed.
- Run the one-time authorization flow to obtain token.json:
python get_credentials.py
This will open a browser to authorize access and will write token.json to the project directory for subsequent runs.
- Start the MCP server via uvx with the appropriate package/module name (as configured in mcp_config):
uvx giuseppe-coco-google-workspace-mcp-server
Note: The exact startup command may vary depending on packaging. If you prefer running directly with Python, ensure the module path and dependencies are properly set in requirements.txt.
Additional notes
Environment variables and file paths are placeholders. Ensure you point GOOGLE_APPLICATION_CREDENTIALS to the downloaded client_secrets.json and provide a valid token.json after authorization. If you encounter API quota errors, consider applying for higher quotas or spacing requests. Maintain proper security around credentials and tokens. The server currently supports Google Calendar for event CRUD, Gmail for reading, searching, and sending, and Drive for file search, doc creation, and doc content updates. If Claude or another MCP client cannot locate tools, verify the client configuration paths and that the server is reachable by the client (network/firewall considerations).
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP