Loading video player...
In this video I build a custom Google Workspace MCP server from scratch using Claude Code — 108 tools across Gmail, Calendar, Google Meet, Drive, Docs, Sheets, Tasks, Contacts, Slides, and Forms. Then I show you how I built a real AI agent in Claude Cowork that scrapes form responses, qualifies leads, updates a spreadsheet, and sends personalized follow-up emails — all on autopilot. MASTER PROMPT (paste into Claude Code Desktop): Build me a Python MCP server using FastMCP at ~/Desktop/google-workspace-mcp/. It should give me full access to Google Workspace with these tools: Gmail (18): search, read message, read thread, send (with CC/BCC, HTML, threading for replies), create draft, send draft, list labels, create label, delete label, modify labels (archive, star, mark read/unread), get attachment, trash, untrash, list filters, create filter, delete filter, get vacation responder, set vacation responder Calendar (8): list calendars, get events (with time range + search), create event (with attendees, timezone, Google Meet link generation), update event, delete event, query free/busy, list recurring event instances, quick add from text string Meet (7): create meeting space, get meeting space, list participants, get artifacts (recordings + transcripts), end active conference, list conference records, list participant sessions Drive (15): search files, read file content (export Google Docs/Sheets/Slides to text), create file (plain text or Google Doc), list folder, share file, create folder, copy file, export to format, add comment, list comments, list revisions, list permissions, delete permission, trash, untrash Docs (9): create, read, insert text at position, find and replace, append text, insert table, insert image, format text (bold/italic/color/font), insert bullet list, insert page break Sheets (12): read ranges, write values, append rows, create spreadsheet, clear ranges, get spreadsheet metadata, batch update cells, add sheet/tab, delete sheet/tab, merge cells, add chart, add conditional formatting, add named range Tasks (8): list task lists, list tasks, create task (with subtask support), update task, delete task, create task list, move/reorder task, clear completed tasks Contacts (11): search by name/email/phone, list all, create, update, delete, list contact groups, create group, modify group members, batch create, batch delete, get contact photo Slides (10): create presentation, read slide content, add slide with layout, add text to slide, insert shape, insert image, insert table, insert video, format text, get slide thumbnail Forms (8): create form, read form structure, list responses, add question, update question, delete question, move/reorder question, update form settings Requirements: - Separate file per service (tools_gmail.py, tools_calendar.py, tools_meet.py, tools_drive.py, tools_docs.py, tools_sheets.py, tools_tasks.py, tools_contacts.py, tools_slides.py, tools_forms.py) plus auth.py and server.py - auth.py handles Google OAuth2: reads GOOGLE_OAUTH_CLIENT_ID and GOOGLE_OAUTH_CLIENT_SECRET from env vars, opens browser on first use, saves token to ~/.gw-mcp/token.json, auto-refreshes - Use google-api-python-client and google-auth-oauthlib - pyproject.toml with uv, entry point gw-mcp = "server:main" - .gitignore for .venv, pycache, .env, token.json, credentials.json - README with setup instructions for Google Cloud Console, running with uv, and adding to Claude Desktop + Claude Code configs --- RESOURCES GitHub (open source): https://github.com/shanebrady77/google-workspace-mcp Google Cloud Console: https://console.cloud.google.com Claude Desktop: https://claude.ai/download Website: https://shanerbrady.com --- WHAT YOU'LL LEARN - How to build a custom MCP server with 108 Google Workspace tools - How to set up Google Cloud Console and OAuth credentials - How to connect your MCP server to Claude Desktop - How to build an AI lead intake agent with Claude Cowork - How to automate lead qualification, email follow-ups, and Slack notifications