Help us improve
Share bugs, ideas, or general feedback.
From casper
Enables OAuth-based Google Workspace operations: Drive file uploads/searches/folder management, Gmail email searches, Calendar meeting queries, Docs creation.
npx claudepluginhub casper-studios/casper-marketplace --plugin casperHow this skill is triggered — by the user, by Claude, or both
Slash command
/casper:google-workspaceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Interact with Google Drive, Gmail, Calendar, and Docs using OAuth authentication. Supports file uploads, folder management, email search, calendar search, and document operations.
references/calendar-search.mdreferences/create-folder.mdreferences/drive-search.mdreferences/drive-upload.mdreferences/folder-structure.mdreferences/gmail-search.mdreferences/transcript-search.mdscripts/create_client_folder.pyscripts/gdrive_folder_structure.pyscripts/gdrive_search.pyscripts/gdrive_transcript_search.pyscripts/gmail_search.pyscripts/google_calendar_search.pyscripts/google_drive_upload.pyscripts/settings.yamlManages Google Workspace operations across Gmail, Drive, Calendar, Docs, Sheets, and more using MCP tools or uvx CLI. Routes to 114 tools for checking email, finding files, scheduling meetings.
Provides MCP tools to search/send Gmail emails, manage Drive files/folders, create/edit Calendar events/Docs/Sheets/Slides/Forms, and handle Tasks/Chat. Use for Google Workspace interactions.
Automates Google Drive file operations (search, upload, download, move, rename, trash) with standalone OAuth authentication. No MCP server required.
Share bugs, ideas, or general feedback.
Interact with Google Drive, Gmail, Calendar, and Docs using OAuth authentication. Supports file uploads, folder management, email search, calendar search, and document operations.
What do you need?
│
├── Google Drive
│ ├── Search files/folders → references/drive-search.md
│ │ └── Script: scripts/gdrive_search.py
│ │
│ ├── Upload files → references/drive-upload.md
│ │ └── Script: scripts/google_drive_upload.py
│ │
│ ├── Create folder structure → references/folder-structure.md
│ │ └── Script: scripts/gdrive_folder_structure.py
│ │
│ ├── Create client folder → references/create-folder.md
│ │ └── Script: scripts/create_client_folder.py
│ │
│ └── Search transcripts → references/transcript-search.md
│ └── Script: scripts/gdrive_transcript_search.py
│
├── Gmail
│ └── Search emails → references/gmail-search.md
│ └── Script: scripts/gmail_search.py
│
└── Calendar
└── Search meetings → references/calendar-search.md
└── Script: scripts/google_calendar_search.py
OAuth credentials are stored locally after first authentication.
client_secrets.json - From Google Cloud Consolesettings.yaml - PyDrive2 configurationmycreds.txt - Auto-generated OAuth tokensclient_secrets.jsonpython scripts/gdrive_search.py folder "Microsoft"
python scripts/google_drive_upload.py --files *.png --folder "Clients/Acme/Assets"
python scripts/gmail_search.py --domain "microsoft.com" --days 14
python scripts/google_calendar_search.py "Microsoft" --days-back 30
| Scope | Purpose |
|---|---|
drive | Full Drive access |
spreadsheets | Sheets access |
documents | Docs access |
gmail.readonly | Read emails |
calendar.readonly | Read calendar |
Free - Google Workspace APIs have generous free quotas.
client_secrets.json - OAuth app credentials (never commit to git)mycreds.txt - User OAuth tokens (never commit to git, add to .gitignore)settings.yaml - PyDrive2 config (can be committed, no secrets)drive - Full Drive access (read/write)drive.readonly - Read-only Drive access (preferred when possible)spreadsheets - Google Sheets accessdocuments - Google Docs accessgmail.readonly - Read-only email accesscalendar.readonly - Read-only calendar accessclient_secrets.json securely, not in reposSymptoms: "Invalid credentials" or "Token has been expired or revoked" error Cause: OAuth refresh token expired or revoked Solution:
mycreds.txt filemycreds.txt will be created automaticallySymptoms: "File not found" error with valid file ID Cause: No access to file, file deleted, or wrong file ID Solution:
Symptoms: "User rate limit exceeded" or "Quota exceeded" error Cause: Too many API requests in 24-hour period Solution:
Symptoms: "settings.yaml not found" or PyDrive2 configuration error Cause: Missing PyDrive2 configuration file Solution:
cp settings.yaml.example settings.yamlclient_secrets.json path is correct in settingsSymptoms: "Invalid client secrets" or OAuth configuration error Cause: Malformed or incorrect OAuth credentials file Solution:
Symptoms: "Insufficient permission" error Cause: OAuth consent missing required scopes Solution:
mycreds.txt to reset OAuth sessionsettings.yaml match script requirementsSkills: google-workspace → video-production Use case: Assemble course videos from Drive folder Flow:
Skills: google-workspace → content-generation Use case: Generate documents from branded templates Flow:
Skills: google-workspace → transcript-search Use case: Find meeting recordings from calendar events Flow: