google-workspace
Gmail, Calendar, Drive, Docs, Sheets — NO Google Cloud Console required. Just OAuth sign-in. Zero setup complexity vs traditional Google API integrations.
Best use case
google-workspace is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Gmail, Calendar, Drive, Docs, Sheets — NO Google Cloud Console required. Just OAuth sign-in. Zero setup complexity vs traditional Google API integrations.
Teams using google-workspace should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/google-workspace-mcp/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How google-workspace Compares
| Feature / Agent | google-workspace | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Gmail, Calendar, Drive, Docs, Sheets — NO Google Cloud Console required. Just OAuth sign-in. Zero setup complexity vs traditional Google API integrations.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Google 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)
```bash
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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
mcporter call --server google-workspace --tool "auth.clear"
```
Then run any command to trigger re-auth.
### Token refresh
```bash
mcporter call --server google-workspace --tool "auth.refreshToken"
```
### Delete credentials
```bash
rm -rf ~/.config/google-workspace-mcp
```Related Skills
google-messages
Send and receive SMS/RCS via Google Messages web interface (messages.google.com). Use when asked to "send a text", "check texts", "SMS", "text message", "Google Messages", or forward incoming texts to other channels.
google-photos
Manage Google Photos library. Upload photos, create albums, and list library content. Use when the user wants to backup, organize, or share images via Google Photos.
google-ads
Query, audit, and optimize Google Ads campaigns. Supports two modes: (1) API mode for bulk operations with google-ads Python SDK, (2) Browser automation mode for users without API access - just attach a browser tab to ads.google.com. Use when asked to check ad performance, pause campaigns/keywords, find wasted spend, audit conversion tracking, or optimize Google Ads accounts.
stealthy-google-search
Google search via Scrapling’s StealthyFetcher/StealthySession.
Vision Analyze (Google)
Analyze images using **Google Cloud Vision API**.
google-veo-dynamic-city-nightview
Create dynamic city night view videos using Google Veo. Use when generating cinematic urban scenes, futuristic cityscapes, or nighttime urban video content.
google-imagen-3-portrait-photography
Generate professional portrait photography using Google Imagen 3. Use when creating realistic portraits, headshots, or artistic character photography with professional lighting and composition.
google-imagen-3-hyperrealistic-landscape
Generate hyperrealistic landscape photography using Google Imagen 3. Use when creating breathtaking natural scenes, landscapes, and nature photography with exceptional detail and realism.
perry-workspaces
Create and manage isolated Docker workspaces on your tailnet with Claude Code and OpenCode pre-installed. Use when working with Perry workspaces, connecting to coding agents, or managing remote development environments.
google-maps-b2b-extractor
EXTRACT UNLIMITED LEADS (Emails, Phones, Websites) from Google Maps.
google-teneo
The agent gives you the ability to search Google and retrieve search results.
google-maps-teneo
The agent gives you the ability to extract data from google maps through different commands.