Skip to main content

MCP server for Google Calendar, Gmail, and Drive integration

Project description

🐶 Google Cloud MCP (FastMCP Edition)

License: MIT Powered by PubPug Docker Support

A high-performance Model Context Protocol (MCP) server implementation designed to empower AI agents with seamless integration into Google Cloud and Workspace ecosystems. Built with FastMCP and optimized for UV and Docker.

🚀 Key Capabilities

📅 Google Calendar Orchestration

  • list_calendar_events: Retrieve upcoming schedule and event details.
  • create_calendar_event: Programmatically schedule new appointments and meetings.
  • delete_calendar_event: Remove events from the primary calendar.

📧 Intelligent Gmail Orchestration

  • create_gmail_label: Programmatically generate Gmail labels for automated organization.
  • batch_label_emails: Apply labels to historical emails based on search queries.
  • create_gmail_filter: Establish automated routing rules for incoming communications.
  • send_email: Execute professional email communication via secure API protocols.
  • clean_spam: Automated garbage collection to maintain a pristine inbox.

📂 Cloud Storage Integration (Google Drive)

  • search_drive: Advanced semantic search and metadata retrieval for files stored across Google Drive.

🔐 Authentication Made Easy (v1.6+)

Setting up Google access is now simpler than ever. No more manual code copying!

  1. Configure Credentials: Add your GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET to the .env file.
  2. Start the Server: Run uv run server.py.
  3. Access Web Portal: Open your browser and navigate to http://localhost:3838.
  4. One-Click Authorize: Click the "Authorize with Google" button and grant permissions.
  5. Done!: The server automatically captures the token and saves it to .token.json. Your AI is now connected.

🛠️ Deployment & Architecture

Docker Deployment (Recommended)

The fastest way to deploy the server is using Docker Compose:

# Build and start the container
docker-compose up -d --build

Local Development

Prerequisites:

  • Python 3.10+
  • UV (High-speed Python package manager)
# Clone the repository
git clone https://github.com/tannht/google-cloud-mcp.git
cd google-cloud-mcp

# Sync environment and dependencies
uv sync

# Run the server
uv run server.py

⚙️ MCP Client Configuration

Full guide for 25+ clients: MCP_CLIENTS.md

Covers Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, Kiro, Kilo Code, Cline, Roo Code, JetBrains, Gemini CLI, OpenAI Codex, Zed, Augment Code, Warp, Amp, LM Studio, Perplexity, Qwen Code, Amazon Q, and more.

Quick Install (Recommended - No Path Needed)

Install from PyPI and use uvx — no cloning, no path headaches:

# Install once
pip install google-cloud-mcp
Claude Code (uvx)
claude mcp add google-cloud-mcp \
  -e GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com \
  -e GOOGLE_CLIENT_SECRET=your-client-secret \
  -- uvx google-cloud-mcp
Claude Desktop (uvx)

File: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "google-cloud-mcp": {
      "command": "uvx",
      "args": ["google-cloud-mcp"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}
Cursor / VS Code / Any MCP Client (uvx)
{
  "mcpServers": {
    "google-cloud-mcp": {
      "command": "uvx",
      "args": ["google-cloud-mcp"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

From Source (for development)

If you prefer to clone and run from source, replace /path/to/google-cloud-mcp with your actual path.

Claude Code
claude mcp add google-cloud-mcp \
  -e GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com \
  -e GOOGLE_CLIENT_SECRET=your-client-secret \
  -- uv run --directory /path/to/google-cloud-mcp server.py
Claude Desktop

File: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "google-cloud-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/google-cloud-mcp", "server.py"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}
Docker (any client)
{
  "mcpServers": {
    "google-cloud-mcp": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "GOOGLE_CLIENT_ID",
        "-e", "GOOGLE_CLIENT_SECRET",
        "-v", "/path/to/google-cloud-mcp/.token.json:/app/.token.json",
        "google-cloud-mcp"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

🐕 Attribution

Developed and maintained by PubPug Assistant 🐶.


Optimized for the next generation of AI Workflows.


🛡️ All commits in this repository are GPG-signed.

👥 Contributors

  • Hoang Tan (Owner)
  • PubPug Assistant 🐶 (Primary Developer)
  • Cryptographic Integrity: Every deployment is signed using GPG for end-to-end security.

(Verified with pubpug@metoolzy.com)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gg_mcp-2.1.0.tar.gz (78.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gg_mcp-2.1.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file gg_mcp-2.1.0.tar.gz.

File metadata

  • Download URL: gg_mcp-2.1.0.tar.gz
  • Upload date:
  • Size: 78.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for gg_mcp-2.1.0.tar.gz
Algorithm Hash digest
SHA256 02b347001cfcfab22085b87e575304395dbd52e0970b66d7d3a5ebe9ce2bfbc3
MD5 f58254f273366a5d0e24b2484b52c6da
BLAKE2b-256 f8195b5264b92e585ea979a406ff070e333818b84db435b2dd7a29941a38d34f

See more details on using hashes here.

File details

Details for the file gg_mcp-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: gg_mcp-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for gg_mcp-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1e93285634eb2935c0b264189edd2f3c4b5882b3434a6e752c2222c7bb14f26
MD5 9fb4b13bdba2e5df7c1c4225b24cbe36
BLAKE2b-256 78c96f2b2e9806543ed3f297c658f29aaa5b95ab52a90a5a62593977195be0dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page