Skip to main content
Glama
DEPLOYMENT.md5.29 kB
# Gmail MCP Server - Deployment Summary ## ✅ Deployment Complete The Gmail MCP server has been successfully built and deployed to mcp-proxy. ## 📍 Installation Locations ### Development Repository - **Location**: `~/repos/3-resources/MCP/gmail-mcp/` - **Purpose**: Active development, independent git repository - **Status**: Complete implementation with 17 tools ### Installed Server - **Location**: `~/.claude/mcp-servers/gmail-mcp/` - **Purpose**: Production deployment - **Virtual Environment**: `.venv` with all dependencies installed - **Status**: ✅ Installed and configured ### Configuration - **mcp-proxy config**: `~/.claude/mcp-proxy/config.json` - **Entry added**: `gmail` server with stdio transport - **Hierarchy**: Will be generated after OAuth setup ## 🔧 Server Details ### Implementation Stats - **Language**: Python with FastMCP - **Total Tools**: 17 (within 1-30 limit for mcp-proxy) - **Lines of Code**: ~1,400 - **OAuth Integration**: Google OAuth 2.0 via OpenBao ### Tools Implemented (17) **Messages (7 tools):** - `gmail_search_messages` - Search with Gmail query syntax - `gmail_get_message` - Get full message details - `gmail_send_message` - Send email - `gmail_delete_message` - Permanent deletion - `gmail_trash_message` - Move to trash - `gmail_untrash_message` - Restore from trash - `gmail_modify_message_labels` - Label management **Labels (3 tools):** - `gmail_list_labels` - List all labels - `gmail_create_label` - Create custom label - `gmail_delete_label` - Remove label **Threads (3 tools):** - `gmail_list_threads` - List conversation threads - `gmail_get_thread` - Get full thread - `gmail_modify_thread_labels` - Thread label management **Attachments (1 tool):** - `gmail_get_attachment` - Download attachments **Drafts (3 tools):** - `gmail_list_drafts` - List drafts - `gmail_create_draft` - Create new draft - `gmail_send_draft` - Send existing draft ## 🔐 Next Steps: OAuth Setup Required The Gmail server is deployed but **NOT YET FUNCTIONAL** because OAuth credentials need to be configured: ### Step 1: Google Cloud Console Setup 1. Go to [Google Cloud Console](https://console.cloud.google.com/) 2. Create/select project 3. Enable Gmail API 4. Create OAuth 2.0 Client ID (Desktop app) 5. Download `credentials.json` ### Step 2: Initial OAuth Flow ```bash cd ~/.claude/mcp-servers/gmail-mcp source .venv/bin/activate python oauth_setup.py ``` This will: - Open browser for Google OAuth consent - Request gmail.modify scope - Display client_id, client_secret, and refresh_token ### Step 3: Store in OpenBao ```bash # Ensure OpenBao agent is running start-openbao-mcp # Store credentials (replace with actual values from oauth_setup.py) bao kv put secret/client0/prod-mcp-gmail-samuel \ client_id="YOUR_CLIENT_ID.apps.googleusercontent.com" \ client_secret="YOUR_CLIENT_SECRET" \ refresh_token="YOUR_REFRESH_TOKEN" ``` ### Step 4: Regenerate Hierarchy After storing credentials: ```bash cd ~/.claude/mcp-proxy ./structure_generator --config config.json --output hierarchy/ ``` This will add Gmail tools to the hierarchy. ### Step 5: Restart Claude Code Restart Claude Code to load the Gmail server with mcp-proxy. ## 🧪 Testing After OAuth setup, test the server: ```bash # Test server startup cd ~/.claude/mcp-servers/gmail-mcp source .venv/bin/activate python gmail_mcp.py # Should print "MCP_SERVER_READY" to stderr # Test with MCP Inspector npx @modelcontextprotocol/inspector \ ~/.claude/mcp-servers/gmail-mcp/.venv/bin/python \ ~/.claude/mcp-servers/gmail-mcp/gmail_mcp.py ``` ## 📚 Documentation - **README.md**: Complete setup and usage guide - **EVALUATIONS.md**: Testing guide (requires test account) - **DEPLOYMENT.md**: This file ## 🎯 OAuth Scope The server requires: - `https://www.googleapis.com/auth/gmail.modify` (full mailbox access) ## 🚨 Current Status - ✅ Server implementation complete - ✅ Installed to `.claude/mcp-servers/gmail-mcp/` - ✅ Added to mcp-proxy config - ✅ Dependencies installed - ⚠️ **OAuth credentials NOT configured** (next step required) - ⚠️ **Hierarchy files NOT generated** (will generate after OAuth setup) - ⏸️ Server cannot start until OAuth credentials are in OpenBao ## 🔄 Development Mode (Alternative) For testing without OpenBao: ```bash export OPENBAO_DEV_MODE=1 export GMAIL_CLIENT_ID="your-client-id" export GMAIL_CLIENT_SECRET="your-client-secret" export GMAIL_REFRESH_TOKEN="your-refresh-token" cd ~/.claude/mcp-servers/gmail-mcp source .venv/bin/activate python gmail_mcp.py ``` ## 📦 Repository Cleanup The development repository at `~/repos/3-resources/MCP/gmail-mcp/` is a separate git repository for tracking changes and development. The installed server at `~/.claude/mcp-servers/gmail-mcp/` is independent and will continue to work. ## 🎉 Summary **Gmail MCP Server v1.0** is ready for activation after OAuth setup! - Implementation: ✅ Complete (17 tools) - Installation: ✅ Complete - Configuration: ✅ Complete - OAuth Setup: ⏳ Pending (follow steps above) - Hierarchy Generation: ⏳ Pending (after OAuth) - Ready to Use: ⏸️ After OAuth setup --- *Generated: 2025-12-20* *Deployment Pattern: Local + MCP-Proxy* *Location: ~/.claude/mcp-servers/gmail-mcp/*

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IAMSamuelRodda/gmail-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server