0xshariq/email-mcp-server
If you are the rightful owner of email-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A comprehensive Model Context Protocol (MCP) server for advanced email operations.
Email MCP Server
Cross-platform email operations for MCP clients and CLI 🌍
A dual-purpose tool that works as:
- 🔌 MCP Server: Email capabilities for Claude Desktop and MCP clients
- ⚡ CLI Suite: 40+ commands for terminal email management
Universal compatibility: Works on Windows, macOS, Linux, and WSL with Gmail, Outlook, Yahoo, and any IMAP/SMTP providers.
✨ Features Overview
📧 Basic Operations: Send, read, get, delete emails | Mark read/unread
🔍 Advanced Features: Search, forward, reply, bulk operations | Draft & schedule
👥 Contact Management: Add, update, search, organize contacts by groups
🌐 Cross-Platform: Works identically on all platforms and terminals
🚀 Zero-Configuration Installation
🎯 One Command - Complete Setup:
npm install -g @0xshariq/email-mcp-server
# OR
pnpm install -g @0xshariq/email-mcp-server
✨ What Happens Automatically:
- ✅ Detects your platform (Windows/macOS/Linux/WSL)
- ✅ Creates 40+ command shortcuts globally
- ✅ Configures system PATH automatically
- ✅ Tests installation and provides setup guide
- ✅ Ready to use immediately - no manual steps!
🎬 Getting Started:
# Set up your email (one-time only):
email-setup
# Start sending emails:
email-send "user@example.com" "Hello" "Your message"
# Explore all commands:
email-cli --help
📖
⚙️ Configuration
🔧 The MCP server and CLI share the same environment configuration!
Local Development (Both Server & CLI)
# Copy and edit .env file
cp .env.example .env
nano .env # Add your credentials
Global Installation (CLI)
Configure environment variables in your shell profile:
Linux: Add to ~/.bashrc
export EMAIL_USER="your-email@gmail.com"
export EMAIL_PASS="xxxx-xxxx-xxxx-xxxx"
export SMTP_HOST="smtp.gmail.com"
export SMTP_PORT="587"
export IMAP_HOST="imap.gmail.com"
export IMAP_PORT="993"
macOS: Add to ~/.zshrc (or ~/.bash_profile)
export EMAIL_USER="your-email@gmail.com"
export EMAIL_PASS="xxxx-xxxx-xxxx-xxxx"
# ... (same as Linux)
Windows: Set System Environment Variables
- Press
Win + X→ System → Advanced system settings - Environment Variables → Add each variable
Quick Example (Gmail)
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=xxxx-xxxx-xxxx-xxxx # App Password (not regular password)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
IMAP_HOST=imap.gmail.com
IMAP_PORT=993
📖 - Detailed setup for all platforms and providers
Setup Requirements:
- Enable 2FA on your email provider
- Generate App Password
- Configure environment variables (locally or globally)
📋 Supports: Gmail, Outlook, Yahoo, and any IMAP/SMTP provider
💻 Usage
As MCP Server
npm start # Starts MCP server for Claude Desktop
As CLI Tool (Cross-Platform)
# Works identically on Windows, macOS, Linux, WSL
email-send "user@example.com" "Subject" "Message"
email-read 10
contact-add "John Doe" "john@example.com" "work"
email-search --from "boss@company.com" --unread
All 40+ commands work the same across all platforms!
📚 Documentation
Complete documentation for all features and platforms:
📖 Core Documentation
| Document | Description |
|---|---|
| Comprehensive environment setup for CLI and MCP server (local and global) | |
| Cross-platform installation instructions (Windows, macOS, Linux, WSL) | |
| Complete reference for all 40+ CLI commands with examples | |
| Top-level CLI usage and setup commands | |
| Detailed command documentation with options and examples |
🔧 Technical Documentation
| Document | Description |
|---|---|
| System architecture, data models, and design decisions | |
| Common issues and solutions for all platforms | |
| Windows-specific installation and configuration | |
| Package publishing and versioning strategy | |
| v2.0 TypeScript migration details |
🚀 Quick Start Guides
First Time Setup:
- Installation:
- Configuration:
- First Commands:
Having Issues?
- Start with
- Check for setup issues
- See for Windows-specific problems
Development & Contributing:
- - Understand the codebase
- - Release process
- - Recent changes
🎯 By Use Case
As CLI User:
- - All commands
- - Setup for global CLI
- - Fix issues
As MCP Server User:
- - Environment setup
- - MCP server details
- - Server configuration
As Developer:
- - System design
- - Code organization
- - Release workflow
MCP Server Integration
When running as an MCP server, all email operations are available as structured tools for Claude Desktop and other MCP clients.
Available Tools:
- Email operations: send, read, search, forward, reply, delete
- Contact management: add, update, search, organize
- Bulk operations: batch sending, scheduling, drafts
Usage in Claude Desktop:
{
"to": "user@example.com",
"subject": "Hello",
"body": "Message from Claude!"
}
📖 Configuration: See
🔐 Security & Best Practices
- Use App Passwords (not regular passwords)
- Keep
.envsecure (never commit to git) - Respect rate limits for bulk operations
- Use HTTPS/TLS for all connections
🛠️ Development & Contributing
Quick Development Setup:
git clone https://github.com/0xshariq/email-mcp-server.git
cd email-mcp-server
npm install # Install dependencies
npm run build # Compile TypeScript
npm link # Test locally
Project Structure:
email-mcp-server/
├── cli/ # CLI implementation (Commander.js)
├── server/ # MCP server implementation
├── src/lib/ # Shared email & contact services
├── dist/ # Compiled JavaScript
└── docs/ # Complete documentation
Key Technologies:
- TypeScript 5.8+ with strict mode
- Commander.js 14+ for CLI
- Nodemailer 7+ for SMTP
- IMAP-Simple 5+ for IMAP
- MCP SDK 1.15+ for server
Documentation for Developers:
- - System design and decisions
- - v2.0 TypeScript migration
- - Release process
Contributing: Fork → Branch → PR. See
📞 Support & Resources
Issues & Questions:
- 🚨 - Quick fixes for common issues
- 🐛 GitHub Issues - Report bugs or request features
- 💬 GitHub Discussions - Ask questions and share ideas
Documentation by Topic:
- - Platform-specific setup
- - Environment variables setup
- - Email provider setup
- - All CLI commands
- - Speed improvements
All Documentation: See folder for complete guides
📄 License
MIT License - see file for details.
🌟 Star this repo if it helps you manage emails efficiently across platforms!
Version: 2.0.0
Last Updated: December 20, 2025