
Mailbridge
- 2 repo stars
- Updated June 15, 2026
- Creativestefan/mailbridge-mcp
Mailbridge is an MCP server that connects your AI assistant to email over IMAP/SMTP for read, search, send, and organise workflows.
About
Mailbridge is an MCP server that turns a normal email account into tools your coding agent can call over stdio. developers and teams use it when they want the assistant to search threads, summarise unread mail, draft responses, or send messages without building a custom Gmail API integration. The npm-published mailbridge-mcp package targets Claude Code, Cursor, Codex, and other MCP clients that support local stdio servers. You supply IMAP and SMTP settings from your provider; the server exposes organise-and-send workflows rather than replacing a full mail client UI. It matters for operators who already live in the terminal and want email in the same loop as code changes, incident notes, or customer replies—without copying bodies into chat by hand.
- stdio npm package mailbridge-mcp v2.5.1 for local agent hosts
- Read, search, send, and organise messages over standard IMAP/SMTP
- Works with any MCP-compatible assistant instead of a one-off email skill
- Fits support triage, outbound lifecycle mail, and build-time notification bots
Mailbridge by the numbers
- Data as of Jul 7, 2026 (Skillselion catalog sync)
claude mcp add mailbridge-mcp -- npx -y mailbridge-mcpAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 2 |
|---|---|
| Package | mailbridge-mcp |
| Transport | STDIO |
| Auth | None |
| Last updated | June 15, 2026 |
| Repository | Creativestefan/mailbridge-mcp ↗ |
What it does
Wire Claude Code or Cursor to a real mailbox so the agent can triage inbox threads, draft replies, and send SMTP mail without leaving the editor.
Who is it for?
Best when you're automating inbox triage, follow-ups, or transactional sends from Claude Code or Cursor with your own mail credentials.
Skip if: Skip if you need Google Workspace OAuth-only admin controls, bulk marketing compliance, or a hosted inbox UI without self-managed IMAP/SMTP.
What you get
After you register mailbridge-mcp, your agent can query and act on live mail with the same tool-calling pattern as other MCP integrations.
- Registered stdio MCP server exposing email read, search, send, and organise tools
- Agent-callable mailbox workflows without a custom mail API layer
By the numbers
- Published as npm identifier mailbridge-mcp at version 2.5.1
- Transport type stdio per MCP server schema
README.md
Mailbridge MCP
Connect your AI assistant to your email — read, search, send, reply, organise, draft, schedule, and manage attachments from iCloud or any IMAP account. Works with Claude, OpenAI Codex, Cursor, Windsurf, and any MCP-compatible client.
Credentials are stored securely in your OS credential store (macOS Keychain, Windows Credential Manager, or Linux Keyring) — never in a file.
Features
Reading & Search
- Read emails — fetch inbox, any folder, with subject/sender/date
- Inbox digest — smart summary with priority scoring, categories, and action suggestions
- Search — find emails by keyword, sender, or subject
- Thread view — see the full conversation thread for any email
- Contact history — view all emails to/from a specific contact
- Unified inbox — merge multiple folders into one date-sorted view
- Priority scoring — every email is automatically scored 1–5 for urgency
- Auto-categorisation — emails are tagged Finance, Travel, Calendar, Newsletter, and more
Sending & Drafts
- Send & reply — compose new emails or reply with threading
- Send attachments — attach local files or inline content to any outgoing email
- Smart drafts — save emails locally for review before sending
- Email scheduling — schedule emails to send at a future time
- Read receipts — optionally request confirmation when a sent email is opened (recipient-dependent; see Read Receipts)
Organisation
- Bulk actions — mark, move, or delete multiple emails in one command
- Follow-up reminders — tag an email "remind me in 3 days" and it surfaces in your next digest
- Unsubscribe — auto-unsubscribe from mailing lists via List-Unsubscribe headers
- Email rules — define local rules to flag, categorise, or prioritise emails automatically
- Move, delete, mark — standard inbox management tools
Attachments & Content
- Read attachments — PDF, DOCX, TXT, JPG, PNG, MP3, MP4 and more
- Attachment safety — every attachment is scanned before download; dangerous file types are blocked
- Export email — export any email as clean Markdown
- Calendar extraction — pull event details (dates, times, locations) from emails and .ics files
Accounts
- Multiple accounts — connect and switch between accounts
- Secure credentials — passwords stored in OS keychain, never in plain text
Install
Claude Cowork
- Go to Customize → Connectors → Browse Plugins → "+" sign
- Add marketplace source:
https://github.com/Creativestefan/mailbridge-mcp - Start a new chat — and enter
Open Mailbridge setupto open the setup portal and connect your email account - For iCloud emails you will need to create an App specfic password to access your email securely. Using your real password will fail to authenicate.
- To reopen setup at any time: "open Mailbridge setup"
To update later: Customize → Connectors → Browse Plugins → (...) button and Click Check for update
OpenAI Codex
- Add the Mailbridge marketplace:
codex plugin marketplace add Creativestefan/mailbridge-mcp --ref main
- Install the plugin:
codex plugin add mailbridge@mailbridge
- Start a new Codex thread and test:
Use Mailbridge to check my email connection.
- If no account is connected yet:
Type "Open Mailbridge setup" and send.
The setup portal saves credentials directly to your OS credential store (macOS Keychain, Windows Credential Manager, or Linux Keyring).
To update later:
codex plugin marketplace upgrade
codex plugin add mailbridge@mailbridge
Cursor
- Open Cursor Settings → Tools & MCP
- Click Add MCP Server and paste:
{
"mcpServers": {
"mailbridge": {
"command": "npx",
"args": ["-y", "mailbridge-mcp@latest"]
}
}
}
- Fully quit and reopen Cursor (MCP servers only load at startup)
- Start a new chat and test:
Use Mailbridge to check my email connection.
If no account is connected yet, the setup portal opens automatically — or ask: "open email setup".
To update later: bump the version tag in your config to mailbridge-mcp@latest — it always pulls the newest release.
Via npm (any MCP client)
Add to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"mailbridge": {
"command": "npx",
"args": ["mailbridge-mcp"]
}
}
}
On first start, if no account is configured, the setup portal opens automatically in your browser. Fill in your email details — credentials are saved directly to your OS credential store and the portal closes. You only need to do this once.
To reopen setup at any time, ask your assistant: "open email setup"
Setup
On first install, a browser form opens automatically to connect your email account. Credentials go directly into your OS credential store on submit — nothing is written to a file.
To reopen setup at any time, just ask your assistant: "open email setup".
iCloud
You must use an App-Specific Password — your main Apple ID password will not work.
Go to account.apple.com → Sign-In & Security → App-Specific Passwords → +, name it "Mailbridge", and use the generated password.
Custom IMAP account
Use your full email address and password. The mail server is usually mail.yourdomain.com — check your email provider's settings if unsure.
Tools
Reading
| Tool | Description |
|---|---|
check_connection |
Test connection and show inbox stats |
read_emails |
Fetch emails from any folder (includes priority + category) |
get_email_body |
Get full body of an email by UID |
get_emails_with_preview |
Fetch emails with body snippets — used for inbox summaries |
search_emails |
Search by keyword, sender, or subject |
list_folders |
List all mailbox folders |
get_thread |
Fetch the full conversation thread for an email |
get_contact_history |
All emails to/from a specific contact |
unified_inbox |
Merge multiple folders into one sorted view |
export_email |
Export an email as clean Markdown |
extract_calendar_events |
Extract event details and parse .ics attachments |
Attachments
| Tool | Description |
|---|---|
get_attachments |
List attachments with safety scan — no download |
read_attachment |
Download and read an attachment after user approves |
Sending & Drafts
| Tool | Description |
|---|---|
send_email |
Compose and send a new email (optional file attachments) |
reply_to_email |
Reply to an existing email (optional file attachments) |
save_draft |
Save an email as a local draft |
list_drafts |
List saved drafts |
send_draft |
Send a saved draft by ID |
delete_draft |
Discard a saved draft |
schedule_email |
Schedule an email for future delivery |
list_scheduled |
List pending scheduled emails |
cancel_scheduled |
Cancel a scheduled email |
check_email_opens |
Scan the inbox for read-receipt confirmations and report opens |
list_tracked_emails |
Show tracked emails and their open status (no inbox scan) |
Organisation
| Tool | Description |
|---|---|
mark_as_read |
Mark email as read |
mark_as_unread |
Mark email as unread |
move_email |
Move email to another folder |
delete_email |
Move email to Trash |
bulk_mark_read |
Mark multiple emails as read |
bulk_mark_unread |
Mark multiple emails as unread |
bulk_move |
Move multiple emails to a folder |
bulk_delete |
Move multiple emails to Trash |
set_reminder |
Set a follow-up reminder on an email |
list_reminders |
View active reminders (overdue ones flagged) |
complete_reminder |
Mark a reminder as done |
unsubscribe_email |
Auto-unsubscribe via List-Unsubscribe header |
Rules
| Tool | Description |
|---|---|
add_rule |
Add a local rule to flag, categorise, or prioritise emails |
list_rules |
List all configured rules |
remove_rule |
Remove a rule by name |
apply_rules |
Dry-run rules against a set of emails |
Accounts
| Tool | Description |
|---|---|
list_accounts |
Show all connected accounts |
switch_account |
Switch active account |
add_account |
Add a new account via chat |
remove_account |
Remove an account (defaults to active) |
remove_all_accounts |
Disconnect and remove all accounts |
open_setup |
Open the setup portal to connect or add an account |
Inbox Summary
Ask your assistant "catch me up" or "what did I miss?" for a structured digest.
Every email now carries automatic priority scoring (1–5) and category tags so the digest is sorted instantly:
- 🔴 Action Required — priority 4–5 or keywords like "urgent", "deadline", "reply needed"
- 💰 Finance & Billing — invoices, payments, subscription renewals
- 📅 Events & Calendar — meeting invites, travel confirmations, RSVPs
- 📦 Updates & FYI — newsletters, notifications, low-priority
Follow-up reminders due today or overdue are surfaced at the top of every digest.
The digest closes with a suggested actions block — specific next steps like "unsubscribe from X", "set a reminder on Y", or "bulk archive the 8 newsletters".
Drafts & Scheduling
Save any email as a draft before sending:
"Draft a reply to this email — I'll review it first"
Schedule an email for later:
"Send this to john@example.com tomorrow at 9am"
Scheduled emails fire automatically on the next session start after the scheduled time.
Read Receipts
Ask Mailbridge to track when a sent email is opened:
"Send this to john@example.com and let me know when he opens it"
This sets request_receipt: true, which adds standard read-receipt headers (RFC 8098 / MDN) to the message. Later:
"Did John open my email?"
runs check_email_opens, which scans your inbox for the recipient's confirmation and reports who opened it and when.
How it actually works — and its limits:
- Mailbridge uses read-receipt headers, not tracking pixels. Nothing phones home to any server; the recipient's mail app asks them to confirm, and the confirmation comes back as a normal email that Mailbridge reads locally.
- A receipt only arrives if the recipient's client supports read receipts and the recipient agrees to send one. Apple Mail and Thunderbird prompt for this; Gmail's web app ignores it.
- No receipt does not mean the email was unread. An "awaiting" status simply means no confirmation has come back — it is not proof of anything.
- This is intentionally the privacy-respecting approach: no invisible pixels, no third-party trackers, no data leaving your device.
Email Rules
Define local rules that apply automatically during inbox summaries:
"Flag all emails from boss@company.com as urgent" "Categorise anything from billing@stripe.com as Finance" "Set priority 5 on emails with 'invoice due' in the subject"
Rules are stored locally — they work without any server-side filtering.
Attachments
Mailbridge scans every attachment before downloading:
| Safety | Meaning |
|---|---|
| ✅ Safe | Known safe file type, extension matches MIME type |
| ⚠️ Warning | Unrecognised extension or MIME mismatch — will not auto-download |
| 🚫 Blocked | Executable or script file — refused outright (.exe, .bat, .ps1, .sh, .jar, etc.) |
Supported file types:
| Type | What happens |
|---|---|
| Text extracted and displayed | |
| DOCX | Text extracted and displayed |
| TXT, CSV, MD | Displayed as plain text |
| JPG, PNG, GIF, WebP | Displayed inline — the AI can see and describe the image |
| MP3, MP4, WAV, M4A | Saved to temp path — pass to a transcription plugin |
Supported Providers
| Provider | IMAP | SMTP |
|---|---|---|
| iCloud | imap.mail.me.com:993 |
smtp.mail.me.com:587 |
| Custom IMAP | Your mail server | Your mail server |
Security
- Passwords are stored exclusively in the OS credential store — never written to any file
- The setup portal is a one-time browser form — it starts, collects your credentials, saves them to your OS keychain, then shuts down automatically
- All IMAP and SMTP connections use SSL/TLS
- Attachments are scanned before download — executables and scripts are always blocked
- No data is sent to any Mailbridge server — everything runs locally on your device
License
MIT — see LICENSE
Legal
Recommended MCP Servers
How it compares
MCP email bridge over IMAP/SMTP, not a packaged CRM or lifecycle email SaaS.
FAQ
Who is Mailbridge for?
Developers and small teams who want their MCP agent to work with a standard mailbox via IMAP and SMTP.
When should I use Mailbridge?
Use it when you are wiring agent tooling during Build—or later for support and lifecycle mail—and need search, read, send, and organise without custom API code.
How do I add Mailbridge to my agent?
Install the npm package mailbridge-mcp, configure stdio transport in your MCP client, and provide your IMAP/SMTP host, user, and app password settings.