Mailoo - Email MCP Server runs on your own machine — the client starts it, so there is no endpoint to ping. 720 installs a week from npm. Last commit 5 Nov 2026.
Email MCP server for AI agents: IMAP/SMTP, Gmail, Outlook, calendar, ManageSieve, AI triage, OAuth2.
We read the source, 2 d ago · rules 995398eba69f
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
execFile(bin, [cmd], { timeout: 3000 }, (err) => {
const current = path.join(parent, part);
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add mailoo -e 'MCP_EMAIL_ADDRESS=<MCP_EMAIL_ADDRESS>' -e 'MCP_EMAIL_IMAP_HOST=<MCP_EMAIL_IMAP_HOST>' -e 'MCP_EMAIL_SMTP_HOST=<MCP_EMAIL_SMTP_HOST>' -- npx -y @bitfloo/mailoo
{
"mcpServers": {
"mailoo": {
"command": "npx",
"args": [
"-y",
"@bitfloo/mailoo"
],
"env": {
"MCP_EMAIL_ADDRESS": "<MCP_EMAIL_ADDRESS>",
"MCP_EMAIL_IMAP_HOST": "<MCP_EMAIL_IMAP_HOST>",
"MCP_EMAIL_SMTP_HOST": "<MCP_EMAIL_SMTP_HOST>"
}
}
}
}
[mcp_servers.mailoo]
command = "npx"
args = ["-y", "@bitfloo/mailoo"]
env = { MCP_EMAIL_ADDRESS = "<MCP_EMAIL_ADDRESS>", MCP_EMAIL_IMAP_HOST = "<MCP_EMAIL_IMAP_HOST>", MCP_EMAIL_SMTP_HOST = "<MCP_EMAIL_SMTP_HOST>" }
{
"mcpServers": {
"mailoo": {
"command": "npx",
"args": [
"-y",
"@bitfloo/mailoo"
],
"env": {
"MCP_EMAIL_ADDRESS": "<MCP_EMAIL_ADDRESS>",
"MCP_EMAIL_IMAP_HOST": "<MCP_EMAIL_IMAP_HOST>",
"MCP_EMAIL_SMTP_HOST": "<MCP_EMAIL_SMTP_HOST>"
}
}
}
}
{
"servers": {
"mailoo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bitfloo/mailoo"
],
"env": {
"MCP_EMAIL_ADDRESS": "<MCP_EMAIL_ADDRESS>",
"MCP_EMAIL_IMAP_HOST": "<MCP_EMAIL_IMAP_HOST>",
"MCP_EMAIL_SMTP_HOST": "<MCP_EMAIL_SMTP_HOST>"
}
}
}
}
Put your own values in place of
<MCP_EMAIL_ADDRESS> (Email address. Required for the environment-variable account), <MCP_EMAIL_IMAP_HOST> (IMAP server hostname), <MCP_EMAIL_SMTP_HOST> (SMTP server hostname).
The author’s registry entry marks them as required.
Optional settings from the registry entry, left out of the block above:
MCP_EMAIL_PASSWORD (Password or app password. Required unless MCP_EMAIL_OAUTH2_PROVIDER is set), MCP_EMAIL_ACCOUNT_NAME (Account name. Defaults to default), MCP_EMAIL_FULL_NAME (Display name on sent mail), MCP_EMAIL_USERNAME (Login username. Defaults to the email address), MCP_EMAIL_IMAP_PORT (IMAP port. Defaults to 993), MCP_EMAIL_IMAP_TLS (Set to false to turn off implicit IMAP TLS. Defaults to true), MCP_EMAIL_IMAP_STARTTLS (Set to true to upgrade IMAP with STARTTLS. Defaults to false), MCP_EMAIL_IMAP_VERIFY_SSL (Set to false to skip IMAP certificate verification. Defaults to true), MCP_EMAIL_IMAP_DISABLE_IMAP4REV2 (Set to true to force IMAP4rev1 SEARCH), MCP_EMAIL_SIEVE_HOST (ManageSieve hostname. Defaults to the IMAP host), MCP_EMAIL_SIEVE_PORT (ManageSieve port. Defaults to 4190), MCP_EMAIL_SMTP_PORT (SMTP port. Defaults to 465), MCP_EMAIL_SMTP_TLS (Set to false to turn off implicit SMTP TLS. Defaults to true), MCP_EMAIL_SMTP_STARTTLS (Set to true to upgrade SMTP with STARTTLS. Defaults to false), MCP_EMAIL_SMTP_VERIFY_SSL (Set to false to skip SMTP certificate verification. Defaults to true), MCP_EMAIL_SMTP_POOL_ENABLED (Set to false to disable SMTP connection pooling. Defaults to true), MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS (Maximum pooled SMTP connections. Defaults to 1), MCP_EMAIL_SMTP_POOL_MAX_MESSAGES (Maximum messages per pooled SMTP connection. Defaults to 100), MCP_EMAIL_OAUTH2_PROVIDER (OAuth2 provider: google, microsoft, or custom. Configure custom in the config file: an account in the environment replaces the config file, so custom set here has no token_url or auth_url), MCP_EMAIL_OAUTH2_CLIENT_ID (OAuth2 client id), MCP_EMAIL_OAUTH2_CLIENT_SECRET (OAuth2 client secret), MCP_EMAIL_OAUTH2_REFRESH_TOKEN (OAuth2 refresh token), MCP_EMAIL_RATE_LIMIT (Maximum sends per minute. Defaults to 10), MCP_EMAIL_READ_ONLY (Set to true to omit write tools and mailbox writers), MCP_EMAIL_SAVE_TO_SENT (Set to false to skip the IMAP Sent copy after SMTP. Defaults to true), MCP_EMAIL_WATCHER_ENABLED (Set to true to start the IMAP IDLE watcher), MCP_EMAIL_WATCHER_FOLDERS (Comma-separated folders to watch. Defaults to INBOX), MCP_EMAIL_WATCHER_IDLE_TIMEOUT (IMAP IDLE timeout in seconds. Defaults to 1740), MCP_EMAIL_HOOK_ON_NEW_EMAIL (What to do on arrival: triage, notify, or none), MCP_EMAIL_HOOK_PRESET (Hook preset: inbox-zero, gtd, priority-focus, notification-only, or custom), MCP_EMAIL_HOOK_AUTO_LABEL (Set to true to apply labels from hook triage), MCP_EMAIL_HOOK_AUTO_FLAG (Set to true to flag mail from hook triage), MCP_EMAIL_HOOK_BATCH_DELAY (Seconds to batch arrivals before hooks run. Defaults to 5), MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS (Extra instructions appended to the hook preset), MCP_EMAIL_ALERT_DESKTOP (Set to true for desktop notifications), MCP_EMAIL_ALERT_SOUND (Set to true to play a sound with desktop notifications), MCP_EMAIL_ALERT_URGENCY_THRESHOLD (Minimum urgency for an alert: urgent, high, normal, or low), MCP_EMAIL_ALERT_WEBHOOK_URL (HTTP or HTTPS URL that receives alert POSTs), MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE (Set to true to allow webhook targets on a LAN, VPN, or tailnet), MCP_EMAIL_HOOK_AUTO_CALENDAR (Set to true to create calendar events from hook triage), MCP_EMAIL_HOOK_CALENDAR_NAME (Calendar name for automatic events), MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES (Minutes before an automatic event to alarm. Defaults to 15), MCP_EMAIL_HOOK_CALENDAR_CONFIRM (Set to false to skip confirming automatic calendar events. Defaults to true), MCP_EMAIL_SYSTEM_ONE_ENABLED (Set to true to classify residue mail with System One. Off by default), MCP_EMAIL_HTTP_HOST (HTTP listen address. Defaults to loopback. The host argument wins), MCP_EMAIL_HTTP_TOKEN (Bearer token. Required when the HTTP listen address is not loopback or MCP_EMAIL_HTTP_ALLOWED_HOSTS lists a non-loopback name), MCP_EMAIL_HTTP_ALLOWED_HOSTS (Comma-separated Host names. Required for 0.0.0.0 and ::), MCP_EMAIL_DEFAULT_ACCOUNT (Default account name or email address when the account parameter is omitted), MCP_EMAIL_TOOLSET (Toolset profile to register: full, core, or minimal. Defaults to full).
MCP server for Aruba email and calendar via IMAP/SMTP/CalDAV
Microsoft Calendar (Outlook Calendar) MCP server for managing events via Microsoft Graph.
MCP server for Open-Xchange: email (IMAP/SMTP), Sieve filters, CalDAV calendar, CardDAV contacts
Microsoft Outlook MCP server — 22 tools for email, calendar, contacts, and mailbox management.
Email IMAP/SMTP MCP server: iCloud, Gmail, Yahoo, Outlook, and custom IMAP providers
Unified MCP server for Email, Calendar & Contacts (Google, M365, Zoho, IMAP/SMTP, DAV).
Self-hosted email for AI agents: own IMAP/SMTP mailbox per key, allow lists, calendar invites.
Never-stored live email: read, send and triage Gmail, Outlook / Microsoft 365, or any IMAP mailbox.
Answers built from our own checks of this server.