Skip to main content
Glama
ManuSNair788

Google Workspace MCP Server

by ManuSNair788

Google Workspace MCP Server

This repository contains a Model Context Protocol (MCP) server that integrates with Google Workspace to automatically create Google Docs and draft emails in Gmail.

The server is built using Python, Starlette, and Server-Sent Events (SSE) to allow AI agents (such as custom Orchestrators or Claude Desktop) to connect remotely and execute tools securely.

Prerequisites

  • Python 3.10+

  • A Google Cloud Platform (GCP) project with the following APIs enabled:

    • Google Docs API

    • Google Drive API

    • Gmail API

  • An OAuth 2.0 Client ID (Desktop App) from the GCP Console, saved as credentials.json.

Related MCP server: Google Workspace MCP Server

Quick Start (Local Setup)

  1. Clone this repository.

  2. Create a virtual environment and install dependencies:

    python -m venv venv
    source venv/bin/activate  # Or .\venv\Scripts\activate on Windows
    pip install -r requirements.txt
  3. Copy .env.example to .env and configure your settings.

  4. Place your downloaded credentials.json in the root folder.

  5. Generate the token.json locally by running:

    python generate_token.py

    Follow the link provided in the console to log in to Google and authorize the application.

  6. Run the server locally:

    python src/main.py

    The server will start on http://0.0.0.0:8000. Your SSE endpoint will be available at http://localhost:8000/sse.

Deploying to Railway

This server is configured to run effortlessly on Railway.

Because Railway containers are ephemeral (their file systems reset on every deployment), you must securely provide your token.json so the server remains authenticated with Google.

Deployment Steps:

  1. Push to GitHub: Push this repository to your GitHub account.

  2. Create Railway Project: Log into Railway, click "New Project", and deploy from your GitHub repo.

  3. Environment Variables: Add the variables from your .env file into the Railway dashboard.

  4. Persistent Volume (Important):

    • Go to your Railway service settings.

    • Attach a new Volume to the service.

    • Mount the volume at a path like /data.

    • Update your Railway environment variable TOKEN_PATH to /data/token.json.

  5. Upload the Token:

    • Railway doesn't easily allow direct file uploads to volumes. Instead, you can encode your token.json as a base64 string, store it in an environment variable, and update your startup command in Railway to decode it into the volume before starting the server.

    • Alternatively, you can use a database for token storage in the future.

Tools Provided

  • create_doc(title: string, content: string): Creates a Google Doc and inserts the given markdown/text.

  • draft_email(to: string[], subject: string, body: string): Drafts an email securely in the authenticated user's outbox.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

  • Google NotebookLM via natural language: create notebooks, add sources (PDF, URL, YouTube) and ask gr

  • Securely search and manage workspace context files for AI agents and teams.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ManuSNair788/MCPServer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server