adexltd

MCP Google Workspace Server

Community adexltd
Updated

MCP server for Google Workspace operations (Drive, Docs, and Sheets)

MCP Google Workspace Server

CIcodecovPyPI versionLicense: MITCode style: black

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 [email protected]: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

  1. Visit Google Cloud Console
  2. Enable Drive, Docs, and Sheets APIs
  3. Create OAuth 2.0 credentials
  4. Save as ~/.google/oauth.keys.json
  5. Run mcp-google auth to authenticate

Available Tools

Drive Operations
  • drive_search_files: Search files in Google Drive
    • query (string, required): Search query
    • page_size (integer, optional): Number of results to return
  • drive_create_folder: Create a new folder
    • name (string, required): Folder name
    • parent_id (string, optional): Parent folder ID
Docs Operations
  • docs_create: Create a new document
    • title (string, required): Document title
    • content (string, optional): Initial content
  • docs_get_content: Get document content
    • document_id (string, required): Document ID
  • docs_update_content: Update document content
    • document_id (string, required): Document ID
    • content (string, required): New content
Sheets Operations
  • sheets_create: Create a new spreadsheet
    • title (string, required): Spreadsheet title
    • sheets (array, optional): Sheet names
  • sheets_get_values: Get cell values
    • spreadsheet_id (string, required): Spreadsheet ID
    • range (string, required): A1 notation range
  • sheets_update_values: Update cell values
    • spreadsheet_id (string, required): Spreadsheet ID
    • range (string, required): A1 notation range
    • values (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.

MCP Server Β· Populars

MCP Server Β· New

    jonashertner

    OpenCaseLaw

    Open Swiss legal corpus + MCP server: 1M+ court decisions (1875–today), 21k laws, 10M-edge citation graph, 42 MCP tools. CC0 data, MIT code. Live at mcp.opencaselaw.ch

    Community jonashertner
    SystemCraftsman

    Strimzi Kafka CLI

    Command Line Interface for the Strimzi Kafka Operator

    Community SystemCraftsman
    DROOdotFOO

    Raxol

    Write one app, render it to a terminal, a browser, or as agent tools. The terminal for your Gundam.

    Community DROOdotFOO
    morluto

    REA: Reverse Engineer Anything

    Reverse engineer anything with agents, from app behavior down to native binaries.

    Community morluto
    nedlir

    MCPwner

    Model Context Protocol server for autonomous vulnerability discovery

    Community nedlir