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 "Install 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 Serversearch 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.
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:
Remove with:
Cursor
Add new MCP server:
Name:
imap-emailType:
commandCommand:
npx -y imap-email-mcp
Then set environment variables in Cursor's MCP settings:
Claude Desktop
Add to your config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
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
Clone and run
License
MIT License - see LICENSE for details.