Mailoo β IMAP/SMTP MCP server. Multi-account, per-folder profiles.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Mailoo is Bitfloo's IMAP, SMTP, and ManageSieve MCP server: multi-mailbox, with profiles per account and per folder.
This is a public LGPL-3.0-or-later fork of email-mcp. It is not an official codefuturist project. See Upstream / Attribution.
Enables AI assistants to read, search, send, manage, schedule, and analyze emails across multiple accounts. Exposes 56 tools, 7 prompts, and 6 resources over the MCP protocol with OAuth2 support (experimental), email scheduling, calendar extraction, analytics, provider-aware label management, real-time IMAP IDLE watcher with AI-powered triage, customizable presets and static rules, ManageSieve filters, and a guided setup wizard.
Behaviour for Sent copies, IMAP4rev2, Sieve, attachment savePath, and read-only side effects is documented in docs/configuration.md and docs/tools.md.
| Feature | In this tree |
|---|---|
| Multi-account IMAP/SMTP | β |
| Send / reply / forward | β |
| Drafts & templates | β |
| Provider-aware labels & bulk ops | β |
| Schedule future emails | β |
| Real-time IMAP IDLE watcher | β |
| AI triage with presets | β |
| Desktop & webhook alerts | β |
| Calendar (ICS) extraction | β |
| Email analytics | β |
| OAuth2 (Gmail / M365) | β experimental |
| Guided setup wizard | β |
| ManageSieve (server-side filters) | β |
| Sender auth headers (SPF/DKIM/DMARC) | β |
Policy and how to report a vulnerability: SECURITY.md.
tls is implicit TLS; starttls fails the connection when the server offers no STARTTLS. With both false, IMAP and SMTP differ β see Security considerations.src/safety/audit.ts) β SECURITY.mdrate_limit (default 10 per minute) sizes a separate send bucket for each account (src/config/schema.ts)savePath writes a new file only under a specific working directory β Security considerations| Topic | Where |
|---|---|
Sent APPEND, IMAP4rev2, Sieve, read_only, stdio EOF | docs/configuration.md |
savePath, search dates, get_email_security, sieve tools, send/draft attachments, RFC 2047 | docs/tools.md |
| Performance notes | docs/performance-roadmap.md |
Most MCP email implementations provide only basic read/send. This server aims to be a full-featured email client for AI assistants, covering the entire lifecycle: reading, composing, managing, scheduling, and analyzing email β all from a single MCP server.
Key design decisions:
~/.config/mailoo/config.tomlRequires Node.js β₯ 24.
That writes the local config and prints an MCP client snippet. The same package runs the server and the other commands:
npx -y @bitfloo/mailoo with no subcommand starts the MCP server over stdio. Or install the mailoo command:
Building this repository needs pnpm 9:
The running image needs Docker, not Node on the host. Create the config first with npx -y @bitfloo/mailoo setup (or write the TOML by hand), then mount that directory into the container.
The image is ghcr.io/bitfloo/mailoo. Tags are bare semver (no v prefix), for example ghcr.io/bitfloo/mailoo:0.1.5. Anonymous pull is not available, so build locally (docker-compose.yml uses build: .):
Note: The server uses stdio transport. Config is created on the host (
npx -y @bitfloo/mailoo setup, or a hand-written TOML) and mounted into the container.
Commands below use npx -y @bitfloo/mailoo. A global install accepts the same subcommands as mailoo. From a clone, after pnpm build, those subcommands are node dist/main.js (see From a clone).
The setup wizard auto-detects server settings, tests connections, saves config, and outputs the MCP client config snippet.
npx -y @bitfloo/mailoo test / mailoo test is a live-account connection probe, not Vitest. Unit and integration tests are pnpm test / pnpm test:integration (see Contributing).
Run the guided installer, or paste a snippet below. There is no VS Code / MCP gallery listing.
The installer can register an npx, pnpm dlx, or global mailoo launch. A mailoo binary already on PATH can use "command": "mailoo" with "args": ["stdio"].
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Mailoo is not in the VS Code Extensions gallery. Point Copilot at the npx launch below.
Workspace (.vscode/mcp.json):
User config (settings.json, all workspaces):
Open the Command Palette β Preferences: Open User Settings (JSON) and add:
Edit ~/.cursor/mcp.json:
Edit ~/.codeium/windsurf/mcp_config.json:
Edit ~/.config/zed/settings.json:
Add to ~/.vibe/config.toml:
To pass credentials directly instead of using a config file, use the env field:
MCP tools are exposed as mailoo_<tool_name> (e.g. mailoo_list_emails). Restart Vibe after editing the config.
Run the server in a container β mount your config directory read-only. The image is ghcr.io/bitfloo/mailoo. Anonymous pull is not available, so build first (docker build -t ghcr.io/bitfloo/mailoo .):
For MCP client configuration (e.g. Claude Desktop):
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mailoo)<a href="https://allmcps.com/mcp/mailoo"><img src="https://allmcps.com/api/badge/mailoo?style=directory" alt="Mailoo on AllMCPs" /></a>