A powerful Model Context Protocol (MCP) server for IMAP email integration with Claude
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
claude mcp add imap -- npx -y imap-mcp-server{
"mcpServers": {
"imap": {
"command": "npx",
"args": ["-y", "imap-mcp-server"]
}
}
}MCP Servers overview
# IMAP MCP Server
A powerful Model Context Protocol (MCP) server that provides seamless IMAP email integration with secure account management and connection pooling.
## Features
- 🔐 **Secure Account Management**: Encrypted credential storage with AES-256 encryption
- 🚀 **Connection Pooling**: Efficient IMAP connection management
- 📧 **Comprehensive Email Operations**: Search, read, move, mark, delete, and bulk delete emails
- ✉️ **Email Sending**: Send, reply, and forward emails via SMTP
- 📁 **Folder Management**: List folders, check status, get unread counts
- 🔄 **Multiple Account Support**: Manage multiple IMAP accounts simultaneously
- 🛡️ **Type-Safe**: Built with TypeScript for reliability
- 🌐 **Web-Based Setup Wizard**: Easy account configuration with provider presets
- 📱 **15+ Email Providers**: Pre-configured settings for Gmail, Outlook, Yahoo, and more
- 🔗 **Auto SMTP Configuration**: Automatic SMTP settings based on IMAP provider
## Installation
### Run via npx (No Installation Required)
Once published to npm, you can run the server directly without cloning or building anything — `npx` downloads the prebuilt package and runs it:
```bash
npx -y imap-mcp-server
```
This is the easiest way to use the server in an MCP client (see [Configuration](#configuration) for ready-to-paste `npx` configs).
### Quick Install (Recommended)
#### macOS/Linux:
```bash
curl -fsSL https://raw.githubusercontent.com/nikolausm/imap-mcp-server/main/install.sh | bash
```
#### Windows (PowerShell as Administrator):
```powershell
iwr -useb https://raw.githubusercontent.com/nikolausm/imap-mcp-server/main/install.ps1 | iex
```
### Manual Installation
1. Clone the repository:
```bash
git clone https://github.com/nikolausm/imap-mcp-server.git
cd imap-mcp-server
```
2. Install dependencies:
```bash
npm install
```
3. Build the project:
```bash
npm run build
```
## Account Setup
Accounts are stored encrypted in `~/.imap-mcp/accounts.json`. This file is **shared by all run modes** — whether you start the server via `npx`, a global install, or a local clone, they all read the same accounts. So you only need to set up your accounts once.
### Setting Up Accounts in npx Mode
If you run the server via `npx` (no clone), you have two ways to add accounts:
**Option A — Run the setup wizard directly via npx (no install needed):**
```bash
npx -p imap-mcp-server imap-setup
```
This launches the same web-based wizard described below and writes to `~/.imap-mcp/accounts.json`, which your `npx`-configured MCP server then picks up automatically.
**Option B — Add accounts straight from your AI client:**
Once the MCP server is configured, just ask your assistant to add an account — it uses the `imap_add_account` tool. For example:
> "Add my IMAP account: host imap.gmail.com, port 993, user me@gmail.com, password …"
No separate setup step required.
### Web-Based Setup Wizard (Recommended)
After installation, run the setup wizard:
```bash
npm run setup
```
Or if installed globally:
```bash
imap-setup
```
Or directly via npx without installing:
```bash
npx -p imap-mcp-server imap-setup
```
This will:
1. Start a local web server
2. Open your browser to the setup wizard
3. Guide you through adding email accounts with pre-configured settings
### Supported Email Providers
The setup wizard includes pre-configured settings for:
- Gmail / Google Workspace
- Microsoft Outlook / Hotmail / Live
- Yahoo Mail
- Apple iCloud Mail
- GMX
- WEB.DE
- IONOS (1&1)
- ProtonMail (with Bridge)
- Fastmail
- Zoho Mail
- AOL Mail
- mailbox.org
- Posteo
- Custom IMAP servers
## Configuration
### Claude Code (CLI)
#### Option A — via npx (no clone/build needed)
```bash
claude mcp add imap -- npx -y imap-mcp-server
```
This always runs the latest published version and requires no local build.
#### Option B — from a local clone
If you use [Claude Code](https://docs.anthropic.com/en/docs/claude-code) in the terminal, add the MCP server with a single command:
**Step 1:** Make sure you have built the project first (see [Manual Installation](#manual-installation)).
**Step 2:** Run this command in your terminal:
```bash
claude mcp add imap -- node /absolute/path/to/imap-mcp-server/dist/index.js
```
> **Important:** Replace `/absolute/path/to/imap-mcp-server` with the actual path where you cloned the repository. For example:
> ```bash
> # macOS/Linux example:
> claude mcp add imap -- node /Users/yourname/imap-mcp-server/dist/index.js
>
> # Windows example:
> claude mcp add imap -- node C:\Users\yourname\imap-mcp-server\dist\index.js
> ```
**Step 3:** Verify it was added:
```bash
claude mcp list
```
You should see `imap` in the list of configured MCP servers. That's it — the IMAP tools are now available in your Claude Code sessions.
> **Tip:** If you want to remove the server later, run:
> ```bash
> claude mcp remove imap
> ```
### Claude Desktop (GUI App)
Add the IMAP MCP server to your Claude Desktop configuration file:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
**Option A — via npx (recommended, no clone/build needed):**
```json
{
"mcpServers": {
"imap": {
"command": "npx",
"args": ["-y", "imap-mcp-server"],
"env": {}
}
}
}
```
**Option B — from a local clone:**
```json
{
"mcpServers": {
"imap": {
"command": "node",
"args": ["/path/to/imap-mcp-server/dist/index.js"],
"env": {}
}
}
}
```
## Usage
Once configured, the IMAP MCP server provides the following tools in Claude:
> **Choosing an account.** For the email and folder tools, `accountId` is
> **optional** and backward-compatible. You may instead pass `accountName`, and
> if you only have a **single** account configured you can omit both — that
> account is used by default. With multiple accounts and no selector, the tool
> returns a clear error listing your options (`imap_list_accounts`).
### Account Management
- **imap_add_account**: Add a new IMAP account
```
Parameters:
- name: Friendly name for the account
- host: IMAP server hostname
- port: Server port (default: 993)
- user: Username
- password: Password
- tls: Use TLS/SSL (default: true)
```
- **imap_list_accounts**: List all configured accounts
- **imap_remove_account**: Remove an account
```
Parameters:
- accountId: ID of the account to remove
```
- **imap_connect**: Connect to an account
```
Parameters:
- accountId OR accountName: Account identifier
```
- **imap_disconnect**: Disconnect from an account
```
Parameters:
- accountId: Account to disconnect
```
### Email Operations
- **imap_search_emails**: Search for emails
```
Parameters:
- accountId: Account ID
- folder: Folder name (default: INBOX)
- from, to, subject, body: Search criteria
- since, before: Date filters
- seen, flagged: Status filters
- limit: Max results (default: 50)
```
- **imap_get_email**: Get full email content
```
Parameters:
- accountId: Account ID
- folder: Folder name
- uid: Email UID
- maxContentLength: Max characters for text/html body (default: 10000)
- includeAttachmentText: Include text attachment previews (default: true)
- maxAttachmentTextChars: Max characters per text attachment (default: 100000)
```
- **imap_get_latest_emails**: Get recent emails
```
Parameters:
- accountId: Account ID
- folder: Folder name (default: INBOX)
- count: Number of emails (default: 10)
```
- **imap_mark_as_read/unread**: Change email read status
```
Parameters:
- accountId: Account ID
- folder: Folder name
- uid: Email UID
```
- **imap_delete_email**: Delete an email
```
Parameters:
- accountId: Account ID
- folder: Folder name
- uid: Email UID
```
- **imap_move_email**: Move an email from one folder to another
```
Parameters:
- accountId: Account ID
- folder: Source folder name (default: INBOX)
- uid: Email UID
- targetFolder: Destination folder name
- createDestinationIfMissing: Create the destination folder if it does not exist (default: false)
```
- **imap_find_thread_messages**: Find inbox messages that belong to the same conversation threads as messages already sorted into another folder. Uses RFC 3501 HEADER search on In-Reply-To and References — works on any IMAP server.
```
Parameters:
- accountId: Account ID
- sourceFolder: Folder containing the already-sorted thread messages
- searchFolder: Folder to search for related messages (default: INBOX)
- searchReferences: Also match the References header for multi-level threads (default: true)
```
- **imap_download_attachment**: Download an email attachment (returns images inline, extracts text from PDFs, or saves to downloads directory)
```
Parameters:
- accountId: Account ID
- folder: Folder name (default: INBOX)
- uid: Email UID
- filename: Attachment filename or contentId
- savePath: Optional file path to save the attachment to
- extractText: For PDFs, extract and return text content inline (default: true)
```
- **imap_bulk_delete**: Delete multiple emails at once with chunking and auto-reconnection
```
Parameters:
- accountId: Account ID
- folder: Folder name (default: INBOX)
- uids: Array of email UIDs to delete
- chunkSize: Emails to delete per batch (default: 50)
```
- **imap_bulk_delete_by_search**: Search for emails matching criteria and delete them all
```
Parameters:
- accountId: Account ID
- folder: Folder name (default: INBOX)
- from, to, subject: Search criteria (optional)
- before, since: Date filters (optional)
- chunkSize: Emails to delete per batch (default: 50)
- dryRun: Preview what would be deleted without deleting (default: false)
```
- **imap_send_email**: Send a new email
```
Parameters:
- accountId: Account ID to send from
- to: Recipient email address(es)
- subject: Email subject
- text: Plain teWhat people ask about imap-mcp-server
What is nikolausm/imap-mcp-server?
+
nikolausm/imap-mcp-server is mcp servers for the Claude AI ecosystem. A powerful Model Context Protocol (MCP) server for IMAP email integration with Claude It has 44 GitHub stars and was last updated today.
How do I install imap-mcp-server?
+
You can install imap-mcp-server by cloning the repository (https://github.com/nikolausm/imap-mcp-server) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is nikolausm/imap-mcp-server safe to use?
+
Our security agent has analyzed nikolausm/imap-mcp-server and assigned a Trust Score of 79/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains nikolausm/imap-mcp-server?
+
nikolausm/imap-mcp-server is maintained by nikolausm. The last recorded GitHub activity is from today, with 2 open issues.
Are there alternatives to imap-mcp-server?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy imap-mcp-server to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/nikolausm-imap-mcp-server)<a href="https://claudewave.com/repo/nikolausm-imap-mcp-server"><img src="https://claudewave.com/api/badge/nikolausm-imap-mcp-server" alt="Featured on ClaudeWave: nikolausm/imap-mcp-server" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。