Maildev Mcp

io.github.pierre3Published by GitHub account pierre3v1.0.1Updated Oct 24, 2026

MailDev MCP server. Manage Docker containers and inspect emails from your AI editor or MCP client.

Overview

AI-generated overview

A local MCP server for MailDev that lets an assistant start and stop a MailDev Docker container and inspect, search, wait for and verify the emails it receives.

What you can do
Start, stop and check the status of a local MailDev Docker container, with configurable SMTP and API ports, optional SMTP authentication and TLS with a self-signed certificate. List, search and read received emails by subject, sender or recipient, including HTML bodies and attachment details. Wait for a matching email to arrive, useful after triggering an application to send mail. Delete single emails or clear the whole inbox. Fetch attachment content as Base64 and verify an attachment byte-for-byte against an original payload.
When to use it
Local development and test automation where an assistant needs to drive a MailDev instance: start it, trigger an app to send mail, wait for delivery, then inspect or validate the message and its attachments. Not intended for production mail handling.
Requirements
Runs as a local process; the package is a .NET global tool requiring the .NET 10 SDK or later. Docker must be installed and available on the same machine. MailDev is reached over its HTTP API on localhost; the MAILDEV_API_PORT environment variable sets the API port (default 1080) and must match the port exposed by Docker.
Before you install
StartMaildev can create and remove Docker containers and accepts optional SMTP credentials; empty or whitespace-only credentials are treated as authentication disabled. DeleteEmail and DeleteAllEmails permanently remove messages from the inbox. TLS uses a generated self-signed certificate, so clients may not trust it.

Installation

In SourceWeft

  1. Open Maildev Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

MailDevMcp

English | 日本語

[CI] [NuGet]

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:

sh
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.):

json
{  "mcpServers": {    "maildev-mcp": {      "command": "maildev-mcp",      "env": {        "MAILDEV_API_PORT": "1080"      }    }  }}

Environment Variables

VariableDefaultDescription
MAILDEV_API_PORT1080Port number for the MailDev REST API

Typical Workflow

  1. Call StartMaildev to launch a local MailDev container
  2. Trigger your application to send an email
  3. Call WaitForEmail if delivery is asynchronous
  4. Use ListEmails, SearchEmails, or GetEmail to inspect the result
  5. Use GetEmailHtml, GetAttachmentContent, or VerifyAttachment when deeper validation is needed
  6. Clean up with DeleteEmail, DeleteAllEmails, or StopMaildev

Available Tools

ToolDescription
StartMaildevStart the MailDev Docker container with configurable SMTP port, API port, authentication, and TLS
StopMaildevStop and remove the MailDev Docker container
MaildevStatusCheck the running status of MailDev
ListEmailsRetrieve the list of received emails
GetEmailGet the details of an email by ID, including attachment information
GetEmailHtmlGet the HTML body of an email by ID
SearchEmailsSearch received emails by subject, sender, or recipient
DeleteEmailDelete a single email by ID
DeleteAllEmailsDelete all received emails
WaitForEmailWait until a new email matching given criteria arrives (useful for test automation)
GetAttachmentContentGet the raw Base64-encoded content of an email attachment
VerifyAttachmentVerify 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
  • GetEmail and ListEmails
    • Render missing or empty subjects as (no subject)
    • Render missing address lists as (none)
  • 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

Building from Source

sh
git clone https://github.com/pierre3/MailDevMcp.gitcd MailDevMcpdotnet pack -c Releasedotnet tool install -g --add-source ./bin/Release MailDevMcp

License

MIT

Source: README.md at commit 15c2a39

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts