Skip to main content

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

Project description

MCP Google Workspace Server

CI codecov PyPI version License: MIT Code 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 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

  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.

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

mcp_google_suite-0.1.1.tar.gz (61.3 kB view details)

Uploaded Source

Built Distribution

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

mcp_google_suite-0.1.1-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_google_suite-0.1.1.tar.gz.

File metadata

  • Download URL: mcp_google_suite-0.1.1.tar.gz
  • Upload date:
  • Size: 61.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for mcp_google_suite-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b13bd19dc6af6a77b00a2d6b102d040bb5c1fbeb2b8a45f0d14eadbaf9daa338
MD5 74c4d7862e62e5a2890783c30122c025
BLAKE2b-256 96e00f4bbeb59535d14b71c1dd95fc8abe0377480d3a3afec6a94d115c81cd4b

See more details on using hashes here.

File details

Details for the file mcp_google_suite-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_google_suite-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 df4cd7fe50f2aa81b08dc83d30969a4b152892273b38d13744c33e9a651410a1
MD5 53191b97087d917d8df97de22c4ab983
BLAKE2b-256 c9f1fb9885872bddefcdf66e88e69f89df0be022053f9e5637ba55e2e58ee02f

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