Skip to main content
Glama
VGdotcom

Google Workspace MCP Server

by VGdotcom
README.md
---
title: Google Workspace MCP Server
emoji: 📧
colorFrom: blue
colorTo: green
sdk: docker
app_file: app.py
pinned: false
---

# Google Workspace Model Context Protocol (MCP) Server

A reusable, production-ready **Model Context Protocol (MCP) Server** that bridges AI agents with Google Workspace services (Gmail & Google Docs). By exposing standardized productivity tools, this server allows any MCP-compatible AI agent (such as Claude Desktop, IDE assistants, or autonomous workflows) to securely compose emails and edit documents without requiring hardcoded Google API logic.

---

## Features & Capabilities

### 📧 Gmail Integration
* **`send_email`**: Send emails immediately with validation for `to`, `cc`, and `bcc` lists. Supports both plain text and HTML alternative body rendering.
* **`draft_email`**: Create drafts in your Gmail mailbox for subsequent manual review before sending.

### 📄 Google Docs Integration
* **`append_content`**: Append plain text or formatted notes to the end of any Google Document. Supports Heading styles (`HEADING_1`, `HEADING_2`, `HEADING_3`), bulleted lists, numbered lists, bold text, and italic text.

### 🔐 Secure & Transparent Authentication
* Implements Google OAuth 2.0 with PKCE for enhanced desktop security.
* Automatically checks token expiration and performs silent background refreshes using stored refresh tokens without interrupting AI agent execution.
* AI agents are strictly isolated from raw tokens or client secrets.

---

## Quickstart Guide

### 1. Requirements & Setup
Ensure you have Python 3.10+ installed. Create a virtual environment and install dependencies:

```bash
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -e .
```

### 2. Configure OAuth Client Secrets
1. Follow the step-by-step instructions in [docs/GCP_SETUP.md](file:///Users/vkg/Desktop/MCP%20Server/docs/GCP_SETUP.md) to enable Gmail and Docs APIs in Google Cloud Console.
2. Download your **Desktop App** OAuth client secrets JSON file.
3. Save the downloaded file to your project root or configure its path in your `.env` file:
   ```env
   GOOGLE_CLIENT_SECRETS_FILE=client_secret_YOUR_ID.json
   TOKEN_STORAGE_PATH=token.json
   LOG_LEVEL=INFO
   ```

### 3. Authorize Your Google Account
Before running the MCP server, perform a one-time interactive login to generate your `token.json`:

```bash
workspace-auth
```
*(This opens a browser window. Sign in with your Google account and grant permissions).*

---

## Connecting to AI Agents

### Option A: Claude Desktop Configuration
To connect this MCP server to Claude Desktop, add the following entry to your `claude_desktop_config.json` (located at `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):

```json
{
  "mcpServers": {
    "google-workspace": {
      "command": "/Users/vkg/Desktop/MCP Server/.venv/bin/workspace-mcp",
      "args": ["--transport", "stdio"],
      "cwd": "/Users/vkg/Desktop/MCP Server",
      "env": {
        "GOOGLE_CLIENT_SECRETS_FILE": "/Users/vkg/Desktop/MCP Server/client_secret_YOUR_ID.json",
        "TOKEN_STORAGE_PATH": "/Users/vkg/Desktop/MCP Server/token.json"
      }
    }
  }
}
```

### Option B: Run via Server-Sent Events (SSE)
For network-based AI agents, launch the server in SSE mode:

```bash
workspace-mcp --transport sse --port 8000
```
Then connect your client to `http://localhost:8000/sse`.

---

## Documentation Suite
* **[Hugging Face Deployment Guide](file:///Users/vkg/Desktop/MCP%20Server/docs/HUGGINGFACE_DEPLOYMENT.md)**: Complete step-by-step tutorial for cloud container hosting on Hugging Face Spaces.
* **[GCP Setup Guide](file:///Users/vkg/Desktop/MCP%20Server/docs/GCP_SETUP.md)**: Detailed step-by-step tutorial on creating GCP projects and credentials.
* **[Configuration Guide](file:///Users/vkg/Desktop/MCP%20Server/docs/CONFIGURATION.md)**: Advanced environment variables, scopes, and multi-account readiness.
* **[Troubleshooting Guide](file:///Users/vkg/Desktop/MCP%20Server/docs/TROUBLESHOOTING.md)**: Solutions for common OAuth errors, token expiration, and permission denials.
* **[Problem Statement & Architecture](file:///Users/vkg/Desktop/MCP%20Server/ProblemStatement.md)**: Architectural specifications and tool schemas.

TDQS

B3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: append_content modifies Google Docs, draft_email creates drafts without sending, and send_email sends immediately. No overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (append_content, draft_email, send_email), making the set predictable.

Tool Count2/5

With only 3 tools, the server is too sparse for the broad scope implied by 'Google Workspace,' missing major services like Calendar, Sheets, and Drive.

Completeness1/5

The tool surface is severely incomplete for Google Workspace, lacking CRUD operations even on the included services (only append for Docs, no read, update, delete; email lacks search, read, trash).

Maintenance

ActivityInactive
ResponsivenessNo issues