MailCatcher NG (Next Generation)
Catches mail and serves it through a dream.
MailCatcher NG runs a super simple SMTP server which catches any message sent to it to display in a web interface. Run mailcatcher, set your favourite app to deliver to smtp://127.0.0.1:1025 instead of your default SMTP server, then check out http://127.0.0.1:1080 to see the mail that's arrived so far.
Table of Contents
- Quick Start
- Features
- Claude Integration
- Documentation
- License
Quick Start
gem install mailcatcher-ngmailcatcher- Go to http://127.0.0.1:1080/
- Send mail through smtp://127.0.0.1:1025
Features
- Catches all mail and stores it for display
- Shows HTML, Plain Text, and Source versions of messages
- Rewrites HTML for safe display with embedded images
- Downloads original email to view in any mail client
- WebSockets real-time updates with automatic reconnection
- Runs as a daemon in the background, or in foreground mode
-
catchmailcommand for PHP and sendmail-compatible systems - Keyboard navigation between messages
- Email authentication verification (DMARC, DKIM, SPF)
- Email encryption & signature support (S/MIME, OpenPGP)
- BIMI (Brand Indicators for Message Identification) display
- Advanced preview text extraction with intelligent fallback
- Full UTF-8 and 8bit MIME transfer encoding support (SMTPUTF8, 8BITMIME)
- Multiple encoding support (7bit, 8bit, base64, quoted-printable)
- SSL/TLS encryption (STARTTLS & direct TLS/SMTPS)
- Charset preservation for international content
For a comprehensive list of all features, see FEATURES.md.
Claude Integration
MailCatcher NG integrates seamlessly with Claude through two complementary methods:
Claude Plugin (Easiest)
Use MailCatcher with Claude.com or Claude Desktop without any installation:
mailcatcher --plugin --foregroundThen add the plugin in Claude settings: http://localhost:1080/.well-known/ai-plugin.json
MCP Server (Programmatic)
Enable programmatic access via Model Context Protocol:
mailcatcher --mcp --foregroundConfigure in Claude Desktop's ~/.claude_desktop_config.json:
{
"mcpServers": {
"mailcatcher": {
"command": "mailcatcher",
"args": ["--mcp", "--foreground"]
}
}
}Available Tools
Both methods expose 7 powerful tools:
- search_messages - Full-text search with filtering
- get_latest_message_for - Find latest message for recipient
- extract_token_or_link - Extract OTPs, magic links, reset tokens
- get_parsed_auth_info - Structured authentication data
- get_message_preview_html - Responsive HTML preview
- delete_message - Delete specific message
- clear_messages - Delete all messages
See CLAUDE_INTEGRATION.md for complete setup and usage guide.
Documentation
Detailed documentation is organized by topic:
Get MailCatcher NG up and running. Covers gem installation, source compilation, Docker, and special scenarios like RVM and Bundler.
Learn how to run MailCatcher NG, command-line options, development mode, and web interface features.
Configure your framework (Rails, Django, PHP, Docker) to send mail through MailCatcher NG.
Programmatic access to messages. Query, download, and manage messages via HTTP.
SSL/TLS encryption, UTF-8 and international content, email authentication, and more.
Use MailCatcher NG as a Claude Plugin for natural language interactions with caught emails. Perfect for testing email workflows with Claude.
Configure MailCatcher NG as an MCP server for programmatic access via Claude Desktop and other MCP-compatible clients.
Deep dive into how the Claude Plugin and MCP integrations work, including protocol specifications, tool definitions, and extension points.
About MailCatcher NG and the original MailCatcher project.
License
MailCatcher NG is released under the MIT License, see LICENSE for details.
