SMTP runs on your own machine — the client starts it, so there is no endpoint to ping. 63 installs a week from npm. Last commit 16 Sep 2026.
MCP server that sends mail over SMTP, gated behind an allowlist and a human confirmation
Today is the operative word: we check SMTP every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add smtp-mcp -- npx -y @ni-c/smtp-mcp
{
"mcpServers": {
"smtp-mcp": {
"args": [
"-y",
"@ni-c/smtp-mcp"
],
"command": "npx"
}
}
}
[mcp_servers.smtp-mcp]
command = "npx"
args = ["-y", "@ni-c/smtp-mcp"]
{
"mcpServers": {
"smtp-mcp": {
"args": [
"-y",
"@ni-c/smtp-mcp"
],
"command": "npx"
}
}
}
{
"mcpServers": {
"smtp-mcp": {
"args": [
"-y",
"@ni-c/smtp-mcp"
],
"command": "npx"
}
}
}
This one needs environment variables set before it will start:
SMTP_HOST (Hostname of the SMTP server, e.g. smtp.example.net.), SMTP_PORT (Port. Defaults to 587 for starttls, 465 for implicit, 25 for none.), SMTP_TLS (starttls (default), implicit or none. STARTTLS is required, never opportunistic.), SMTP_USER (Username for SMTP authentication.), SMTP_PASSWORD (Password or app-specific password for SMTP authentication.), SMTP_FROM (The only sender this server will use, e.g. "Name <[email protected]>". There is no from parameter.), SMTP_REPLY_TO (Reply-To header on every message, e.g. "Team <[email protected]>". Unset means no Reply-To header and replies go to SMTP_FROM. There is no reply_to parameter.), SMTP_ALLOW_SEND (Set to "true" to register the sending tools. Defaults to false: the server cannot send until it is set.), SMTP_ALLOWED_RECIPIENTS (Comma-separated addresses and @domains this server may write to. Required with SMTP_ALLOW_SEND=true; "*" allows any.), SMTP_MAX_RECIPIENTS (Maximum distinct recipients across To, Cc and Bcc in one message. Default 10.), SMTP_MAX_SENDS_PER_HOUR (Sliding hourly cap on messages sent. Default 20.), SMTP_MAX_MESSAGE_BYTES (Maximum size of the composed message. Default 10485760.), SMTP_MAX_ATTACHMENT_BYTES (Maximum size of a single attachment. Default 5242880.), SMTP_ATTACHMENT_DIR (Directory attachments are read from. Unset means attachments are unavailable.), SMTP_ATTACHMENT_TYPES (Comma-separated content types that may be attached. Defaults to a document and image allowlist.), SMTP_SIGNATURE (Text appended below the standard signature delimiter of every message.), SMTP_AUDIT_LOG (File the audit lines are appended to, in addition to stderr.), SMTP_ALLOW_TOOLS (Comma-separated tool names, a prefix with one trailing *, or "essential" for the curated preset.), SMTP_DENY_TOOLS (Comma-separated tool names or prefixes to remove, applied after SMTP_ALLOW_TOOLS.), SMTP_INSECURE_TLS (Set to "true" to accept self-signed certificates. Prefer a proper internal CA.).
The author declared them in the registry entry; get the values from the project itself.
Governance proxy for MCP servers: allowlist, forced dry run, human confirmation, blast radius, audit
Sophisticated bash command MCP server that runs and manages shell execution.
Site Investigation Cost: the site's own MCP server — enquiry (enquiry = a human handoff, not a...
Self-hosted AI gateway that governs MCP servers, LLM traffic, and A2A agents behind one endpoint
CCTV Installation Cost: the site's own MCP server — enquiry (enquiry = a human handoff, not a...
Tax Investigation Cost: the site's own MCP server — enquiry (enquiry = a human handoff, not a...
M365 Migration Cost: the site's own MCP server — enquiry (enquiry = a human handoff, not a...
Self-hosted MCP server for unified IMAP/SMTP mailbox access: read, list, and send email.
Answers built from our own checks of this server.