SMTP
MCP server that sends mail over SMTP, gated behind an allowlist and a human confirmation
The current version, v0.2.0, was published to the official MCP registry on 2026-09-07. It is distributed as @ni-c/smtp-mcp on npm and as the Docker image ghcr.io/ni-c/smtp-mcp:0.2.0, filed under Email by this index, and declares 20 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using SMTP in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireSemantic screen found no manipulation pattern in the description. Conformance probe not yet run.
mcpindex.integrity.descriptionpassINFOevidence“Normal mail sending capability”via static_description
- - Semantic screen only - the deterministic conformance probe has not run on this server
- - Confidence is reported but not yet calibrated (v1)
- - Screen reads the tool description, not the live behavior
- - advisory
- - registry description only no input schema
- - screen model 8b
- - Still current: the description we screened is unchanged, re-checked against the registry
- - The registry listing (version, packages, links) changed after this screen ran - the description we assessed did not
Semantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.
Own this server? Test a description on the public screen → It is a separate check from the verdict above, so the two can differ.
That verdict was true at screening time (snapshot 2026-10-19).
Contracts can change after screening, with no version bump. The gate pins SMTP’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
People vet a server before wiring it in. One line on your project site or docs answers that with an independent record: screening verdict, registry provenance, contract drift history. It stays current as new screens and drift events land.
[Independent trust record for SMTP](https://mcpindex.ai/server/io-github-ni-c-smtp-mcp) - screening verdict, registry provenance, and contract drift monitoring.<a href="https://mcpindex.ai/server/io-github-ni-c-smtp-mcp">Independent trust record for SMTP</a> - screening verdict, registry provenance, and contract drift monitoring.A live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.
[](https://mcpindex.ai/server/io-github-ni-c-smtp-mcp)<a href="https://mcpindex.ai/server/io-github-ni-c-smtp-mcp"><img src="https://mcpindex.ai/api/v1/badge/io-github-ni-c-smtp-mcp" alt="mcpindex verdict" height="20" /></a>SMTP_HOSTHostname of the SMTP server, e.g. smtp.example.net.
SMTP_PORTPort. Defaults to 587 for starttls, 465 for implicit, 25 for none.
SMTP_TLSstarttls (default), implicit or none. STARTTLS is required, never opportunistic.
SMTP_USERUsername for SMTP authentication.
SMTP_PASSWORDPassword or app-specific password for SMTP authentication.
SMTP_FROMThe only sender this server will use, e.g. "Name <person@example.net>". There is no from parameter.
SMTP_REPLY_TOReply-To header on every message, e.g. "Team <team@example.net>". Unset means no Reply-To header and replies go to SMTP_FROM. There is no reply_to parameter.
SMTP_ALLOW_SENDSet to "true" to register the sending tools. Defaults to false: the server cannot send until it is set.
SMTP_ALLOWED_RECIPIENTSComma-separated addresses and @domains this server may write to. Required with SMTP_ALLOW_SEND=true; "*" allows any.
SMTP_MAX_RECIPIENTSMaximum distinct recipients across To, Cc and Bcc in one message. Default 10.
SMTP_MAX_SENDS_PER_HOURSliding hourly cap on messages sent. Default 20.
SMTP_MAX_MESSAGE_BYTESMaximum size of the composed message. Default 10485760.
SMTP_MAX_ATTACHMENT_BYTESMaximum size of a single attachment. Default 5242880.
SMTP_ATTACHMENT_DIRDirectory attachments are read from. Unset means attachments are unavailable.
SMTP_ATTACHMENT_TYPESComma-separated content types that may be attached. Defaults to a document and image allowlist.
SMTP_SIGNATUREText appended below the standard signature delimiter of every message.
SMTP_AUDIT_LOGFile the audit lines are appended to, in addition to stderr.
SMTP_ALLOW_TOOLSComma-separated tool names, a prefix with one trailing *, or "essential" for the curated preset.
SMTP_DENY_TOOLSComma-separated tool names or prefixes to remove, applied after SMTP_ALLOW_TOOLS.
SMTP_INSECURE_TLSSet to "true" to accept self-signed certificates. Prefer a proper internal CA.
SMTP_HOSTHostname of the SMTP server, e.g. smtp.example.net.
SMTP_PORTPort. Defaults to 587 for starttls, 465 for implicit, 25 for none.
SMTP_TLSstarttls (default), implicit or none. STARTTLS is required, never opportunistic.
SMTP_USERUsername for SMTP authentication.
SMTP_PASSWORDPassword or app-specific password for SMTP authentication.
SMTP_FROMThe only sender this server will use, e.g. "Name <person@example.net>". There is no from parameter.
SMTP_REPLY_TOReply-To header on every message, e.g. "Team <team@example.net>". Unset means no Reply-To header and replies go to SMTP_FROM. There is no reply_to parameter.
SMTP_ALLOW_SENDSet to "true" to register the sending tools. Defaults to false: the server cannot send until it is set.
SMTP_ALLOWED_RECIPIENTSComma-separated addresses and @domains this server may write to. Required with SMTP_ALLOW_SEND=true; "*" allows any.
SMTP_MAX_RECIPIENTSMaximum distinct recipients across To, Cc and Bcc in one message. Default 10.
SMTP_MAX_SENDS_PER_HOURSliding hourly cap on messages sent. Default 20.
SMTP_MAX_MESSAGE_BYTESMaximum size of the composed message. Default 10485760.
SMTP_MAX_ATTACHMENT_BYTESMaximum size of a single attachment. Default 5242880.
SMTP_ATTACHMENT_DIRDirectory attachments are read from. Unset means attachments are unavailable.
SMTP_ATTACHMENT_TYPESComma-separated content types that may be attached. Defaults to a document and image allowlist.
SMTP_SIGNATUREText appended below the standard signature delimiter of every message.
SMTP_AUDIT_LOGFile the audit lines are appended to, in addition to stderr.
SMTP_ALLOW_TOOLSComma-separated tool names, a prefix with one trailing *, or "essential" for the curated preset.
SMTP_DENY_TOOLSComma-separated tool names or prefixes to remove, applied after SMTP_ALLOW_TOOLS.
SMTP_INSECURE_TLSSet to "true" to accept self-signed certificates. Prefer a proper internal CA.
Search and enrich B2B companies and people: verified work emails, US phone numbers, job postings.
Find prospects, research them, and run email and LinkedIn outreach in your Oneprofile workspace.
Cold email: campaigns, leads, mailboxes, warmup and inbox replies.