Google Workspace

A Model Context Protocol server for Google Workspace integration (Gmail and Calendar)
  • javascript

1

GitHub Stars

javascript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "erickva-google-workspace-mcp-server-no-calendar-deletetion": {
      "command": "node",
      "args": [
        "/path/to/google-workspace-server/build/index.js"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id",
        "GOOGLE_CLIENT_SECRET": "your_client_secret",
        "GOOGLE_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

This Google Workspace MCP Server gives you programmatic tools to manage Gmail and Calendar data through the MCP interface. You can list, search, and send emails, manage labels, and create calendar events, all from a consistent, scriptable API that integrates with your MCP client workflows.

How to use

You interact with the Google Workspace MCP Server through your MCP client by calling the available tools to perform email and calendar actions. Use Gmail tools to list, search, and send messages or modify labels on existing emails. Use Calendar tools to list upcoming events and create new events with attendees. Each operation translates into the corresponding MCP action, returning structured results you can use in automation, dashboards, or workflows.

Before you begin, ensure your MCP client is configured to reach the Google Workspace MCP Server via the stdio startup path described in the installation steps. Once the server is running, you can start issuing tool calls such as listing recent emails, creating a calendar event, or sending a message. Keep your credentials secure and rotate tokens as needed to maintain access.

How to install

Prerequisites you need installed on your machine before you begin.

- Node.js 14 or higher
- npm (comes with Node.js)

Install the server locally using the manual setup flow.

git clone https://github.com/epaproditus/google-workspace-mcp-server.git
cd google-workspace-mcp-server
npm install

Create OAuth credentials by placing them in a credentials.json file in the project root.

{
  "web": {
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET",
    "redirect_uris": ["http://localhost:4100/code"],
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token"
  }
}

Obtain a refresh token by running a helper script. This will guide you through OAuth authentication and save credentials for future use.

node get-refresh-token.js

Configure the MCP settings to load the server as a stdio process. You will start the server via Node using the built artifact.

{
  "mcpServers": {
    "google-workspace": {
      "command": "node",
      "args": ["/path/to/google-workspace-server/build/index.js"],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id",
        "GOOGLE_CLIENT_SECRET": "your_client_secret",
        "GOOGLE_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

Build and start the server to begin handling MCP requests.

npm run build

Additional configuration and notes

The approved actions surface through the following tools. Each tool corresponds to a capability you can invoke from your MCP client.

Gmail Tools

  • list_emails: List recent emails from your inbox with optional filtering
  • search_emails: Advanced email search with Gmail query syntax
  • send_email: Send new emails with support for CC and BCC
  • modify_email: Modify email labels (archive, trash, mark read/unread) Calendar Tools
  • list_events: List upcoming calendar events with date range filtering
  • create_event: Create new calendar events with attendees
  • Note: Update and delete events are not exposed due to security considerations.

Available tools

list_emails

List recent emails from the inbox with optional filters such as unread status or labels.

search_emails

Perform advanced Gmail searches using Gmail query syntax and return matching emails.

send_email

Send a new email with support for CC and BCC recipients.

modify_email

Modify labels on an existing email, such as archiving, trashing, or marking as read/unread.

list_events

List upcoming calendar events within a specified time window.

create_event

Create a new calendar event with a summary, time range, location, description, and attendees.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational