Imap MCP Server

by nikolausm• 114•• Scanned•Claim this listing•Request removal
Productivity & Workflowaiclaudeemailimapllm

Full-featured IMAP & SMTP email for AI assistants: search, read, send, organize and clean up multiple mailboxes, with AES-256-encrypted credentials. Works with Claude, Cursor and any MCP client.

Imap MCP Server is an open-source mcp server by nikolausm, written mainly in TypeScript, with 114 GitHub stars and the MIT license. Its code was last updated Oct 26, 2026. The latest npm release is imap-mcp-server 2.2.0, published Oct 9, 2026, with 929 downloads last week.

Scan summary: scanned Nov 5, 2026 at commit 43ecca4. Seen able to read environment and secrets, read or send messages. Scan policy

How to install Imap MCP Server

Built from the start command in the project's README: npx -y imap-mcp-server. Check the README for required keys or settings.

Claude Code · Terminal
claude mcp add imap-mcp-server -- npx -y imap-mcp-server
Claude Desktop · claude_desktop_config.json
{
  "mcpServers": {
    "imap-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "imap-mcp-server"
      ]
    }
  }
}
Cursor · .cursor/mcp.json
{
  "mcpServers": {
    "imap-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "imap-mcp-server"
      ]
    }
  }
}
VS Code · Terminal
code --add-mcp '{"name":"imap-mcp-server","command":"npx","args":["-y","imap-mcp-server"]}'

What Imap MCP Server can touch

  • Run shell commandsNot seen in this scan
  • Run dynamic codeNot seen in this scan
  • Read or write filesNot seen in this scan
  • Read environment and secretsFound in the code by our scan
  • Control a web browserNot seen in this scan
  • Connect to databasesNot seen in this scan
  • Read or send messagesListed as a tool: imap_send_email
  • Touch money or tradingNot seen in this scan
  • Connect to the internetNo connections seen while running

"Not seen" means our checks did not find it, and the tool may still do it. Covers commit 43ecca4, Nov 5, 2026. See the scan policy.

Before you install Imap MCP Server

AgenticMart scanned Imap MCP Server on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What it can access

  • An MCP server is a program your AI app starts and talks to. A local one runs with your user's permissions: it can see the files, environment variables and network your account can.
  • Based on its description and topics, it likely needs to read or send messages on your accounts.

Before you install

  1. Use a test account first; check which scopes its token asks for.
  2. Pin the version you reviewed instead of always installing the latest release.
  3. Read the tool list or scripts before the first run, and keep approval prompts on for actions that write, send or delete.
  • Maintained by nikolausm on GitHub, 114 stars and 57 forks. Popularity is not proof of safety.
  • Last code change: Oct 26, 2026.
  • Open-source license: MIT.

Tools Imap MCP Server exposes (40)

Listed by the server itself during our scan of commit 43ecca4.

  • imap_add_account

    Add a new IMAP account configuration

  • imap_update_account

    Update an existing IMAP account. Useful for fixing SMTP settings without removing and re-adding the account.

  • imap_list_accounts

    List all configured IMAP accounts

  • imap_remove_account

    Remove an IMAP account configuration

  • imap_connect

    Connect to an IMAP account

  • imap_disconnect

    Disconnect from an IMAP account

  • imap_test_account

    Test an existing account connection without re-entering credentials. Validates IMAP connectivity and returns folder count and message count.

  • imap_search_emails

    Note: on some servers a 'flagged' or starred message carries a custom keyword (e.g. an Open-Xchange color label or Apple's $MailFlagBit*) instead of, or in addition to, the \Flagged system flag. After any flagged search, inspect each result's customKeywords field before concluding a message is or is

  • imap_get_email

    Read the FULL content of a single email by its UID (body, sender/recipients, date, attachment list, optional raw headers and text-attachment previews). By default the body is returned as clean Markdown in markdownContent and raw HTML is omitted so it never crosses the boundary; set bodyFormat to "ht

  • imap_upload_file

    Upload a file to the server for use as an email attachment. Returns a path that can be used with imap_send_email attachments. This allows sending large attachments without hitting context window limits. Max size: 26214400 bytes (configurable via IMAP_MAX_UPLOAD_SIZE). Uploads are auto-deleted after

  • imap_download_attachment

    Download a single attachment from an email (folder + uid + attachment filename/contentId, as listed by imap_get_email). Images are returned inline for viewing; PDFs are saved and their text is extracted inline (extractText); other files are saved to the shared downloads directory (or savePath). Use

  • imap_mark_as_read

    Mark one or many emails as read. Accepts a single UID or an array — pass an array to flag N messages in one IMAP STORE round-trip (useful when triaging).

  • imap_mark_as_unread

    Mark one or many emails as unread. Accepts a single UID or an array — pass an array to flag N messages in one IMAP STORE round-trip.

  • imap_flag_email

    Flag an email — sets the IMAP \Flagged system flag (shows as a star in Gmail / a flag in Apple Mail). Use this tool when a user asks to star, flag, or mark a message as important.

  • imap_unflag_email

    Unflag an email — removes the IMAP \Flagged system flag (the star in Gmail, the flag in Apple Mail). Note: some servers (e.g. Open-Xchange / Network Solutions) and Apple Mail also write a separate custom keyword such as $cl_N or $MailFlagBit* when a message is flagged in their client. Removing \Flag

  • imap_add_keyword

    Set an arbitrary custom (non-system) IMAP keyword/label on an email — e.g. a provider color label like Open-Xchange's $cl_1..$cl_10, Apple Mail's $MailFlagBit0..$MailFlagBit2, or an app tag such as $promotion. Unlike imap_flag_email (which only ever sets the system \Flagged flag), this passes the ke

  • imap_remove_keyword

    Remove an arbitrary custom (non-system) IMAP keyword/label from an email — e.g. a provider color label like Open-Xchange's $cl_1..$cl_10, Apple Mail's $MailFlagBit0..$MailFlagBit2, or an app tag such as $promotion. Unlike imap_unflag_email (which only ever clears the system \Flagged flag), this pass

  • imap_delete_email

    Delete ONE email by folder + uid (moves to Trash or expunges, server-dependent). Destructive and not easily undone — confirm the user means this specific message. To remove many at once use imap_bulk_delete (known uids) or imap_bulk_delete_by_search (by criteria, supports dryRun). To file an email a

  • imap_move_email

    Move an email from one folder to another (e.g., INBOX to Taxes, or INBOX to Archive). Optionally creates the destination folder if it does not exist.

  • imap_bulk_delete

    Delete multiple emails at once with chunking and auto-reconnection. Processes deletions in batches to prevent connection timeouts.

  • imap_bulk_delete_by_search

    Search for emails matching criteria and delete them all. Useful for cleaning up spam or unwanted emails. At least one concrete criterion (from, to, subject, before, or since) is REQUIRED — a call with no criteria is refused so it can never wipe an entire folder. Supports dryRun to preview matches fi

  • imap_get_latest_emails

    Get the most recent emails from a folder, newest first. Use this for "what just came in?" / "show my latest inbox messages" when no search filter is needed. By default returns lightweight headers (uid, from, subject, date); set `includeBody=true` to also return the parsed body in one round-trip inst

  • imap_send_email

    Compose and send a NEW email via the account's SMTP server (a copy is saved to Sent unless disabled; account defaultBcc addresses are always BCC'd when configured). Use for fresh outbound messages. To respond to an existing message use imap_reply_to_email (keeps threading); to pass a message on use

  • imap_save_draft

    Save an email as a draft in the Drafts folder (no send). Takes the same fields as imap_send_email (including account defaultBcc when configured).

  • imap_reply_to_email

    Reply to an existing email identified by folder + uid. Automatically sets the recipient to the original sender, prefixes the subject with "Re:", and preserves threading (In-Reply-To/References). Set replyAll to also include the original To (and Cc as Cc), excluding the account's own address; a Reply

  • imap_forward_email

    Forward an existing email (folder + uid) to new recipients, quoting the original message and headers. Optionally include the original attachments. Use when the user wants to pass an existing message on to someone else; use imap_reply_to_email instead to respond to the sender. Account defaultBcc addr

  • imap_find_thread_messages

    Find messages in `searchFolder` that belong to the same conversation threads as messages already in `sourceFolder`. Useful for catching replies that arrived after a thread was sorted. Works on any IMAP server (uses RFC 3501 HEADER search on In-Reply-To and References). Set `includeBody=true` to also

  • imap_find_email_by_message_id

    Locate an email by its RFC822 Message-ID across folders and return its current { folder, uid } plus basic envelope. Robust to the message having been moved or archived (IMAP UIDs are folder-relative). Pass the returned folder + uid to imap_reply_to_email or imap_get_email. Without `folders`, searche

  • imap_list_folders

    List all folders/mailboxes for an account (names, hierarchy delimiter, attributes, RFC 6154 special-use role). Use this first to discover exact folder names before searching, moving, or creating subfolders — folder naming varies by provider (e.g. "Archive" vs "[Gmail]/All Mail" vs "INBOX.Archive").

  • imap_folder_status

    Get status information about a folder

  • imap_create_folder

    Create a new IMAP folder/mailbox. Most servers also create any missing parent folders (e.g. creating "Archives/2026/2026-05" auto-creates "Archives" and "Archives/2026"). Returns success even if the folder already exists.

  • imap_get_unread_count

    Count unread (unseen) emails per folder, plus a total. Use for "how many unread do I have?" overviews. Defaults to all folders; pass a folders list to limit scope and speed it up.

  • imap_check_spam

    Check emails in a folder for spam. Combines sender-domain checks (known spam/disposable domains, suspicious patterns) with deterministic raw-header analysis: bulk-mailer X-Mailer/User-Agent signatures, Precedence: bulk, DMARC/SPF/DKIM failures in Authentication-Results, and List-Unsubscribe / Reply-

  • imap_delete_spam

    Find and delete emails from known spam/disposable email domains.

  • imap_domain_stats

    Get statistics about sender domains in a folder. Useful for identifying bulk senders or spam patterns.

  • imap_add_spam_domain

    Add a domain to the custom spam list. Emails from this domain will be flagged as spam.

  • imap_remove_spam_domain

    Remove a domain from the custom spam list.

  • imap_add_whitelist_domain

    Add a domain to the whitelist. Emails from whitelisted domains will never be flagged as spam.

  • imap_list_spam_domains

    List all known spam domains (built-in and custom).

  • imap_delete_by_domain

    Delete all emails from a specific domain. Useful for cleaning up unwanted newsletters or spam.

Imap MCP Server is an open-source mcp server by nikolausm, written mainly in TypeScript. Full-featured IMAP & SMTP email for AI assistants: search, read, send, organize and clean up multiple mailboxes, with AES-256-encrypted credentials. Works with Claude, Cursor and any MCP client.

At a glance

Stars
114
Forks
57
Language
TypeScript
License
MIT
Created
Jul 2025
Last update
Oct 26, 2026
Type
MCP Server
Price
Free

Topics

aiclaudeemailimapllmmcpmcp-servermodel-context-protocolsmtptypescript

Questions about Imap MCP Server

What is Imap MCP Server?

Full-featured IMAP & SMTP email for AI assistants: search, read, send, organize and clean up multiple mailboxes, with AES-256-encrypted credentials. Works with Claude, Cursor and any MCP client.

Who maintains Imap MCP Server?

Imap MCP Server is maintained by nikolausm on GitHub (nikolausm/imap-mcp-server). AgenticMart lists it from public repository data.

Is Imap MCP Server safe to use?

AgenticMart scanned Imap MCP Server on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What license does Imap MCP Server use?

It is published under the MIT license.

Imap MCP Server alternatives

View more →

Similar mcp servers in Productivity & Workflow, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Imap MCP Server (this page)
nikolausm
114MITOct 26, 2026Scanned, no flagged issues
N8n MCP
czlonkowski
23kMITOct 27, 2026Scanned, no flagged issues
Trigger Dev
triggerdotdev
17kApache-2.0Oct 31, 2026Scanned, no flagged issues
Skill Seekers
yusufkaraaslan
15kMITSep 30, 2026Scanned, no flagged issues
Windows MCP
CursorTouch
11kMITNov 1, 2026Scanned, no flagged issues
Mobile MCP
mobile-next
10kApache-2.0Oct 30, 2026Scanned, no flagged issues