IMAP Email MCP Server
This IMAP Email MCP Server enables AI assistants to manage email accounts across multiple providers (Gmail, Outlook, Yahoo, Fastmail, iCloud, etc.) through IMAP/SMTP protocols.
Core Capabilities:
Browse and Read Emails - List emails from any folder with filtering options (limit, date range, unread status) and retrieve full email content by UID
Search Emails - Search by subject, sender, or body content within specified folders
Folder Management - List all available email folders/mailboxes in the account
Draft Management - Create, list, read, update, and delete email drafts with support for To, CC, BCC recipients
Send Emails - Compose and send emails directly via SMTP with plain text or HTML body content
Delete Emails - Remove emails by UID from any folder
Key Features:
Natural language interface through AI assistants
Secure authentication using app passwords and environment variables
Compatible with Claude Desktop, Cursor, and other MCP-compatible tools
Provides capabilities to read, search, compose, send, and manage emails and drafts directly within a Gmail account using IMAP and SMTP protocols.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@IMAP Email MCP Server search my inbox for recent emails about the project update"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpNote: 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-emailRemove with:
claude mcp remove imap-email -s userCursor
Add new MCP server:
Name:
imap-emailType:
commandCommand:
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.comClaude Desktop
Add to your config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%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 |
| Your email address |
| App password (not your main password!) |
| IMAP server hostname |
Optional Environment Variables
Variable | Default | Description |
|
| IMAP port |
|
| Use TLS |
| Same as IMAP_HOST | SMTP server hostname |
|
| SMTP port |
|
| Use secure SMTP |
Provider Settings
Provider | IMAP_HOST | SMTP_HOST | Notes |
Gmail |
|
| |
Outlook |
|
| Use port 587, SMTP_SECURE=false |
Yahoo |
|
| Generate App Password in settings |
Fastmail |
|
| App Password from Privacy & Security |
iCloud |
|
|
Available Tools
Tool | Description |
| List all email folders/mailboxes |
| List emails with optional filtering |
| Get full email content by UID |
| Search by subject, sender, or body |
| List all draft emails |
| Get a specific draft by UID |
| Create a new email draft |
| Update an existing draft |
| Send an email directly |
| 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
Use App Passwords - Never use your main account password
Environment Variables - Store credentials in env vars, not in code
Review Before Sending - Use
create_draftinstead ofsend_emailto 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_HOSTis correctVerify port 993 is not blocked by firewall
Alternative Installation
Install globally
npm install -g imap-email-mcp
imap-email-mcpClone and run
git clone https://github.com/jdickey1/imap-email-mcp.git
cd imap-email-mcp
npm install
node index.jsLicense
MIT License - see LICENSE for details.
Links
Available Tools
10 toolscreate_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
Scored across 10 tools
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.
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.
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.
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
Related MCP Connectors
Email for AI agents: read, search and send from your Gmail, Outlook, Yahoo, iCloud or IMAP inbox.
Email inboxes and calendars for AI agents: send, receive, search, draft and schedule.
Email inboxes and calendars for AI agents: send, receive, search, draft and schedule.
Connect any mailbox to Claude, ChatGPT & AI: read, send, reply, schedule & search emails.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects 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 npm2MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to send, read, and manage emails via SMTP and IMAP, with support for attachments, threads, and mailbox organization.1652 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to connect to any email provider via IMAP/SMTP, supporting account management and email operations like listing, sending, and marking emails.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to read, search, and manage email via IMAP, and send emails with attachments via SMTP, using natural language commands.546 npmMIT