MCP Hub
Back to servers

Email SMTP/IMAP MCP Server

A robust MCP server for email management that provides full SMTP and IMAP capabilities, including searching, sending with attachments, and threaded replies.

Tools
5
Updated
Dec 22, 2025

Email MCP Server

A clean, simple MCP server for email operations supporting both SMTP (sending) and IMAP (reading).

npm version License: MIT

Features

  • Send emails with HTML and attachments
  • Search emails with flexible filters
  • Reply/Forward with proper threading
  • Organize (mark read, archive, flag)
  • Multi-account support for managing multiple email accounts
  • List folders to browse your mailbox structure

Quick Start

Installation

npx -y email-smtp-imap-mcp

Or install globally:

npm install -g email-smtp-imap-mcp

Configuration

Add to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "email": {
      "command": "npx",
      "args": ["-y", "email-smtp-imap-mcp"],
      "env": {
        "EMAIL_ACCOUNTS_JSON": "{\"work\":{\"smtp\":{\"host\":\"smtp.gmail.com\",\"port\":587,\"user\":\"your@gmail.com\",\"password\":\"app-password\"},\"imap\":{\"host\":\"imap.gmail.com\",\"port\":993},\"default_from_name\":\"Your Name\",\"sender_emails\":[\"your@gmail.com\"]}}",
        "DEFAULT_EMAIL_ACCOUNT": "work"
      }
    }
  }
}

⚠️ Important: Restart Claude Desktop after adding this configuration.

Email Provider Settings

Gmail

"EMAIL_ACCOUNTS_JSON": "{\"gmail\":{\"smtp\":{\"host\":\"smtp.gmail.com\",\"port\":587,\"user\":\"your@gmail.com\",\"password\":\"app-password\"},\"imap\":{\"host\":\"imap.gmail.com\",\"port\":993},\"default_from_name\":\"Your Name\",\"sender_emails\":[\"your@gmail.com\"]}}"

Setup: Create App Password

iCloud Mail

"EMAIL_ACCOUNTS_JSON": "{\"icloud\":{\"smtp\":{\"host\":\"smtp.mail.me.com\",\"port\":587,\"user\":\"your@icloud.com\",\"password\":\"app-specific-password\"},\"imap\":{\"host\":\"imap.mail.me.com\",\"port\":993},\"default_from_name\":\"Your Name\",\"sender_emails\":[\"your@icloud.com\"]}}"

Setup: Generate App-Specific Password

Outlook/Office 365

"EMAIL_ACCOUNTS_JSON": "{\"outlook\":{\"smtp\":{\"host\":\"smtp-mail.outlook.com\",\"port\":587,\"user\":\"your@outlook.com\",\"password\":\"your-password\"},\"imap\":{\"host\":\"outlook.office365.com\",\"port\":993},\"default_from_name\":\"Your Name\",\"sender_emails\":[\"your@outlook.com\"]}}"

Multiple Accounts

"EMAIL_ACCOUNTS_JSON": "{\"work\":{\"smtp\":{\"host\":\"smtp.gmail.com\",\"port\":587,\"user\":\"work@company.com\",\"password\":\"app-password\"},\"imap\":{\"host\":\"imap.gmail.com\",\"port\":993},\"default_from_name\":\"John Doe\"},\"personal\":{\"smtp\":{\"host\":\"smtp.mail.me.com\",\"port\":587,\"user\":\"me@icloud.com\",\"password\":\"app-password\"},\"imap\":{\"host\":\"imap.mail.me.com\",\"port\":993},\"default_from_name\":\"John\"}}",
"DEFAULT_EMAIL_ACCOUNT": "work"

Available Tools

ToolDescription
emails_findSearch emails with flexible filters (sender, subject, date, attachments, etc.)
emails_modifyMark as read/unread, flag, archive, or move emails
email_sendSend new emails with HTML content and attachments
email_respondReply or forward emails with proper threading
folders_listList all available email folders

Usage Examples

Ask Claude to:

  • "Find unread emails from last week"
  • "Send an email to team@company.com about the meeting"
  • "Reply to the last email from Sarah"
  • "Archive all emails older than 30 days"
  • "List my email folders"
  • "Find emails with attachments from my boss"
  • "Mark all emails from newsletter@site.com as read"

Security Notes

  • Never commit .env files or credentials to version control
  • Use app-specific passwords or app passwords, not your main account password
  • The server runs locally on your machine - credentials stay private
  • All email connections use TLS encryption (ports 587 for SMTP, 993 for IMAP)

Development

# Clone the repository
git clone https://github.com/samihalawa/email-smtp-imap-mcp.git
cd email-smtp-imap-mcp

# Install dependencies
npm install

# Build
npm run build

# Run locally
npm start

Troubleshooting

Authentication Errors

Server Not Starting

  • Verify your configuration JSON is properly escaped
  • Check that ports 587 (SMTP) and 993 (IMAP) are not blocked by your firewall
  • Restart Claude Desktop after configuration changes

Connection Issues

  • Confirm your email provider allows IMAP/SMTP access
  • Check your internet connection
  • Verify the SMTP/IMAP host and port settings for your provider

License

MIT License - see LICENSE file for details

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Author

Sami Halawa - GitHub


Made with ❤️ for the MCP community

Reviews

No reviews yet

Sign in to write a review