Gmail Drive MCP
Enables users to access and manage their Gmail and Google Drive data via a Streamlit UI or Claude Desktop, supporting email counts, searches, file listings, and storage queries using OAuth authentication.
README
ā” Quick Start Guide - Gmail & Drive MCP
šÆ Goal
Access your Gmail and Google Drive data through a beautiful Streamlit interface.
š¦ Step 1: Install (2 minutes)
# Install dependencies
pip install -r requirements.txt
š Step 2: Get Google Credentials (5 minutes)
A. Create Project
- Go to https://console.cloud.google.com/
- Click "New Project" ā Name:
gmail-drive-mcpā Create
B. Enable APIs
- Go to "APIs & Services" ā "Library"
- Search and Enable:
- Gmail API
- Google Drive API
C. Create OAuth Credentials
-
"APIs & Services" ā "Credentials"
-
"Create Credentials" ā "OAuth client ID"
-
First time? Click "Configure Consent Screen":
- User Type: External
- App name:
Gmail Drive MCP - Add your email twice (support + developer)
- Scopes: Add these URLs:
https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/drive.readonly - Test users: Add your Gmail
- Save
-
Now "Create Credentials" ā "OAuth client ID":
- Type: Desktop app
- Name:
Gmail Drive Desktop - Download JSON
-
Rename downloaded file to
credentials.json -
Put it in your project folder
š Step 3: First Run & Authentication (2 minutes)
# This will open browser for authentication
python gmail_drive_rest.py
What happens:
- ā Browser opens automatically
- ā Sign in with your Google account
- ā Click "Allow"
- ā
token.jsoncreated (your access token) - ā Server starts on port 8000
Keep this terminal running!
šØ Step 4: Open Streamlit UI (1 minute)
New terminal:
streamlit run gmail_drive_ui.py
Access: http://localhost:8501
š You're Done!
What you can do now:
š Dashboard Tab:
- See inbox count
- See spam count
- See total Drive files
- View storage usage
- Recent emails & files
š§ Gmail Manager Tab:
- Count emails by label
- List recent emails
- Search emails (e.g.,
from:boss@company.com)
š Drive Manager Tab:
- Count all files
- List recent files
- Search files by name
- Check storage quota
š§ Troubleshooting
"credentials.json not found"
ā Download it from Google Cloud Console, rename it, put it in project folder
"Access blocked"
ā Make sure you enabled both Gmail API and Drive API
Browser doesn't open
ā Copy the URL from terminal and paste in browser
"Invalid grant"
ā Delete token.json and run again to re-authenticate
Connection error in Streamlit
ā Make sure gmail_drive_rest.py is still running in another terminal
š File Structure
your-project/
āāā credentials.json ā Download from Google
āāā token.json ā Auto-generated after auth
āāā requirements.txt
āāā gmail_drive_mcp.py ā MCP Server (for Claude)
āāā gmail_drive_rest.py ā REST API (run this!)
āāā gmail_drive_ui.py ā Streamlit UI (run this!)
āāā .gitignore
š Next Steps
Use with Claude Desktop:
-
Run MCP server:
python gmail_drive_mcp.py -
Add to Claude config (
~/Library/Application Support/Claude/claude_desktop_config.json):{ "mcpServers": { "gmail-drive": { "command": "python", "args": ["/full/path/to/gmail_drive_mcp.py"] } } } -
Restart Claude Desktop
-
Ask Claude:
- "How many emails do I have?"
- "Search my emails for messages from John"
- "How many files are in my Drive?"
ā” Quick Commands Reference
# Install
pip install -r requirements.txt
# Run REST API (Terminal 1)
python gmail_drive_rest.py
# Run Streamlit (Terminal 2)
streamlit run gmail_drive_ui.py
# Run MCP for Claude (Alternative)
python gmail_drive_mcp.py
š Security Reminder
NEVER commit these files to Git:
- ā credentials.json
- ā token.json
They contain your private keys! Already added to .gitignore ā
šÆ Summary
| Terminal | Command | Purpose |
|---|---|---|
| 1 | python gmail_drive_rest.py |
REST API server |
| 2 | streamlit run gmail_drive_ui.py |
Web interface |
Access UI: http://localhost:8501
That's it! š
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.