Developer · Local MCP server

SMTP

MCP server that sends mail over SMTP, gated behind an allowlist and a human confirmation.

Visit SMTP's website

What the MCP Registry states

The entry as published to the official MCP Registry (read 2026-10-04), latest version.

Registry name
io.github.ni-c/smtp-mcp
Version
0.2.0
Status
Active
Category
developer
Transport
stdio (local process)
Package
npm, OCI image (Docker)
Published
2026-09-07
Updated
2026-09-07
Publisher
ni-c (GitHub) · 18 servers with pages here
Website
smtp-mcp.ni-c.de
Repository
github.com/ni-c/smtp-mcp
Source
Registry API entry

Packages

RegistryPackageVersionTransportEnvironment variables
npm@ni-c/smtp-mcp0.2.0stdioSMTP_HOST (required), SMTP_PORT, SMTP_TLS, SMTP_USER (required), SMTP_PASSWORD (required, secret), SMTP_FROM (required), SMTP_REPLY_TO, SMTP_ALLOW_SEND, SMTP_ALLOWED_RECIPIENTS, SMTP_MAX_RECIPIENTS, SMTP_MAX_SENDS_PER_HOUR, SMTP_MAX_MESSAGE_BYTES, SMTP_MAX_ATTACHMENT_BYTES, SMTP_ATTACHMENT_DIR, SMTP_ATTACHMENT_TYPES, SMTP_SIGNATURE, SMTP_AUDIT_LOG, SMTP_ALLOW_TOOLS, SMTP_DENY_TOOLS, SMTP_INSECURE_TLS
OCI image (Docker)ghcr.io/ni-c/smtp-mcp:0.2.0—stdioSMTP_HOST (required), SMTP_PORT, SMTP_TLS, SMTP_USER (required), SMTP_PASSWORD (required, secret), SMTP_FROM (required), SMTP_REPLY_TO, SMTP_ALLOW_SEND, SMTP_ALLOWED_RECIPIENTS, SMTP_MAX_RECIPIENTS, SMTP_MAX_SENDS_PER_HOUR, SMTP_MAX_MESSAGE_BYTES, SMTP_MAX_ATTACHMENT_BYTES, SMTP_ATTACHMENT_DIR, SMTP_ATTACHMENT_TYPES, SMTP_SIGNATURE, SMTP_AUDIT_LOG, SMTP_ALLOW_TOOLS, SMTP_DENY_TOOLS, SMTP_INSECURE_TLS

How to connect SMTP

SMTP runs locally from a Node.js package published to the npm registry: @ni-c/smtp-mcp version 0.2.0. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs Node.js; clients usually start it with npx — the usual command is npx -y @ni-c/smtp-mcp@0.2.0. It reads these environment variables: SMTP_HOST (required), SMTP_PORT, SMTP_TLS, SMTP_USER (required), SMTP_PASSWORD (required, secret), SMTP_FROM (required), SMTP_REPLY_TO, SMTP_ALLOW_SEND, SMTP_ALLOWED_RECIPIENTS, SMTP_MAX_RECIPIENTS, SMTP_MAX_SENDS_PER_HOUR, SMTP_MAX_MESSAGE_BYTES, SMTP_MAX_ATTACHMENT_BYTES, SMTP_ATTACHMENT_DIR, SMTP_ATTACHMENT_TYPES, SMTP_SIGNATURE, SMTP_AUDIT_LOG, SMTP_ALLOW_TOOLS, SMTP_DENY_TOOLS and SMTP_INSECURE_TLS; set them in the client's configuration for this server.

SMTP runs locally from a container image in an OCI registry such as Docker Hub or GitHub Container Registry: ghcr.io/ni-c/smtp-mcp:0.2.0. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs Docker or another OCI container runtime; started with docker run — the usual command is docker run -i --rm -e SMTP_HOST -e SMTP_PORT -e SMTP_TLS -e SMTP_USER -e SMTP_PASSWORD -e SMTP_FROM -e SMTP_REPLY_TO -e SMTP_ALLOW_SEND -e SMTP_ALLOWED_RECIPIENTS -e SMTP_MAX_RECIPIENTS -e SMTP_MAX_SENDS_PER_HOUR -e SMTP_MAX_MESSAGE_BYTES -e SMTP_MAX_ATTACHMENT_BYTES -e SMTP_ATTACHMENT_DIR -e SMTP_ATTACHMENT_TYPES -e SMTP_SIGNATURE -e SMTP_AUDIT_LOG -e SMTP_ALLOW_TOOLS -e SMTP_DENY_TOOLS -e SMTP_INSECURE_TLS ghcr.io/ni-c/smtp-mcp:0.2.0. It reads these environment variables: SMTP_HOST (required), SMTP_PORT, SMTP_TLS, SMTP_USER (required), SMTP_PASSWORD (required, secret), SMTP_FROM (required), SMTP_REPLY_TO, SMTP_ALLOW_SEND, SMTP_ALLOWED_RECIPIENTS, SMTP_MAX_RECIPIENTS, SMTP_MAX_SENDS_PER_HOUR, SMTP_MAX_MESSAGE_BYTES, SMTP_MAX_ATTACHMENT_BYTES, SMTP_ATTACHMENT_DIR, SMTP_ATTACHMENT_TYPES, SMTP_SIGNATURE, SMTP_AUDIT_LOG, SMTP_ALLOW_TOOLS, SMTP_DENY_TOOLS and SMTP_INSECURE_TLS; set them in the client's configuration for this server.

In the mcpServers JSON format that many desktop and editor MCP clients read, the entry looks like this (placeholders in angle brackets):

{
  "mcpServers": {
    "smtp-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@ni-c/smtp-mcp@0.2.0"
      ],
      "env": {
        "SMTP_HOST": "<value>",
        "SMTP_PORT": "<value>",
        "SMTP_TLS": "<value>",
        "SMTP_USER": "<value>",
        "SMTP_PASSWORD": "<secret>",
        "SMTP_FROM": "<value>",
        "SMTP_REPLY_TO": "<value>",
        "SMTP_ALLOW_SEND": "<value>",
        "SMTP_ALLOWED_RECIPIENTS": "<value>",
        "SMTP_MAX_RECIPIENTS": "<value>",
        "SMTP_MAX_SENDS_PER_HOUR": "<value>",
        "SMTP_MAX_MESSAGE_BYTES": "<value>",
        "SMTP_MAX_ATTACHMENT_BYTES": "<value>",
        "SMTP_ATTACHMENT_DIR": "<value>",
        "SMTP_ATTACHMENT_TYPES": "<value>",
        "SMTP_SIGNATURE": "<value>",
        "SMTP_AUDIT_LOG": "<value>",
        "SMTP_ALLOW_TOOLS": "<value>",
        "SMTP_DENY_TOOLS": "<value>",
        "SMTP_INSECURE_TLS": "<value>"
      }
    }
  }
}

Derived from the registry entry, not tested here. What the server does, and on what terms, is set by its publisher; check its repository or website before giving it access to your accounts or files. How to add an MCP server to an assistant · Before you connect

More from ni-c (GitHub)

ServerRunsEndpoint or package
HealthchecksInspect, create and adjust Healthchecks cron and uptime checks, and read why one failed.Local · stdionpm: healthchecks-mcp
Hetzner DNSManage DNS zones and records (zonefiles, RRSets, TTL, protection) via the Hetzner Cloud API.Local · stdionpm: hetzner-dns-mcp
IMAP mailboxRead, search and organise any IMAP mailbox, with writes off by default.Local · stdionpm: @ni-c/imap-mcp
LinkwardenMCP server for Linkwarden, the self-hosted bookmark manager with page preservation.Local · stdionpm: linkwarden-mcp
mcp-hubMany stdio MCP servers from one container, published over HTTPS with OAuth 2.1 for any MCP client.Local · stdio, HTTPnpm: @ni-c/mcp-hub
Mealie MCP ServerMCP server for Mealie, the self-hosted recipe manager and meal planner.Local · stdionpm: @ni-c/mealie-mcp
ntfyPublish ntfy notifications, read the message cache, and manage users and topic access.Local · stdionpm: @ni-c/ntfy-mcp
OpengistRead, create, update and delete gists on a self-hosted Opengist instance.Local · stdionpm: opengist-mcp
OpenStreetMapGeocoding, walking/driving/cycling distances, route optimization, isochrones and POI search on OSM.Local · stdionpm: osm-mcp
wg-easyAdminister wg-easy (WireGuard Easy) v15: manage VPN clients, configs, QR codes and server status.Local · stdionpm: wg-easy-mcp
Wiki.jsSearch, read and edit Wiki.js pages, and manage its assets, users, groups and comments.Local · stdionpm: @ni-c/wikijs-mcp
Woodpecker CIRead Woodpecker CI repositories, pipelines and logs, and drive builds, secrets and crons.Local · stdionpm: @ni-c/woodpecker-ci-mcp

More developer servers

All 6,250 →
ServerRunsEndpoint or package
SmolanalyticsEnd-to-end tests from one sentence: an agent drives a real browser, and passing runs replay free.Local · stdioOCI image (Docker): ghcr.io/arjun0606/smolanalytics:v0.92.1
smplkit MCP ServerOperate smplkit from your agent: feature flags, config, logging, audit, and scheduled jobs.Remote · HTTPmcp.smplkit.com
Sms Florin MCPRent a real UK phone number and receive SMS/OTP codes — built for AI coding agents.Local · stdionpm: sms-florin-mcp
Sms MCPThe Mobile Text Alerts SMS MCP server enables your AI to send SMS messages & manage contacts.Remote · HTTPmcp.mobile-text-alerts.com
SN MCP ServerMulti-instance read-only MCP server for ServiceNow.Local · stdionpm: @imjaineel-dev/sn-mcp-server
snaggingsoftware.co.ukSnagging Software: the site's own MCP server — compare, enquiry (enquiry = a human handoff, not...Remote · HTTPsnaggingsoftware.co.uk
Snapchat Ads MCP ServerSnapchat Ads management — CRUD, async reports, targeting, and audience estimates.Remote & Local · HTTP, stdiox
SnapDeployDeploy and manage SnapDeploy apps from your AI assistant: builds, logs, env vars, add-ons, domains.Local · stdionpm: @snapdeploy/mcp