Google Workspace (No Cloud Console)
Gmail, Calendar, Drive, Docs, Sheets — NO Google Cloud Console required. Just OAuth sign-in. Zero setup complexity vs traditional Google API integrations.
Dru Carpenter
@dru-ca
Install
$ openclaw skills install @dru-ca/google-workspace-mcpGoogle Workspace Access (No Cloud Console!)
Why this skill? Traditional Google API access requires creating a project in Google Cloud Console, enabling APIs, creating OAuth credentials, and downloading client_secret.json. This skill skips ALL of that.
Uses @presto-ai/google-workspace-mcp — just sign in with your Google account and go.
Key Advantage
| Traditional Approach | This Skill |
|---|---|
| Create Google Cloud Project | ❌ Not needed |
| Enable individual APIs | ❌ Not needed |
| Create OAuth credentials | ❌ Not needed |
| Download client_secret.json | ❌ Not needed |
| Configure redirect URIs | ❌ Not needed |
| Just sign in with Google | ✅ That's it |
Setup (Already Done)
npm install -g @presto-ai/google-workspace-mcp
mcporter config add google-workspace --command "npx" --arg "-y" --arg "@presto-ai/google-workspace-mcp" --scope home
On first use, it opens a browser for Google OAuth. Credentials stored in ~/.config/google-workspace-mcp/
Quick Commands
Gmail
# Search emails
mcporter call --server google-workspace --tool "gmail.search" query="is:unread" maxResults=10
# Get email content
mcporter call --server google-workspace --tool "gmail.get" messageId="<id>"
# Send email
mcporter call --server google-workspace --tool "gmail.send" to="email@example.com" subject="Hi" body="Hello"
# Create draft
mcporter call --server google-workspace --tool "gmail.createDraft" to="email@example.com" subject="Hi" body="Hello"
Calendar
# List calendars
mcporter call --server google-workspace --tool "calendar.list"
# List events
mcporter call --server google-workspace --tool "calendar.listEvents" calendarId="your@email.com" timeMin="2026-01-27T00:00:00Z" timeMax="2026-01-27T23:59:59Z"
# Create event
mcporter call --server google-workspace --tool "calendar.createEvent" calendarId="your@email.com" summary="Meeting" start='{"dateTime":"2026-01-28T10:00:00Z"}' end='{"dateTime":"2026-01-28T11:00:00Z"}'
# Find free time
mcporter call --server google-workspace --tool "calendar.findFreeTime" attendees='["a@example.com","b@example.com"]' timeMin="2026-01-28T09:00:00Z" timeMax="2026-01-28T18:00:00Z" duration=30
Drive
# Search files
mcporter call --server google-workspace --tool "drive.search" query="Budget Q3"
# Download file
mcporter call --server google-workspace --tool "drive.downloadFile" fileId="<id>" localPath="/tmp/file.pdf"
Docs
# Find docs
mcporter call --server google-workspace --tool "docs.find" query="meeting notes"
# Read doc
mcporter call --server google-workspace --tool "docs.getText" documentId="<id>"
# Create doc
mcporter call --server google-workspace --tool "docs.create" title="New Doc" markdown="# Hello"
Sheets
# Read spreadsheet
mcporter call --server google-workspace --tool "sheets.getText" spreadsheetId="<id>"
# Get range
mcporter call --server google-workspace --tool "sheets.getRange" spreadsheetId="<id>" range="Sheet1!A1:B10"
Available Tools (49 total)
Auth: auth.clear, auth.refreshToken Docs: docs.create, docs.find, docs.getText, docs.insertText, docs.appendText, docs.replaceText, docs.move, docs.extractIdFromUrl Drive: drive.search, drive.downloadFile, drive.findFolder Sheets: sheets.getText, sheets.getRange, sheets.find, sheets.getMetadata Slides: slides.getText, slides.find, slides.getMetadata Calendar: calendar.list, calendar.listEvents, calendar.getEvent, calendar.createEvent, calendar.updateEvent, calendar.deleteEvent, calendar.findFreeTime, calendar.respondToEvent Gmail: gmail.search, gmail.get, gmail.send, gmail.createDraft, gmail.sendDraft, gmail.modify, gmail.listLabels, gmail.downloadAttachment Chat: chat.listSpaces, chat.findSpaceByName, chat.sendMessage, chat.getMessages, chat.sendDm, chat.findDmByEmail, chat.listThreads, chat.setUpSpace People: people.getUserProfile, people.getMe Time: time.getCurrentDate, time.getCurrentTime, time.getTimeZone
Troubleshooting
Re-authenticate
mcporter call --server google-workspace --tool "auth.clear"
Then run any command to trigger re-auth.
Token refresh
mcporter call --server google-workspace --tool "auth.refreshToken"
Delete credentials
rm -rf ~/.config/google-workspace-mcp
Related skills
Gog
@steipeteGoogle Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Google Workspace CLI (gog)
@jx-76Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
gogcli - Google Workspace CLI
@luccastCommand-line tool to manage Google Workspace services including Gmail, Calendar, Drive, Sheets, Docs, Slides, Contacts, Tasks, People, Groups, and Keep.
Google Workspace CLI
@ivangdavilaAutomates Google Workspace from the terminal with the gws CLI: search, send, upload, export, share, and administer 20+ Google APIs. Use when driving Gmail, Drive, Calendar, Sheets, Docs, or the Admin SDK — bulk mail search and send, file sharing and export, event, user, and group management — when a Google API call fails with 403, invalid_grant, quota errors, or empty results, or when exposing Workspace operations as MCP tools. Not for Google Cloud infrastructure (gcloud) or local macOS mail and calendar apps.
Tmp.Sk9iLWT0Ei
@chrischallThis skill should be used when the user asks about Google Workspace automation via gogcli — Docs, Sheets, Slides, Drive, or Classroom. Triggers on phrases li...
Google Calendar
@byungkyuGoogle Calendar API integration with managed OAuth. Create events, list calendars, check availability, and manage schedules. Use this skill when users want to interact with Google Calendar. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).