Skip to main content
Glama
duskydaydreamer

Google Workspace MCP Server

Google Workspace MCP Server

A Model Context Protocol (MCP) server that exposes standardized tools for AI agents to interact with Google Workspace (Gmail and Google Docs).

This server is designed to run in a cloud environment (like Render) using HTTP and Server-Sent Events (SSE) for client-server communication.

Features

  • Gmail: Draft and send emails securely.

  • Google Docs: Append structured content to documents.

  • Generic & Extensible: Exposes strongly-typed tools via the MCP protocol.

  • Cloud-Ready: SSE transport allows remote AI agents to connect seamlessly.

Related MCP server: Generic MCP Server for Google Workspace

Setup

  1. Google Cloud Configuration:

    • Create a project in Google Cloud Console.

    • Enable the Gmail API and Google Docs API.

    • Create an OAuth 2.0 Client ID for a Web Application or Desktop App.

    • Note the Client ID and Client Secret.

  2. Environment Variables: In your Render Dashboard (or local .env file), configure the following:

    GOOGLE_CLIENT_ID=your-client-id
    GOOGLE_CLIENT_SECRET=your-client-secret
    GOOGLE_REDIRECT_URI=http://localhost:3000/oauth2callback
    TOKEN_STORAGE_PATH=.tokens.json
    LOG_LEVEL=info
    GOOGLE_OAUTH_TOKENS={"access_token":"...","refresh_token":"..."} # Provide this in production
  3. Install Dependencies:

    npm install
  4. Authentication: Before deploying to production, generate the initial OAuth tokens locally. You can then stringify the .tokens.json file content and set it as the GOOGLE_OAUTH_TOKENS environment variable in Render.

  5. Deploy to Render:

    • Connect your GitHub repository to Render as a Web Service.

    • Render will automatically use the render.yaml blueprint to run npm run build and npm start.

    • Ensure the GOOGLE_OAUTH_TOKENS and Google API credentials are set in the Render Environment Variables tab.

  6. Connecting to the Server: Once deployed, connect your MCP Client (like an AI agent) to the SSE endpoint: https://<your-render-app-url>/sse

Development

Run locally using:

npm run dev

Run tests with npm run test (using Vitest).

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers