About maildev-mcp
maildev-mcp lets an MCP client manage MailDev Docker containers and inspect received emails. It is intended for local development and automated email testing, including attachment verification.
Key features
- 01Start and stop MailDev containers
- 02List, search, and inspect emails
- 03Wait for matching incoming email
- 04Read HTML bodies and attachments
- 05Verify attachment bytes against source data
Use cases
- 01Check email output during local development
- 02Wait for asynchronous email delivery in tests
- 03Validate received attachment integrity
MCP support
This MCP server exposes tools to control MailDev containers and access their email contents through an MCP client.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMailDevMcp
English | 日本語
mcp-name: io.github.pierre3/maildev-mcp
An MCP (Model Context Protocol) server for MailDev.
Manage MailDev Docker containers and inspect received emails directly from your AI-powered editor or MCP client.
This server is intended for local development and test automation scenarios where an MCP client needs to:
- start or stop a MailDev container
- inspect inbox contents
- wait for emails after triggering application behavior
- inspect HTML bodies and attachments
- verify attachment integrity byte-for-byte
Installation
Install as a global .NET tool:
dotnet tool install -g MailDevMcp
After installation, the maildev-mcp command becomes available.
MCP Client Configuration
Add the following to your MCP client settings (e.g. Claude Desktop, VS Code, etc.):
{
"mcpServers": {
"maildev-mcp": {
"command": "maildev-mcp",
"env": {
"MAILDEV_API_PORT": "1080"
}
}
}
}
Environment Variables
| Variable | Default | Description |
|---|---|---|
MAILDEV_API_PORT | 1080 | Port number for the MailDev REST API |
Typical Workflow
- Call
StartMaildevto launch a local MailDev container - Trigger your application to send an email
- Call
WaitForEmailif delivery is asynchronous - Use
ListEmails,SearchEmails, orGetEmailto inspect the result - Use
GetEmailHtml,GetAttachmentContent, orVerifyAttachmentwhen deeper validation is needed - Clean up with
DeleteEmail,DeleteAllEmails, orStopMaildev
Available Tools
| Tool | Description |
|---|---|
StartMaildev | Start the MailDev Docker container with configurable SMTP port, API port, authentication, and TLS |
StopMaildev | Stop and remove the MailDev Docker container |
MaildevStatus | Check the running status of MailDev |
ListEmails | Retrieve the list of received emails |
GetEmail | Get the details of an email by ID, including attachment information |
GetEmailHtml | Get the HTML body of an email by ID |
SearchEmails | Search received emails by subject, sender, or recipient |
DeleteEmail | Delete a single email by ID |
DeleteAllEmails | Delete all received emails |
WaitForEmail | Wait until a new email matching given criteria arrives (useful for test automation) |
GetAttachmentContent | Get the raw Base64-encoded content of an email attachment |
VerifyAttachment | Verify that an email attachment matches the original data by byte-by-byte comparison |
Tool Behavior Notes
StartMaildev- Supports custom SMTP and API ports
- Supports optional SMTP authentication
- Treats empty or whitespace-only credentials as authentication disabled
- Supports TLS with a generated self-signed certificate
GetEmailandListEmails- Render missing or empty subjects as
(no subject) - Render missing address lists as
(none)
- Render missing or empty subjects as
WaitForEmail- Polls MailDev until a matching email arrives or the timeout is reached
- Reports transient MailDev connection failures in the returned message when they occur during polling
VerifyAttachment- Accepts a Base64-encoded original payload
- Compares the received attachment byte-by-byte
- Reports either exact match, size mismatch, or content mismatch
Requirements and Assumptions
- Docker must be installed and available on the same machine where this MCP server runs
- MailDev is accessed through its HTTP API on
localhost - The configured API port in the MCP client must match the MailDev API port exposed by Docker
Prerequisites
- .NET 10 SDK or later
- Docker (for running the MailDev container)
Building from Source
git clone https://github.com/pierre3/MailDevMcp.git
cd MailDevMcp
dotnet pack -c Release
dotnet tool install -g --add-source ./bin/Release MailDevMcp
License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.