IMAP Email MCP Server

IMAP Email MCP Server

Enables AI assistants to read, search, compose, and send emails by connecting to any IMAP/SMTP provider. It supports comprehensive mailbox management, including draft handling and message deletion, directly through natural language.

Category
Visit Server

README

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"
      }
    }
  }
}

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.

Links

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured