Skip to main content
Glama
IMAP Email MCP Server

IMAP Email MCP Server

by jdickey1

IMAP Email MCP Server

A Model Context Protocol (MCP) server that provides email capabilities to Claude Code, Claude Desktop, Cursor, and other MCP-compatible AI tools. Connect to any IMAP/SMTP email provider to read, search, compose, and manage emails directly from your AI assistant.

Quick Start

Claude Code (CLI)

Important: Claude Code CLI uses claude mcp add, not config files.

claude mcp add imap-email -s user \
  -e IMAP_USER=you@example.com \
  -e IMAP_PASSWORD='your-app-password' \
  -e IMAP_HOST=imap.example.com \
  -- npx -y imap-email-mcp

Note: If your password contains special shell characters (%, ^, *, $, !, etc.), wrap it in single quotes as shown above.

Note: Restart Claude Code after adding an MCP for the new tools to become available.

Verify with:

claude mcp list
claude mcp get imap-email

Remove with:

claude mcp remove imap-email -s user

Cursor

Add new MCP server:

  • Name: imap-email

  • Type: command

  • Command: npx -y imap-email-mcp

Then set environment variables in Cursor's MCP settings:

IMAP_USER=your-email@example.com
IMAP_PASSWORD=your-app-password
IMAP_HOST=imap.example.com

Claude Desktop

Add to your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "imap-email": {
      "command": "npx",
      "args": ["-y", "imap-email-mcp"],
      "env": {
        "IMAP_USER": "your-email@example.com",
        "IMAP_PASSWORD": "your-app-password",
        "IMAP_HOST": "imap.example.com"
      }
    }
  }
}

Related MCP server: Mail MCP Server

Features

  • Read emails - List and read emails from any folder

  • Search - Search by subject, sender, or body content

  • Compose - Create and save email drafts

  • Send - Send emails directly via SMTP

  • Manage drafts - List, read, update, and delete drafts

  • Delete emails - Remove unwanted messages

  • Multi-provider support - Works with Gmail, Outlook, Yahoo, Fastmail, and any standard IMAP provider

Configuration

Required Environment Variables

Variable

Description

IMAP_USER

Your email address

IMAP_PASSWORD

App password (not your main password!)

IMAP_HOST

IMAP server hostname

Optional Environment Variables

Variable

Default

Description

IMAP_PORT

993

IMAP port

IMAP_TLS

true

Use TLS

SMTP_HOST

Same as IMAP_HOST

SMTP server hostname

SMTP_PORT

465

SMTP port

SMTP_SECURE

true

Use secure SMTP

Provider Settings

Provider

IMAP_HOST

SMTP_HOST

Notes

Gmail

imap.gmail.com

smtp.gmail.com

Create App Password

Outlook

outlook.office365.com

smtp.office365.com

Use port 587, SMTP_SECURE=false

Yahoo

imap.mail.yahoo.com

smtp.mail.yahoo.com

Generate App Password in settings

Fastmail

imap.fastmail.com

smtp.fastmail.com

App Password from Privacy & Security

iCloud

imap.mail.me.com

smtp.mail.me.com

Generate App Password

Available Tools

Tool

Description

list_folders

List all email folders/mailboxes

list_emails

List emails with optional filtering

get_email

Get full email content by UID

search_emails

Search by subject, sender, or body

list_drafts

List all draft emails

get_draft

Get a specific draft by UID

create_draft

Create a new email draft

update_draft

Update an existing draft

send_email

Send an email directly

delete_email

Delete an email by UID

Usage Examples

Once configured, use natural language:

  • "Check my inbox for unread emails"

  • "Search for emails from john@example.com"

  • "Create a draft email to sarah@example.com about the meeting tomorrow"

  • "Show me my drafts folder"

Security Best Practices

  1. Use App Passwords - Never use your main account password

  2. Environment Variables - Store credentials in env vars, not in code

  3. Review Before Sending - Use create_draft instead of send_email to review first

Troubleshooting

Authentication failed

  • Verify your app password is correct

  • Ensure IMAP access is enabled in your email provider's settings

Drafts folder not found

  • The server tries common names (Drafts, INBOX.Drafts, [Gmail]/Drafts)

  • Your provider may use a different folder name

Connection timeout

  • Check your IMAP_HOST is correct

  • Verify port 993 is not blocked by firewall

Alternative Installation

Install globally

npm install -g imap-email-mcp
imap-email-mcp

Clone and run

git clone https://github.com/jdickey1/imap-email-mcp.git
cd imap-email-mcp
npm install
node index.js

License

MIT License - see LICENSE for details.

Available Tools

10 tools
create_draftC

Create a new draft email

Inputs: to (required), subject (required), body, html, +2 more.

delete_emailB

Delete an email by UID

Inputs: uid (required), folder.

get_draftC

Get a specific draft email by UID

Inputs: uid (required).

get_emailC

Get full email content by UID

Inputs: uid (required), folder.

list_draftsC

List all draft emails

Inputs: limit.

list_emailsB

List emails from a folder with optional filtering

Inputs: folder, limit, unseen_only, since_date.

list_foldersB

List all email folders/mailboxes in the IMAP account

Inputs: no named parameters.

search_emailsC

Search emails by subject, from, or body text

Inputs: folder, subject, from, body, +1 more.

send_emailC

Send an email directly

Inputs: to (required), subject (required), body, html, +2 more.

update_draftC

Update an existing draft by deleting old and creating new

Inputs: uid (required), to (required), subject (required), body, +3 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 10 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. For example, list_emails retrieves emails from a folder, while search_emails filters by content, and get_email fetches full content of a specific email. The draft-related tools (create_draft, get_draft, list_drafts, update_draft) are well-separated from email management tools, ensuring agents can easily select the right tool for each task.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, such as list_folders, create_draft, and send_email. This predictability makes the tool set easy to navigate and understand, with no deviations in naming conventions across the ten tools.

    Tool Count5/5

    With 10 tools, the server is well-scoped for email management via IMAP. Each tool earns its place by covering essential operations like listing, creating, retrieving, updating, and deleting emails and drafts, without being overly sparse or bloated for the domain.

    Completeness4/5

    The tool surface provides strong coverage for core email workflows, including CRUD operations for emails and drafts, folder management, and sending. A minor gap is the lack of tools for moving emails between folders or marking them as read/unread, but agents can work around this with the existing tools for basic email handling.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Connects AI assistants to email accounts via IMAP/SMTP, enabling reading, searching, sending, and organizing emails with features like smart drafts, scheduling, and attachment handling.
      108 npm
      2
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables AI assistants to send, read, and manage emails via SMTP and IMAP, with support for attachments, threads, and mailbox organization.
      16
      52 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to connect to any email provider via IMAP/SMTP, supporting account management and email operations like listing, sending, and marking emails.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI assistants to read, search, and manage email via IMAP, and send emails with attachments via SMTP, using natural language commands.
      546 npm
      MIT