View on GitHub

GWS Connector

Multi-account Google Workspace MCP server for AI coding agents. Connect Gmail, Calendar, and Drive with smart routing.

Your personal inbox, work email, and side project — all in one session, zero friction.

# Claude Code
/plugin marketplace add orieg/gws-connector
/plugin install gws@gws-connector

Works with

Claude Code Gemini CLI GitHub Copilot Cursor OpenAI Codex

Features

👥

Multi-Account

Connect unlimited Gmail and Workspace accounts. Route by label, email, or domain.

🔧

30 Tools

Mail, Calendar, Drive, Sheets, Docs, Contacts, Tasks, and Slides — one connector.

🔒

Secure Storage

Tokens and secrets in OS keychain (macOS, Windows, Linux). No plaintext credentials.

🌐

Cross-Platform

Standard MCP server over stdio. Works with any MCP-compatible client.

Quick Install

1. Install the plugin:
/plugin marketplace add orieg/gws-connector /plugin install gws@gws-connector
2. Run the setup wizard:
/gws:configure
Creates a GCP project, enables APIs, and connects your first account (~5 min).
1. Install the extension:
gemini extensions install https://github.com/orieg/gws-connector
2. Connect an account:
gws.accounts.add(label: "personal", clientId: "...", clientSecret: "...")
Binary is downloaded automatically on first use.
1. Download a prebuilt binary or build from source:
git clone https://github.com/orieg/gws-connector && cd gws-connector && make build
2. Configure your client:
GitHub Copilot auto-detects from .vscode/mcp.json. Cursor auto-detects from .cursor/mcp.json. Codex auto-detects from codex.json.
Or add manually: gws-mcp [--use-dot-names] as an MCP server over stdio.

49 Tools

Mail (11 tools)

  • gws.mail.search - Search messages
  • gws.mail.read_message - Read a message
  • gws.mail.read_thread - Read a thread
  • gws.mail.create_draft - Create a draft
  • gws.mail.forward - Forward as a draft
  • gws.mail.send_draft - Send a draft
  • gws.mail.get_attachment - Download an attachment
  • gws.mail.list_labels - List labels
  • gws.mail.create_label - Create a label
  • gws.mail.modify_message - Modify labels
  • gws.mail.get_profile - Profile info

Calendar (7 tools)

  • gws.cal.list_events - List events
  • gws.cal.get_event - Event details
  • gws.cal.create_event - Create event
  • gws.cal.update_event - Update / reschedule
  • gws.cal.delete_event - Cancel event
  • gws.cal.free_busy - Free/busy query
  • gws.cal.list_calendars - List calendars

Drive (3 tools)

  • gws.drive.search - Search files
  • gws.drive.read_file - Read content
  • gws.drive.list_folder - List folder

Sheets (8 tools)

  • gws.sheets.read_range - Read A1 range
  • gws.sheets.write_range - Write cell values
  • gws.sheets.append - Append rows after a table
  • gws.sheets.clear - Clear values in a range
  • gws.sheets.create - Create spreadsheet
  • gws.sheets.list_tabs - List tabs / sheet metadata
  • gws.sheets.duplicate_tab - Duplicate a tab with formatting
  • gws.sheets.add_tab - Add an empty tab

Docs (4 tools)

  • gws.docs.read - Read as plain text + tree
  • gws.docs.insert_text - Insert at index or end
  • gws.docs.replace_text - Literal find & replace
  • gws.docs.create - Create document

Accounts (6 tools)

  • gws.accounts.list - List accounts
  • gws.accounts.add - Connect account
  • gws.accounts.reauth - Re-authorize
  • gws.accounts.complete - Finalize pending OAuth
  • gws.accounts.remove - Disconnect
  • gws.accounts.set_default - Set default

Contacts (2 tools)

  • gws.contacts.search - Search your contacts
  • gws.contacts.directory_search - Search org directory

Tasks (5 tools)

  • gws.tasks.list_tasklists - List task lists
  • gws.tasks.list - List tasks
  • gws.tasks.create - Create a task
  • gws.tasks.complete - Complete a task
  • gws.tasks.delete - Delete a task

Slides (3 tools)

  • gws.slides.get - Read a presentation
  • gws.slides.create - Create a presentation
  • gws.slides.batch_update - Apply Slides API edits