Skip to main content
Glama
mrigank-raj

Google Workspace MCP Server

by mrigank-raj

Google Workspace MCP Server

A generic Model Context Protocol (MCP) Server that exposes Google Workspace capabilities to AI agents. Currently, it supports sending and drafting emails via Gmail and appending content to Google Docs.

Prerequisites

  1. Node.js (v18 or higher recommended)

  2. Google Cloud Project with the following APIs enabled:

    • Gmail API

    • Google Docs API

Related MCP server: mcp-server-google-workspace

Setup Instructions

1. Configure Google Cloud OAuth

  1. Go to the Google Cloud Console.

  2. Create a new project or select an existing one.

  3. Navigate to APIs & Services > Library and enable Gmail API and Google Docs API.

  4. Navigate to APIs & Services > OAuth consent screen and configure it. Add your email address as a test user if the app is in "Testing" mode.

  5. Navigate to APIs & Services > Credentials.

  6. Click Create Credentials > OAuth client ID.

  7. Select Desktop app as the application type and create it.

  8. Download the client ID and client secret.

2. Configure Environment Variables

  1. Copy .env.example to .env:

    cp .env.example .env
  2. Update .env with your GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET.

3. Install Dependencies

npm install

4. Authenticate

Run the authentication script to generate and save your OAuth tokens locally:

npm run auth

Follow the prompt in your terminal. It will provide a URL for you to visit. Log in with your Google account, authorize the requested scopes, and copy the provided code back into the terminal.

This will generate a .credentials.json file in the root of the project. Keep this file secure and do not commit it to version control.

5. Build and Run Locally

To compile the TypeScript code:

npm run build

To run the MCP server (starts an Express server on port 3000 by default):

npm start

For development, you can use:

npm run dev

6. Deploy to Railway

  1. Push your repository to GitHub.

  2. Create a new project on Railway and deploy from your GitHub repo.

  3. In the Railway Variables dashboard, add the following variables:

    • GOOGLE_CLIENT_ID: Your Google OAuth Client ID.

    • GOOGLE_CLIENT_SECRET: Your Google OAuth Client Secret.

    • GOOGLE_OAUTH_CREDENTIALS: Copy the entire contents of your local .credentials.json and paste it here.

  4. Railway will automatically build and start the Express server.

Configuring an MCP Client

This server uses Server-Sent Events (SSE) over HTTP, meaning it is meant to be accessed via a URL rather than a local command.

If your AI client supports connecting to remote MCP servers via SSE (like some custom clients or extensions), point it to your Railway URL (or localhost if running locally):

SSE URL: https://your-app-name.up.railway.app/sse

If you are using a client that requires a local executable (like Claude Desktop), you will need a proxy or wrapper that bridges stdio to the remote SSE endpoints, as Claude Desktop currently natively spawns local processes via stdio.

Available Tools

  • send_email: Sends an email using the authenticated user's Gmail account.

  • draft_email: Creates a draft email in the authenticated user's Gmail account.

  • append_to_doc: Appends text to the end of an existing Google Document.

A
license - permissive license
-
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.

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/mrigank-raj/MCP_Server-1'

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