Generic MCP Server for Google Workspace

Generic MCP Server for Google Workspace

Enables AI agents to send emails, create drafts in Gmail, and append content to Google Docs via standardized MCP tools.

Category
Visit Server

README

Generic MCP Server for Google Workspace

A Model Context Protocol (MCP) server that securely exposes Google Workspace capabilities to AI Agents (like Claude Desktop, OpenAI, or Cursor) through standardized MCP tools.

This server acts as a bridge, allowing any MCP-compatible AI client to interact with Google APIs without requiring custom integrations inside the agent itself.

Features & Tools

Currently, the server exposes the following tools:

  • gmail_send_email: Sends an email (supports To, Cc, Bcc, Subject, and Text/HTML bodies).
  • gmail_create_draft: Creates an email draft in the authenticated user's account.
  • gdocs_append_content: Appends text to the end of a specific Google Document (requires the Document ID).

Prerequisites

  1. Node.js (v18 or newer)
  2. Google Cloud Console Project:
    • Enable the Gmail API and Google Docs API.
    • Create an OAuth 2.0 Client ID (Web application).
    • Set the Authorized Redirect URI to http://localhost (or your domain).

Setup & Local Authentication

  1. Install Dependencies

    npm install
    
  2. Configure Environment Variables Copy .env.example to .env and add your Google credentials:

    GOOGLE_CLIENT_ID=your_client_id_here
    GOOGLE_CLIENT_SECRET=your_client_secret_here
    GOOGLE_REDIRECT_URI=http://localhost
    
  3. Generate OAuth Tokens To grant the server access to your Google account, you must complete the OAuth flow once. Run the token generation script:

    npm run build
    node dist/auth/generate_token.js
    

    Follow the on-screen instructions. The script will save your access and refresh tokens locally in .tokens.json.


Running the Server

Local Development

To run the server locally, you can use the standard build and start scripts:

npm run build
npm start

Note: The server is configured to run over HTTP using Server-Sent Events (SSE) by default on http://localhost:3000/sse.

Cloud Deployment (Railway)

This server is pre-configured to be easily deployable to cloud services like Railway.

When deploying to a remote host:

  1. Ensure the TOKEN_PATH environment variable is set to a persistent volume (e.g., /app/data/.tokens.json), as the local file system in most cloud providers is ephemeral.
  2. The server will automatically bind to the PORT environment variable provided by your cloud host.

For full instructions, see the Deployment Plan.


Connecting an AI Agent

To connect an AI Agent to this MCP Server, add the HTTP URL to your agent's MCP configuration file (e.g., in Claude Desktop).

{
  "mcpServers": {
    "google-workspace": {
      "url": "http://localhost:3000/sse"
    }
  }
}

(If deployed remotely, replace the URL with your remote domain, e.g., https://my-server.up.railway.app/sse).

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured