Server data from the Official MCP Registry
Multi-account email MCP server for Gmail, IMAP, and JMAP: search, send, drafts, labels.
Multi-account email MCP server for Gmail, IMAP, and JMAP: search, send, drafts, labels.
This is a well-architected MCP server for multi-account email access with strong security fundamentals: credentials are encrypted at rest (AES-256-GCM), SSRF protections are in place, and input validation is generally solid. However, there are moderate concerns around credential handling in memory, missing rate limiting implementation despite documentation claims, and some edge cases in input validation that could be tightened. The extensive permissions (network, file I/O, environment variables) are appropriate for an email server's stated purpose. Supply chain analysis found 4 known vulnerabilities in dependencies (1 critical, 0 high severity). Package verification found 1 issue.
4 files analyzed · 13 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.
Set these up before or after installing:
Environment variable: MAILBOX_MCP_PASSPHRASE
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-jgalea-mailbox-mcp": {
"env": {
"MAILBOX_MCP_PASSPHRASE": "your-mailbox-mcp-passphrase-here"
},
"args": [
"-y",
"mailbox-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
Give your AI tools access to your email. Search, read, send, and manage messages across multiple accounts without leaving your terminal.
mailbox-mcp is an MCP server that connects your email to Claude Code, Cursor, Windsurf, or any AI tool that supports the Model Context Protocol. Instead of switching between your terminal and Gmail, you ask the AI to find that invoice, summarize a thread, or draft a reply — and it does.
What makes this different from the 60+ other email MCP servers:
Add to your Claude Code MCP config (~/.claude.json). The package runs straight from npm via npx:
{
"mcpServers": {
"mailbox": {
"command": "npx",
"args": ["-y", "mailbox-mcp"],
"env": {
"MAILBOX_MCP_PASSPHRASE": "a-long-random-passphrase"
}
}
}
}
MAILBOX_MCP_PASSPHRASE is the passphrase used to encrypt IMAP/JMAP credentials at rest; it's required before adding an IMAP or JMAP account, and unused for Gmail-only setups.
git clone https://github.com/jgalea/mailbox-mcp.git
cd mailbox-mcp
npm install && npm run build
Then point the config at the build with "command": "node", "args": ["/path/to/mailbox-mcp/dist/server.js"].
@gmail.com address you use to authenticate, not a workspace alias)~/.mailbox-mcp/oauth-keys.jsonIn Claude Code, run: authenticate alias="personal" provider="gmail" email="you@gmail.com"
This opens a browser window to complete the OAuth flow. Your tokens are stored locally in ~/.mailbox-mcp/accounts/.
In Claude Code, run:
authenticate alias="work" provider="imap" email="you@company.com" host="imap.company.com" smtpHost="smtp.company.com" username="you@company.com" password="your-app-password"
Credentials are encrypted at rest using AES-256-GCM.
In Claude Code, run:
authenticate alias="fastmail" provider="jmap" email="you@fastmail.com" host="fastmail.com" username="you@fastmail.com" password="your-app-password"
JMAP auto-discovers the API endpoint via .well-known/jmap. Credentials are encrypted at rest using AES-256-GCM.
Supported JMAP servers: Fastmail, Stalwart, Topicbox, Cyrus IMAP, and any RFC 8620-compliant server.
JMAP advantages over IMAP:
| Tool | Description |
|---|---|
list_accounts | List configured accounts |
authenticate | Add a new account |
reauth | Re-run OAuth for an existing Gmail account (use when refresh token expires with invalid_grant) |
remove_account | Remove an account |
search_emails | Search messages (optional folder to scope the search) |
multi_account_search | Run the same query across every configured account in parallel |
read_email | Read a message |
read_thread | Read a conversation thread (Gmail + JMAP) |
send_email | Send a new email (supports attachments) |
reply_email | Reply to a message (supports attachments) |
forward_email | Forward a message (supports attachments) |
create_draft | Create a draft (supports reply drafts via in_reply_to, attachments) |
list_drafts | List drafts for an account |
send_draft | Send an existing draft |
trash_emails | Trash messages |
mark_read | Mark a message as read or unread |
star_email | Star or unstar a message |
archive_email | Archive a message (remove from inbox) |
list_labels | List labels/folders |
create_label | Create a label/folder |
delete_label | Delete a label/folder |
modify_email | Modify message labels |
batch_modify_emails | Bulk modify labels |
count_unread_by_label | Show unread message counts per label/folder |
download_attachment | Download an attachment |
export_email | Save a message as a .eml file |
export_thread | Save every message in a thread as .eml files (Gmail + JMAP) |
emails_since | List messages received after a given timestamp |
inbox_summary | Inbox overview |
| Tool | Description |
|---|---|
create_filter | Create a filter |
list_filters | List filters |
delete_filter | Delete a filter |
save_template | Save a template |
list_templates | List templates |
delete_template | Delete a template |
send_template | Send from template |
get_signature | Get signature |
set_signature | Update signature |
get_vacation | Get vacation settings |
set_vacation | Configure vacation reply (supports date ranges, domain-only) |
unsubscribe | Find unsubscribe link |
bulk_unsubscribe | Bulk unsubscribe |
list_send_as | List send-as aliases |
send_email, reply_email, forward_email, and create_draft accept an optional attachments parameter — an array of local file paths. The server reads each file, detects its MIME type from the extension, and embeds it in the outgoing message (or draft).
send_email account="personal" to=["friend@example.com"] subject="The report" body="See attached." attachments=["/path/to/report.pdf", "/path/to/chart.png"]
MIT
Built at AgentVania.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.