Skip to main content
Glama
imap-mail-mcp

imap-mail-mcp

imap-mail-mcp

An MCP (Model Context Protocol) server that lets Claude read, search, and send email over standard IMAP/SMTP. Works with any provider that supports username/password authentication over IMAP and SMTP — IONOS, GMX, Web.de, and most other non-Gmail/non-Microsoft providers.

Tools

Tool

Description

list_mailboxes

List all folders (INBOX, Sent, Drafts, Trash, custom folders, ...)

list_messages

List the most recent messages in a mailbox

search_messages

Search by sender, recipient, subject, body text, or date range

get_message

Fetch the full text/HTML body and attachment metadata of one message

mark_message

Mark a message as read/unread or flagged/unflagged

send_mail

Send a new email or reply to an existing one

Related MCP server: imail-mcp

Setup

  1. Install dependencies and build:

    npm install
    npm run build
  2. Copy .env.example to .env and fill in your mailbox credentials (only needed for local testing via npm start — see below for how credentials are supplied when running through Claude Desktop).

  3. If your provider supports 2FA / app-specific passwords, use one of those instead of your main account password.

Using it with Claude Desktop

Add an entry to your claude_desktop_config.json (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "imap-mail": {
      "command": "node",
      "args": ["/absolute/path/to/imap-mail-mcp/dist/index.js"],
      "env": {
        "EMAIL_USER": "you@example.com",
        "EMAIL_PASSWORD": "your-password-or-app-password",
        "IMAP_HOST": "imap.example.com",
        "IMAP_PORT": "993",
        "SMTP_HOST": "smtp.example.com",
        "SMTP_PORT": "587"
      }
    }
  }
}

Restart Claude Desktop fully (quit and reopen) after editing the config.

Environment variables

Variable

Required

Default

Notes

EMAIL_USER

yes

—

Mailbox login (usually your email address)

EMAIL_PASSWORD

yes

—

Password or app-specific password

IMAP_HOST

yes

—

e.g. imap.ionos.de

IMAP_PORT

no

993

IMAP over implicit TLS

SMTP_HOST

yes

—

e.g. smtp.ionos.de

SMTP_PORT

no

587

STARTTLS; use 465 for implicit TLS

For backwards compatibility, IONOS_EMAIL, IONOS_PASSWORD, IONOS_IMAP_HOST, IONOS_IMAP_PORT, IONOS_SMTP_HOST, and IONOS_SMTP_PORT are also accepted as aliases.

Security notes

  • Credentials are only ever read from environment variables. They are never logged, written to disk, or included in any response text beyond what the IMAP/SMTP server itself returns.

  • Claude Desktop's mcpServers config stores the env block in plain text on your machine. Anyone with access to your user account can read it, same as any other locally saved password.

  • .env is git-ignored — never commit real credentials.

Requirements

  • Node.js 18+

Available Tools

6 tools
get_messageB

Fetch the full content (text, html, attachments metadata) of a single message by UID.

Inputs: uid (required), mailbox.

list_mailboxesA

List all IMAP folders/mailboxes in the mailbox (e.g. INBOX, Sent, Drafts, Trash).

Inputs: no named parameters.

list_messagesC

List the most recent messages in a mailbox, newest first.

Inputs: limit, mailbox, unseenOnly.

mark_messageC

Change the read or flagged status of a message.

Inputs: uid (required), flag (required), mailbox.

search_messagesA

Search messages in a mailbox by sender, recipient, subject, body text, or date range.

Inputs: to, from, text, limit, +5 more.

send_mailA

Send a new email, or reply to an existing one, via SMTP.

Inputs: to (required), subject (required), cc, bcc, +4 more.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool targets a distinct action: flagging, sending, listing mailboxes, listing messages, searching, and fetching. No overlaps or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with lowercase and underscores (e.g., list_mailboxes, send_mail). No mixing of styles.

    Tool Count5/5

    Six tools is well-scoped for an email server, covering essential operations without being too few or overly numerous.

    Completeness4/5

    Covers core email tasks (list, send, search, read, flag) but lacks operations like delete/move messages or manage mailboxes, which are minor gaps.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      MCP server that connects Claude to iCloud Mail, enabling reading, searching, sending, and organizing emails via IMAP/SMTP.
      14
      PolyForm Noncommercial 1.0.0
    • A
      license
      A
      quality
      D
      maintenance
      A Model Context Protocol (MCP) server that enables Claude Desktop to manage emails via SMTP and IMAP. Send emails, fetch unread messages, and create draft replies directly from conversations.
      3
      18 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A cross-platform MCP server that provides Claude with email access via IMAP, supporting multiple email providers and account management.
      MIT