From daily-briefing
Step-by-step guide to set up the Google Workspace MCP server for daily briefings
How this skill is triggered — by the user, by Claude, or both
Slash command
/daily-briefing:daily-briefing-setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This guide walks you through setting up the Daily Briefing skill that integrates Gmail, Google Calendar, and Google Chat with Claude Code.
This guide walks you through setting up the Daily Briefing skill that integrates Gmail, Google Calendar, and Google Chat with Claude Code.
Create the directory and copy these files:
mkdir -p ~/google-workspace-mcp
cd ~/google-workspace-mcp
You'll need these files (I can provide them or you can get them from me):
server.py - Main MCP serverauth.py - Google OAuth handlinggmail_tools.py - Gmail integrationcalendar_tools.py - Calendar integrationchat_tools.py - Google Chat integrationsetup_oauth.py - OAuth setup scriptrequirements.txt - Python dependenciescd ~/google-workspace-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
requirements.txt contents:
mcp>=1.0.0
google-auth>=2.23.0
google-auth-oauthlib>=1.1.0
google-auth-httplib2>=0.1.1
google-api-python-client>=2.108.0
python-dateutil>=2.8.2
In your project, go to APIs & Services → Library and enable:
Google Workspace MCPhttps://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.composehttps://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/chat.spaces.readonlyhttps://www.googleapis.com/auth/chat.messages.readonlyGoogle Workspace MCPmkdir -p ~/.google-workspace-mcp
mv ~/Downloads/client_secret_*.json ~/.google-workspace-mcp/credentials.json
Run the OAuth setup:
cd ~/google-workspace-mcp
source venv/bin/activate
python setup_oauth.py
This will:
~/.google-workspace-mcp/token.jsonclaude mcp add --scope user google-workspace -- \
~/google-workspace-mcp/venv/bin/python \
~/google-workspace-mcp/server.py
Edit ~/.claude.json and add to the mcpServers section:
{
"mcpServers": {
"google-workspace": {
"type": "stdio",
"command": "/Users/YOUR_USERNAME/google-workspace-mcp/venv/bin/python",
"args": ["/Users/YOUR_USERNAME/google-workspace-mcp/server.py"],
"env": {}
}
}
}
Note: Replace
YOUR_USERNAMEwith your actual username.
mkdir -p ~/.claude/skills/daily-briefing
Create ~/.claude/skills/daily-briefing/SKILL.md with the skill content (I can share my exact file with you).
For personalized email drafts, create ~/.google-workspace-mcp/style_profile.md:
# [Your Name] - Email Communication Style Profile
## Overview
- **Role**: [Your Title]
- **Email**: [[email protected]]
- **Tone**: [Professional but approachable / Formal / Casual]
## Greeting Patterns
- Primary: "Hi [FirstName],"
- For multiple: "Hi [Name1] and [Name2],"
## Common Phrases
- Gratitude: "Thanks" or "Thank you"
- Acknowledgment: "Got it" or "Sounds good!"
- Following up: "Following up on..."
## Things to AVOID
- [List phrases you don't use]
- Emojis (if applicable)
- Overly formal language
## Signature
[Your Name]
[Your Title]
claude
Type /mcp in Claude Code. You should see google-workspace listed.
Ask Claude: "Check my Google authentication status"
Type /daily-briefing to run the skill.
| Issue | Solution |
|---|---|
| "credentials.json not found" | Download OAuth credentials from Google Cloud Console |
| "Token expired" | Delete ~/.google-workspace-mcp/token.json and run python setup_oauth.py again |
| "Access blocked" during OAuth | Add your email as a test user in OAuth consent screen |
| Server not appearing | Check the path in config, ensure venv has dependencies |
| Chat not working | Ensure Google Chat API is enabled and chat scopes are added |
~/.google-workspace-mcp/
├── credentials.json # OAuth client credentials (from Google)
├── token.json # Your auth token (generated)
└── style_profile.md # Your communication style (optional)
~/google-workspace-mcp/
├── venv/ # Python virtual environment
├── server.py # Main MCP server
├── auth.py # OAuth handling
├── gmail_tools.py # Gmail functions
├── calendar_tools.py # Calendar functions
├── chat_tools.py # Chat functions
├── setup_oauth.py # OAuth setup script
└── requirements.txt # Dependencies
~/.claude/skills/daily-briefing/
└── SKILL.md # The skill definition
~/.claude.json # Claude Code config with MCP server
# 1. Set up Python environment
cd ~/google-workspace-mcp && python3 -m venv venv && source venv/bin/activate && pip install -r requirements.txt
# 2. Run OAuth setup (after placing credentials.json)
python setup_oauth.py
# 3. Add MCP server to Claude
claude mcp add --scope user google-workspace -- ~/google-workspace-mcp/venv/bin/python ~/google-workspace-mcp/server.py
# 4. Test it
claude
# Then type: /daily-briefing
npx claudepluginhub sureagentai/agentai-tcap-claude-marketplace --plugin daily-briefingIntegrates Gmail with Claude Code via MCP for email processing: read, search, send, draft, manage labels, attachments, filters, and extract action items.
Guides Google Workspace CLI (gws) setup: installs via npm, creates GCP project, configures OAuth and APIs (Gmail/Drive/etc.), authenticates, installs Claude Code skills. For first-time use or auth troubleshooting.
Unified CLI for Google Workspace: manage Drive files, send/read Gmail, query/edit Sheets/Docs, handle Calendar/Chat/Admin via terminal or AI agents.