← Back to directory
E

email-mcp

Community
Full-featured IMAP/SMTP email MCP server with multi-account, real-time watcher, and AI triage.
GitHub source repository ↗
★ 101 Stars Category · Other Popular Source revision 99ce431aa81d
49FMRS · D
Reliability
6/20
Security and permissions
7/20
Maintenance
8/20
Documentation
15/20
Setup experience
13/20

A feature-rich email MCP server offering comprehensive IMAP/SMTP support, including multi-account, real-time watcher, AI triage, scheduling, and calendar integration. Easy to install and supports multiple clients. Be mindful of security and permissions; ensure proper configuration.

Read the FMRS scoring method →

email-mcp is an MCP server that provides comprehensive email capabilities via IMAP and SMTP. It enables AI assistants to read, search, send, manage, schedule, and analyze emails across multiple accounts, exposing 47 tools, 7 prompts, and 6 resources over the MCP protocol, with OAuth2 support (experimental), email scheduling, calendar extraction, analytics, provider-aware label management, real-time IMAP IDLE watcher with AI-powered triage, customizable presets and static rules, and a guided setup wizard.

Tools

list_accounts
List all configured email accounts.
list_mailboxes
List folders with unread counts and special-use flags.
list_emails
Paginated email listing with date, sender, subject, and flag filters.
get_email
Read full email content with attachment metadata.
get_emails
Fetch full content of multiple emails in a single call (max 20).
get_email_status
Get read/flag/label state of an email without fetching the body.
search_emails
Search by keyword across subject, sender, and body.
download_attachment
Download an email attachment by filename.
find_email_folder
Discover the real folder(s) an email resides in (resolves virtual folders).
extract_contacts
Extract unique contacts from recent email headers.
get_thread
Reconstruct a conversation thread via References/In-Reply-To.
list_templates
List available email templates.
get_email_stats
Email analytics — volume, top senders, daily trends.
check_health
Connection health, latency, quota, and IMAP capabilities.
send_email
Send a new email (plain text or HTML, CC/BCC).
reply_email
Reply with proper threading (In-Reply-To, References).
forward_email
Forward with original content quoted.
save_draft
Save an email draft to the Drafts folder.
send_draft
Send an existing draft and remove from Drafts.
apply_template
Apply a template with variable substitution.
schedule_email
Schedule an email for future delivery.
list_scheduled
List scheduled emails by status.
cancel_scheduled
Cancel a pending scheduled email.
move_email
Move email between folders.
delete_email
Move to Trash or permanently delete.
mark_email
Mark as read/unread, flag/unflag.
bulk_action
Batch operation on up to 100 emails.
create_mailbox
Create a new mailbox folder.
rename_mailbox
Rename an existing mailbox folder.
delete_mailbox
Permanently delete a mailbox and contents.
list_labels
Discover available labels (auto-detects provider strategy).
add_label
Add a label to an email (ProtonMail folders, Gmail X-GM-LABELS, or IMAP keywords).
remove_label
Remove a label from an email.
create_label
Create a new label.
delete_label
Delete a label.
get_watcher_status
Show IMAP IDLE connections, folders being monitored, and last-seen UIDs.
list_presets
List available AI triage presets with descriptions and suggested labels.
get_hooks_config
Show current hooks configuration — preset, rules, and custom instructions.
configure_alerts
Update alert/notification settings at runtime.
check_notification_setup
Diagnose desktop notification support and provide setup instructions.
test_notification
Send a test notification to verify OS permissions are configured.
extract_calendar
Extract ICS/iCalendar events from an email.
analyze_email_for_scheduling
Analyze an email to detect events and reminder-worthy content.
add_to_calendar
Add an email event to the local calendar (macOS/Linux).
create_reminder
Create a reminder in macOS Reminders.app from an email.
list_calendars
List all available local calendars.
check_calendar_permissions
Check whether the local calendar is accessible.

Setup

  1. Ensure Node.js ≥ 22.\n2. Run npx @codefuturist/email-mcp setup or email-mcp account add to add an account interactively.\n3. Run email-mcp install to auto-register with supported MCP clients (Claude Desktop, VS Code, Cursor, Windsurf, Zed).\n4. Or manually add a config snippet (see README).
claude_desktop_config.json
{
  "mcpServers": {
    "email": {
      "command": "npx",
      "args": [
        "-y",
        "@codefuturist/email-mcp",
        "stdio"
      ]
    }
  }
}

Fit and risk

Best for

  • Users who need multi-account email management
  • Users who need real-time email monitoring and AI triage
  • Users who need email scheduling and calendar features
  • Users who want integration with multiple MCP clients (Claude, Cursor, etc.)

Not for

  • Users who only need basic read/send email (may be overkill)
  • Email services that do not use IMAP/SMTP
  • Users who need production-grade stability and are concerned about experimental OAuth2

Required permissions

  • Read emails and mailbox information
  • Send emails
  • Manage emails (move, delete, flag)
  • Manage labels
  • Access local calendar (macOS/Linux)
  • Create OS-level scheduled tasks via scheduler install
  • Send desktop notifications and webhook requests

Risks and side effects

  • Requires storing email credentials (app passwords or OAuth2 tokens)
  • Broad access: can read, send, delete all emails
  • Experimental OAuth2 may be unstable
  • Scheduled emails depend on machine being online, otherwise may be missed
  • Desktop notifications may require extra permissions

Troubleshooting

  1. Ensure Node.js ≥ 22
  2. Check connection with `email-mcp test`
  3. Check config file path with `email-mcp config path`
  4. Verify IMAP/SMTP host and port (e.g., Gmail: imap.gmail.com:993, smtp.gmail.com:465)
  5. For Gmail, use an app password, not your regular password
  6. Ensure the scheduler daemon is installed (`email-mcp scheduler install`)
  7. Check logs or run `email-mcp config show` to verify configuration

Use cases

Enable AI assistants to read, search, and send email
Automatically triage and prioritize inbox with AI
Schedule emails for future delivery
Extract calendar events and create reminders
Real-time notifications via static rules and IMAP IDLE watcher

Supported clients

Claude DesktopFull support
VS CodeFull support
CursorFull support
WindsurfFull support
ZedFull support
Mistral VibeFull support