Observed since 21 Oct, 11:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
@0xshariq/email-mcp-server
A MCP Server + CLI Tool that perform email operations
Cross-platform email operations for MCP clients and CLI 🌍
A dual-purpose tool that works as:
Universal compatibility: Works on Windows, macOS, Linux, and WSL with Gmail, Outlook, Yahoo, and any IMAP/SMTP providers.
📧 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
🎯 One Command - Complete Setup:
npm install -g @0xshariq/email-mcp-server
# OR
pnpm install -g @0xshariq/email-mcp-server
✨ What Happens Automatically:
🎬 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
🔧 The MCP server and CLI share the same environment configuration!
# Copy and edit .env file
cp .env.example .env
nano .env # Add your credentials
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
Win + X → System → Advanced system settingsEMAIL_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
📖 Complete Configuration Guide - Detailed setup for all platforms and providers
Setup Requirements:
📋 Supports: Gmail, Outlook, Yahoo, and any IMAP/SMTP provider
npm start # Starts MCP server for Claude Desktop
# 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!
Complete documentation for all features and platforms:
| Document | Description |
|---|---|
| Configuration Guide | Comprehensive environment setup for CLI and MCP server (local and global) |
| Installation Guide | Cross-platform installation instructions (Windows, macOS, Linux, WSL) |
| CLI Reference | Complete reference for all 40+ CLI commands with examples |
| CLI Usage | Top-level CLI usage and setup commands |
| Commands Reference | Detailed command documentation with options and examples |
| Document | Description |
|---|---|
| Architecture | System architecture, data models, and design decisions |
| Troubleshooting | Common issues and solutions for all platforms |
| Windows Guide | Windows-specific installation and configuration |
| Publishing Guide | Package publishing and versioning strategy |
| Restructure Summary | v2.0 TypeScript migration details |
First Time Setup:
Having Issues?
Development & Contributing:
As CLI User:
As MCP Server User:
As Developer:
When running as an MCP server, all email operations are available as structured tools for Claude Desktop and other MCP clients.
Available Tools:
Usage in Claude Desktop:
{
"to": "user@example.com",
"subject": "Hello",
"body": "Message from Claude!"
}
📖 Configuration: See CONFIGURATION.md
.env secure (never commit to git)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:
Documentation for Developers:
Contributing: Fork → Branch → PR. See Contributing Guidelines
Issues & Questions:
Documentation by Topic:
All Documentation: See docs/ folder for complete guides
MIT License - see LICENSE file for details.
🌟 Star this repo if it helps you manage emails efficiently across platforms!
Version: 2.0.0
Last Updated: December 20, 2025
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
oraEnvironment{
"local_name": "ora",
"alias": false,
"peer_metadata": null
} | ^9.0.0 | runtime |
chalkEnvironment{
"local_name": "chalk",
"alias": false,
"peer_metadata": null
} | ^5.5.0 | runtime |
nodemailerEnvironment{
"local_name": "nodemailer",
"alias": false,
"peer_metadata": null
} | ^7.0.6 | runtime |
imap-simpleEnvironment{
"local_name": "imap-simple",
"alias": false,
"peer_metadata": null
} | ^5.1.0 | runtime |
@modelcontextprotocol/sdkEnvironment{
"local_name": "@modelcontextprotocol/sdk",
"alias": false,
"peer_metadata": null
} | ^1.15.1 | runtime |
@modelcontextprotocol/inspectorEnvironment{
"local_name": "@modelcontextprotocol/inspector",
"alias": false,
"peer_metadata": null
} | ^0.16.1 | runtime |
typescriptEnvironment{
"local_name": "typescript",
"alias": false,
"peer_metadata": null
} | ^5.8.3 | development |
@types/nodeEnvironment{
"local_name": "@types/node",
"alias": false,
"peer_metadata": null
} | ^24.0.14 | development |
@types/nodemailerEnvironment{
"local_name": "@types/nodemailer",
"alias": false,
"peer_metadata": null
} | ^7.0.2 | development |
@types/imap-simpleEnvironment{
"local_name": "@types/imap-simple",
"alias": false,
"peer_metadata": null
} | ^4.2.10 | development |
Source distribution
{
"shasum": "58d5571c39a1825edd4258fbf71aaa32fe195fc5",
"tarball": "https://registry.npmjs.org/@0xshariq/email-mcp-server/-/email-mcp-server-1.6.1.tgz",
"fileCount": 30,
"integrity": "sha512-o2hLgIb6UiTBsVIPWTdHSzEnnz78nclouqt8bJ5sBztVWl+nZKkxLW3Rgz8txawePKf7DNlsPEeHG0LTBxaN4w==",
"signatures": [
{
"sig": "MEUCIEx/GwyuuXY8m0fUUfkIxHQTj/pKQ8ExVvV5FG+OJU+RAiEA/RUVXO4Ki0X5jv0kA7ECdS/6B9LSq5qV0g9+8I+ORWA=",
"keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
}
],
"unpackedSize": 196149
}Observed since 21 Oct, 11:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:80fa0fcd6fd9ac18cced74fce18ed87cd7b29361f8d6a52c02eb162672a5f66a