Skip to main content
Glama
Shubham-vvn

Google Workspace MCP Server

by Shubham-vvn

Google Workspace MCP Server

This is a generic Model Context Protocol (MCP) server that enables AI agents (such as Claude Desktop, Cursor, etc.) to compose and send emails via Gmail and append content to Google Docs.


Features

  • Gmail Automation:

    • gmail_create_draft: Compose new draft emails with subject, body, CC, and BCC.

    • gmail_send_email: Send emails directly.

  • Document Management:

    • gdocs_append_text: Append text/paragraphs to the end of a Google Doc.

  • Generic Protocol: Works with any MCP client over standard input/output (stdio).


Related MCP server: Gmail & Google Docs MCP Server

Prerequisites

  • Node.js (version 18+ recommended)

  • A Google Cloud Console project with the following APIs enabled:

    • Gmail API

    • Google Docs API

  • OAuth 2.0 Credentials (Desktop application type) from Google Cloud.


Setup & Installation

Step 1: Configure Credentials

  1. Go to the Google Cloud Console.

  2. Create or select a project.

  3. Enable the Gmail API and Google Docs API under APIs & Services > Library.

  4. Configure the OAuth Consent Screen (external/internal developer mode, add your email as a test user if in Testing status).

  5. Go to APIs & Services > Credentials > Create Credentials > OAuth client ID.

  6. Set the application type to Desktop app (or Web app with http://localhost:3000/oauth2callback as a redirect URI).

  7. Copy the client ID and client secret.

  8. Create a .env file in the root of this project:

    cp .env.example .env
  9. Fill in your Google credentials:

    GOOGLE_CLIENT_ID=your_client_id
    GOOGLE_CLIENT_SECRET=your_client_secret
    GOOGLE_REDIRECT_URI=http://localhost:3000/oauth2callback

Step 2: Authorize & Generate Refresh Token

Run the OAuth login flow:

npm run auth
  1. This will print a Google authentication URL. Copy and open it in your browser.

  2. Grant permissions for Gmail (Compose/Send) and Google Docs.

  3. Once completed, the browser will redirect to localhost:3000 showing "Authentication Successful!".

  4. The script will automatically update your .env file with the GOOGLE_REFRESH_TOKEN.


Build the Server

Build the TypeScript files:

npm run build

Integration with Claude Desktop

To connect this server to your Claude Desktop application:

  1. Open your Claude Desktop configuration file:

    • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add the server config:

    {
      "mcpServers": {
        "google-workspace": {
          "command": "node",
          "args": ["/Users/shubhamthakur/Downloads/nextleap antigravity projects/MCP Server 01./build/index.js"],
          "env": {
            "GOOGLE_CLIENT_ID": "YOUR_CLIENT_ID",
            "GOOGLE_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
            "GOOGLE_REDIRECT_URI": "http://localhost:3000/oauth2callback",
            "GOOGLE_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN"
          }
        }
      }
    }

    (Note: Replace the file paths and environment variables with your actual values.)

  3. Restart Claude Desktop.


Available Tools

1. gmail_create_draft

Creates a draft email in the user's Gmail.

  • Parameters:

    • to (string, required): Recipient's email address.

    • subject (string, required): Subject of the email.

    • body (string, required): Email body content (HTML or plain text).

    • cc (string, optional): CC recipient email.

    • bcc (string, optional): BCC recipient email.

2. gmail_send_email

Sends an email immediately.

  • Parameters: Same as gmail_create_draft.

3. gdocs_append_text

Appends text to the end of a specified Google Doc.

  • Parameters:

    • documentId (string, required): The ID of the document (can be parsed from the document URL, e.g. https://docs.google.com/document/d/<documentId>/edit).

    • text (string, required): The text content to append.

A
license - permissive license
-
quality - not tested
B
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/Shubham-vvn/MCP-server-01.'

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