Skip to content
Cursor

SMTP for Cursor

io.github.ni-c/smtp-mcp

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

client:Cursor transport:stdio runtime:npm

Install SMTP in Cursor

~/.cursor/mcp.json · windows: %USERPROFILE%\.cursor\mcp.json

Held in this page only — never stored, logged, or sent anywhere but back to your screen.

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

Use .cursor/mcp.json in a project root instead to scope it to that project. Cursor merges both. Cursor docs

SMTP in other clients