Skip to main content
Glama

Enhanced MCP Server

by pbulbule13
PROJECT_STRUCTURE.md14.6 kB
# Enhanced MCP Server - Complete Project Structure ## 📁 Complete Directory Structure ``` enhanced-mcp-server/ │ ├── 📄 requirements.txt ✅ Created - Python dependencies ├── 📄 .env.example ✅ Created - Environment variables template ├── 📄 .gitignore ⏳ To create ├── 📄 README.md ⏳ To create ├── 📄 SETUP.md ⏳ To create ├── 📄 PROJECT_STRUCTURE.md ✅ Created - This file │ ├── 📁 config/ │ ├── 📄 config.yaml ✅ Created - Main configuration │ └── 📄 config.example.yaml ⏳ To create │ ├── 📁 src/ │ ├── 📄 __init__.py ⏳ To create │ ├── 📄 mcp_server.py ⏳ To create - Main MCP server │ ├── 📄 setup.py ⏳ To create - Setup script │ │ │ ├── 📁 models/ - Pydantic models │ │ ├── 📄 __init__.py ⏳ To create │ │ ├── 📄 llm_models.py ✅ Created │ │ ├── 📄 email_models.py ✅ Created │ │ ├── 📄 calendar_models.py ✅ Created │ │ ├── 📄 job_tracking_models.py ✅ Created │ │ ├── 📄 notification_models.py ⏳ To create │ │ └── 📄 drive_models.py ⏳ To create │ │ │ ├── 📁 adapters/ - Google API adapters │ │ ├── 📄 __init__.py ⏳ To create │ │ ├── 📄 gmail_adapter.py ⏳ To create │ │ ├── 📄 calendar_adapter.py ⏳ To create │ │ ├── 📄 drive_adapter.py ⏳ To create │ │ ├── 📄 sheets_adapter.py ⏳ To create │ │ └── 📄 keep_adapter.py ⏳ To create │ │ │ ├── 📁 workflows/ - LangGraph workflows │ │ ├── 📄 __init__.py ⏳ To create │ │ ├── 📄 email_processing.py ⏳ To create │ │ ├── 📄 calendar_management.py ⏳ To create │ │ ├── 📄 job_tracking.py ⏳ To create │ │ └── 📄 notification_workflow.py ⏳ To create │ │ │ ├── 📁 schedulers/ - Task schedulers │ │ ├── 📄 __init__.py ⏳ To create │ │ ├── 📄 email_scheduler.py ⏳ To create │ │ ├── 📄 calendar_scheduler.py ⏳ To create │ │ └── 📄 notification_scheduler.py ⏳ To create │ │ │ ├── 📁 utils/ - Utilities │ │ ├── 📄 __init__.py ⏳ To create │ │ ├── 📄 llm_manager.py ✅ Created - LLM fallback system │ │ ├── 📄 circuit_breaker.py ✅ Created - Circuit breaker pattern │ │ ├── 📄 rate_limiter.py ✅ Created - Rate limiting │ │ ├── 📄 google_auth.py ✅ Created - Google OAuth │ │ ├── 📄 config_loader.py ✅ Created - Configuration loader │ │ ├── 📄 logger.py ⏳ To create │ │ ├── 📄 database.py ⏳ To create │ │ └── 📄 helpers.py ⏳ To create │ │ │ └── 📁 tools/ - MCP tools (organized by domain) │ ├── 📄 __init__.py ⏳ To create │ ├── 📄 email_tools.py ⏳ To create │ ├── 📄 calendar_tools.py ⏳ To create │ ├── 📄 job_tracking_tools.py ⏳ To create │ ├── 📄 drive_tools.py ⏳ To create │ ├── 📄 sheets_tools.py ⏳ To create │ └── 📄 keep_tools.py ⏳ To create │ ├── 📁 data/ - Database and persistent data │ ├── 📄 .gitkeep ⏳ To create │ └── 📄 enhanced_mcp.db (Auto-generated) │ ├── 📁 logs/ - Application logs │ └── 📄 .gitkeep ⏳ To create │ ├── 📁 docs/ - Documentation │ ├── 📄 index.html ⏳ To create - Main docs page │ ├── 📄 architecture.md ⏳ To create - Architecture overview │ ├── 📄 api_reference.md ⏳ To create - API documentation │ ├── 📄 workflows.md ⏳ To create - Workflow diagrams │ ├── 📄 deployment.md ⏳ To create - Deployment guide │ ├── 📄 llm_fallback.md ⏳ To create - LLM system docs │ └── 📁 diagrams/ - Mermaid diagrams │ ├── 📄 system_architecture.md ⏳ To create │ ├── 📄 llm_fallback_flow.md ⏳ To create │ ├── 📄 email_workflow.md ⏳ To create │ └── 📄 calendar_workflow.md ⏳ To create │ ├── 📁 tests/ - Test suite │ ├── 📄 __init__.py ⏳ To create │ ├── 📄 test_llm_manager.py ⏳ To create │ ├── 📄 test_adapters.py ⏳ To create │ └── 📄 test_workflows.py ⏳ To create │ └── 📁 scripts/ - Utility scripts ├── 📄 setup.sh ⏳ To create ├── 📄 test_llm_fallback.py ⏳ To create └── 📄 verify_installation.py ⏳ To create ``` ## ✅ Files Created So Far ### Core Configuration (4 files) 1. **requirements.txt** - All Python dependencies 2. **.env.example** - Environment variables template 3. **config/config.yaml** - Complete application configuration 4. **PROJECT_STRUCTURE.md** - This file ### LLM System (3 files) 5. **src/utils/llm_manager.py** - Multi-provider LLM manager with fallback 6. **src/utils/circuit_breaker.py** - Circuit breaker pattern implementation 7. **src/utils/rate_limiter.py** - Token bucket rate limiter ### Pydantic Models (4 files) 8. **src/models/llm_models.py** - LLM request/response models 9. **src/models/email_models.py** - Email data models 10. **src/models/calendar_models.py** - Calendar event models 11. **src/models/job_tracking_models.py** - Job application models ### Authentication & Config (2 files) 12. **src/utils/google_auth.py** - Enhanced Google OAuth 2.0 13. **src/utils/config_loader.py** - Configuration management ## 📋 Total Files Status - ✅ **Created**: 13 files - ⏳ **To Create**: ~40 files - **Total**: ~53 files ## 🎯 Priority Files to Create Next ### Phase 1: Core Adapters (High Priority) 1. **src/adapters/gmail_adapter.py** - Enhanced Gmail operations 2. **src/adapters/calendar_adapter.py** - Enhanced Calendar operations 3. **src/adapters/drive_adapter.py** - Google Drive integration 4. **src/adapters/sheets_adapter.py** - Enhanced Sheets operations 5. **src/adapters/keep_adapter.py** - Google Keep integration ### Phase 2: MCP Tools (High Priority) 6. **src/tools/email_tools.py** - Email MCP tool definitions 7. **src/tools/calendar_tools.py** - Calendar MCP tool definitions 8. **src/tools/job_tracking_tools.py** - Job tracking tool definitions ### Phase 3: Main Server (Critical) 9. **src/mcp_server.py** - Main MCP server with all tools registered 10. **src/setup.py** - Interactive setup script ### Phase 4: Workflows (Medium Priority) 11. **src/workflows/email_processing.py** - LangGraph email workflow 12. **src/workflows/job_tracking.py** - Job tracking workflow 13. **src/workflows/calendar_management.py** - Calendar workflow ### Phase 5: Schedulers (Medium Priority) 14. **src/schedulers/email_scheduler.py** - Email summary scheduler 15. **src/schedulers/notification_scheduler.py** - Notification scheduler ### Phase 6: Documentation (High Priority) 16. **README.md** - Main project README 17. **SETUP.md** - Setup guide 18. **docs/index.html** - Documentation portal 19. **docs/architecture.md** - Architecture with Mermaid diagrams 20. **docs/llm_fallback.md** - LLM fallback documentation ## 🏗️ Architecture Overview ### System Components ``` ┌─────────────────────────────────────────────────────────────────┐ │ Claude Desktop │ └────────────────────┬────────────────────────────────────────────┘ │ JSON-RPC (stdio) ▼ ┌─────────────────────────────────────────────────────────────────┐ │ MCP Server (mcp_server.py) │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Tool Registry: 30+ Tools │ │ │ │ - Email Tools (10+) │ │ │ │ - Calendar Tools (8+) │ │ │ │ - Job Tracking Tools (6+) │ │ │ │ - Drive Tools (4+) │ │ │ │ - Sheets Tools (4+) │ │ │ │ - Keep Tools (3+) │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────┬────────────────────────────────────────────┘ │ ┌────────────┴────────────┬────────────────┐ ▼ ▼ ▼ ┌───────────────┐ ┌──────────────────┐ ┌────────────┐ │ LLM Manager │ │ Google Adapters │ │ Schedulers │ │ (Fallback) │ │ - Gmail │ │ - Email │ │ │ │ - Calendar │ │ - Calendar │ │ • Euri │ │ - Drive │ │ - Notif. │ │ • Deepseek │ │ - Sheets │ └────────────┘ │ • Gemini │ │ - Keep │ │ • Claude │ └──────────────────┘ └───────────────┘ │ ┌───────┴──────────┐ │ Circuit Breaker │ │ Rate Limiter │ │ Health Checks │ └──────────────────┘ ``` ### LLM Fallback Flow ``` Request → Euri ──✗──→ Deepseek ──✗──→ Gemini ──✗──→ Claude ──✗──→ Error │ │ │ │ ✓ ✓ ✓ ✓ Success Success Success Success ``` ### Data Flow ``` User Request (Claude Desktop) ↓ MCP Tool Called ↓ Adapter Processes Request ↓ Google API Called ↓ LLM Processing (if needed) ↓ Response Formatted ↓ Returned to Claude Desktop ↓ Scheduler Triggers (if applicable) ↓ Background Tasks Execute ``` ## 🔑 Key Features Implemented ### ✅ Completed - [x] Multi-provider LLM fallback system (Euri → Deepseek → Gemini → Claude) - [x] Circuit breaker pattern for failure prevention - [x] Token bucket rate limiting - [x] Production-grade Google OAuth 2.0 - [x] Environment-based configuration with YAML support - [x] Comprehensive Pydantic models for type safety - [x] Structured logging foundation ### ⏳ To Implement - [ ] Gmail integration (search, categorize, summarize, send) - [ ] Calendar integration (events, reminders, conflicts) - [ ] Job application tracking system - [ ] Google Drive integration - [ ] Google Sheets enhanced features - [ ] Google Keep integration - [ ] Email auto-summarization (every 4 hours) - [ ] Calendar reminders (15 min, 1 hr, 1 day before) - [ ] LangGraph workflows - [ ] APScheduler for scheduled tasks - [ ] Database persistence (SQLite) - [ ] Health checks and monitoring - [ ] Comprehensive documentation ## 🚀 Quick Start (After Completion) ```bash # 1. Install dependencies pip install -r requirements.txt # 2. Copy environment file cp .env.example .env # 3. Edit .env with your API keys # Add Google, Euri, Deepseek, Gemini, Claude keys # 4. Run setup python src/setup.py # 5. Configure Claude Desktop # Edit claude_desktop_config.json # 6. Restart Claude Desktop # Tools will appear automatically ``` ## 📊 Statistics - **Total Lines of Code Created**: ~3,000+ lines - **API Integrations**: 6 (Gmail, Calendar, Drive, Sheets, Keep, LLM providers) - **LLM Providers Supported**: 4 - **MCP Tools**: 30+ planned - **Scheduled Tasks**: 5+ types - **Production Features**: Circuit breakers, rate limiting, health checks, monitoring ## 🎯 Next Steps 1. **Create remaining adapters** - Gmail, Calendar, Drive, Sheets, Keep 2. **Create MCP tools** - Tool definitions for all features 3. **Create main MCP server** - Integrate everything 4. **Create workflows** - LangGraph orchestration 5. **Create schedulers** - APScheduler for automated tasks 6. **Create documentation** - Comprehensive guides with Mermaid diagrams 7. **Testing** - Unit and integration tests 8. **Deployment** - Docker, scripts, guides --- **Status**: 🚧 In Progress - Core foundation complete, building features

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/pbulbule13/mcpwithgoogle'

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