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
What This Skill Does
Provides direct access to Gmail, Calendar, Drive, Docs, and Sheets through simple commands, with no Google Cloud Console setup required. Just sign in with your Google account and start using all 49 tools.
Replaces the traditional multi-step Google Cloud project setup and API credential management with a single OAuth sign-in.
When to Use It
- Search Gmail for unread or specific emails
- Create and send emails or drafts from scripts
- List calendar events for a given date range
- Find free time slots across multiple attendees
- Read and update Google Sheets cells or ranges
- Download files from Google Drive to local storage
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
Top skills in this category
Gog
@steipeteGoogle Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
API Gateway
@byungkyuCall third-party APIs through the Maton gateway, which injects the credential for an app the user has already connected. Use this skill when the user names a connected app and a concrete action in it - read a mailbox, query a CRM, file an issue, update a spreadsheet, etc.
Notion
@steipeteNotion API for creating and managing pages, databases, and blocks.
Mcporter
@steipeteUse the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
Caldav Calendar
@asleep123Sync and query CalDAV calendars (iCloud, Google, Fastmail, Nextcloud, etc.) using vdirsyncer + khal. Works on Linux.