Google Workspace MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add google-workspace-5518 -- npx gws-mcp-server --services drive,sheets,calendar,docs,gmail
README.md

Exposes Google Workspace CLI operations as tools for managing Google services.

gws-mcp-server

MCP server that exposes Google Workspace CLI (`gws`) operations as Model Context Protocol tools.

Why?

The gws CLI had a built-in MCP server that was removed in v0.8.0 because it exposed 200-400 tools — causing context window bloat in MCP clients. This server takes a curated approach: you choose which Google services to expose, and only a focused set of high-value, narrowly scoped operations are registered as tools.

Prerequisites

  • Node.js 18+
  • `gws` CLI installed and authenticated (npm install -g @googleworkspace/cli && gws auth login)

Quick start

# Install
npm install -g gws-mcp-server

# Or run from source
git clone https://github.com/conorbronsdon/gws-mcp-server.git
cd gws-mcp-server
npm install && npm run build

Configuration

Claude Code (`.mcp.json`)

{
  "mcpServers": {
    "google-workspace": {
      "command": "npx",
      "args": [
        "gws-mcp-server",
        "--services", "drive,sheets,calendar,docs,gmail"
      ]
    }
  }
}

Claude Desktop (`claude_desktop_config.json`)

{
  "mcpServers": {
    "google-workspace": {
      "command": "npx",
      "args": [
        "gws-mcp-server",
        "--services", "drive,sheets,calendar"
      ]
    }
  }
}

Options

Flag Description Default
--services, -s Comma-separated list of services to expose All services
--gws-path Path to the gws binary gws

Available services & tools

`drive` (8 tools)

  • drive_files_list — Search and list files
  • drive_files_get — Get file metadata
  • drive_files_create — Create files (with optional upload)
  • drive_files_copy — Copy files (useful for format conversion)
  • drive_files_update — Update file metadata/content
  • drive_files_delete — Delete files
  • drive_files_export — Export Google Workspace files (Doc, Sheet, Slide) to other formats
  • drive_permissions_create — Share files

`sheets` (4 tools)

  • sheets_get — Get spreadsheet metadata
  • sheets_values_get — Read cell values
  • sheets_values_update — Write cell values
  • sheets_values_append — Append rows

`calendar` (5 tools)

  • calendar_events_list — List events
  • calendar_events_get — Get event details
  • calendar_events_insert — Create events
  • calendar_events_update — Update events
  • calendar_events_delete — Delete events

`docs` (3 tools)

  • docs_get — Get document content
  • docs_create — Create documents
  • docs_batchUpdate — Apply document updates

`gmail` (4 tools)

  • gmail_messages_list — Search messages
  • gmail_messages_get — Read a message
  • gmail_threads_list — Search threads
  • gmail_threads_get — Read a full thread

Total: 24 tools (vs 200-400 in the old implementation)

Adding new tools

Edit src/services.ts to add tool definitions. Each tool maps directly to a gws CLI command:

{
  name: "drive_files_list",           // MCP tool name
  description: "List files in Drive", // Shown to AI
  command: ["drive", "files", "list"],// gws CLI args
  params: [                           // Maps to --params JSON
    { name: "q", description: "Search query", type: "string", required: false },
  ],
  bodyParams: [                       // Maps to --json body
    { name: "name", description: "File name", type: "string", required: true },
  ],
}

Architecture

MCP Client (Claude) ←→ stdio ←→ gws-mcp-server ←→ gws CLI ←→ Google APIs

The server is a thin wrapper: it translates MCP tool calls into gws CLI invocations, passes --params and --json as appropriate, and returns the JSON output.

License

MIT

Tools (5)

drive_files_listSearch and list files in Google Drive
sheets_values_getRead cell values from a Google Sheet
calendar_events_listList events from a Google Calendar
docs_getGet content from a Google Doc
gmail_messages_listSearch for messages in Gmail

Configuration

claude_desktop_config.json
{"mcpServers": {"google-workspace": {"command": "npx", "args": ["gws-mcp-server", "--services", "drive,sheets,calendar,docs,gmail"]}}}

Try it

List the files in my Google Drive that were modified today.
Read the values from the 'Sheet1' tab in my budget spreadsheet.
What events do I have scheduled on my calendar for tomorrow?
Find the latest email from my manager in Gmail.
Get the content of the document titled 'Project Requirements'.

Frequently Asked Questions

What are the key features of Google Workspace?

Curated set of high-value operations to prevent context window bloat. Supports Drive, Sheets, Calendar, Docs, and Gmail services. Translates MCP tool calls into gws CLI invocations. Allows selective service exposure via command line flags.

What can I use Google Workspace for?

Automating spreadsheet data entry and retrieval for reporting. Managing file organization and permissions in Google Drive. Retrieving calendar event details to assist with scheduling. Searching and summarizing email threads directly within the AI chat.

How do I install Google Workspace?

Install Google Workspace by running: npm install -g gws-mcp-server

What MCP clients work with Google Workspace?

Google Workspace works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Google Workspace docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare