Email MCP server with full IMAP + SMTP support — read, search, send, manage, and organize email from any AI assistant via the Model Context Protocol
claude mcp add --transport stdio codefuturist-email-mcp npx -y @codefuturist/email-mcp stdio
How to use
This MCP server exposes a comprehensive email automation and management platform for AI assistants. It provides multi-account IMAP/SMTP access with features such as reading, searching, sending, scheduling, labeling, analytics, and real-time IMAP IDLE watching, all via the MCP protocol. The server exposes a large set of tools (47 tools, 7 prompts, and 6 resources) with OAuth2 support (experimental) and a guided setup workflow, enabling AI agents to operate across multiple email providers with provider-aware behavior. To start using it, configure the MCP client to connect to the server (for example with Claude Desktop, VS Code, Cursor, Windsurf, Zed, Mistral Vibe, or other MCP clients), and use the provided setup workflow to add accounts, test connections, and generate client snippets. You can also run the server locally via npx, install it globally, or deploy via Docker as described in the installation notes.
How to install
Prerequisites:
- Node.js 22 or newer
- Optional: Docker if you prefer containerized deployment
Installation options:
- Run directly (no install needed)
npx @codefuturist/email-mcp setup
- Use pnpm if you prefer dlx
pnpm dlx @codefuturist/email-mcp setup
- Install globally (Node.js environment required)
npm install -g @codefuturist/email-mcp
# or with pnpm
pnpm add -g @codefuturist/email-mcp
- Docker (no Node.js required):
# Pull the latest image
docker pull ghcr.io/codefuturist/email-mcp:latest
# Run with mounted config (example)
docker run --rm -i \
-v ~/.config/email-mcp:/home/node/.config/email-mcp:ro \
ghcr.io/codefuturist/email-mcp
Notes:
- The server is designed to be run as a stdio-based MCP service; config should be created on the host and mounted into containers when using Docker.
- For configuration folders, the project uses the XDG TOML config at ~/.config/email-mcp/config.toml by default.
Additional notes
Tips and common considerations:
- The MCP server supports multiple accounts across providers (Gmail, Microsoft 365, etc.) with OAuth2 (experimental) and a guided setup wizard to auto-detect settings.
- Environment variables can be used to pass accounts directly to some clients/configs (examples show EMAIL_ACCOUNTS in docs). When using integrations or Vibe/Cursor/Claude, you can mount credentials via env in your MCP client config.
- The server communicates over the stdio transport for MCP clients. When using Docker, mount your config directory read-only to ensure security.
- If you encounter issues, ensure Node.js version compatibility, verify that the config is accessible to the MCP server, and confirm network access to email providers (OAuth2 setup may require additional permissions).
- The README mentions TLS/STARTTLS encryption for connections and rate limiting; these features should be configured per account in the setup wizard or config file.
Related MCP Servers
Remote
A type-safe solution to remote MCP communication, enabling effortless integration for centralized management of Model Context.
boilerplate
TypeScript Model Context Protocol (MCP) server boilerplate providing IP lookup tools/resources. Includes CLI support and extensible structure for connecting AI systems (LLMs) to external data sources like ip-api.com. Ideal template for creating new MCP integrations via Node.js.
crash
MCP server for structured and efficient reasoning with step validation, branching, and revisions.
mobile
A Model Context Protocol (MCP) server that provides mobile automation capabilities.
mcp-tasks
A comprehensive and efficient MCP server for task management with multi-format support (Markdown, JSON, YAML)
asterisk
Asterisk Model Context Protocol (MCP) server.