Server data from the Official MCP Registry
Connect your AI assistant to email — read, search, send, and organise via IMAP/SMTP.
Connect your AI assistant to email — read, search, send, and organise via IMAP/SMTP.
Mailbridge is a well-intentioned email MCP server with secure credential handling and appropriate permissions for its purpose. However, there are several code quality and input validation concerns that present moderate risks: incomplete error handling in IMAP operations, potential for path traversal in attachment handling, and insufficient validation of user inputs across multiple tools. The server's architecture is sound (OS keychain storage, no data exfiltration), but defensive coding practices need strengthening. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.
5 files analyzed · 16 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-creativestefan-mailbridge": {
"args": [
"-y",
"mailbridge-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
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.
https://github.com/Creativestefan/mailbridge-mcpOpen Mailbridge setup to open the setup portal and connect your email accountTo update later: Customize → Connectors → Browse Plugins → (...) button and Click Check for update
codex plugin marketplace add Creativestefan/mailbridge-mcp --ref main
codex plugin add mailbridge@mailbridge
Use Mailbridge to check my email connection.
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
{
"mcpServers": {
"mailbridge": {
"command": "npx",
"args": ["-y", "mailbridge-mcp@latest"]
}
}
}
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.
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"
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".
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.
Use your full email address and password. The mail server is usually mail.yourdomain.com — check your email provider's settings if unsure.
| 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 |
| Tool | Description |
|---|---|
get_attachments | List attachments with safety scan — no download |
read_attachment | Download and read an attachment after user approves |
| 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) |
| 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 |
| 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 |
| 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 |
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:
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".
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.
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:
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.
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 |
| Provider | IMAP | SMTP |
|---|---|---|
| iCloud | imap.mail.me.com:993 | smtp.mail.me.com:587 |
| Custom IMAP | Your mail server | Your mail server |
MIT — see LICENSE
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.