MCP ExplorerExplorer

Mcp Server Smtp

@samihalawaon a year ago
3 MIT
FreeCommunity
AI Systems
A Model Context Protocol server for SMTP email services

Overview

What is Mcp Server Smtp

mcp-server-smtp is a Model Context Protocol server designed to provide email sending capabilities for AI assistants like Claude and other MCP-compatible systems.

Use cases

Use cases include sending welcome emails, bulk announcements, and managing email templates for consistent branding in communications.

How to use

To use mcp-server-smtp, clone the repository, install dependencies, and start the server. Configure the server in your MCP setup and utilize available tools to send emails or manage SMTP configurations.

Key features

Key features include multiple SMTP configurations, email templates, bulk email sending, full HTML support, comprehensive logging, and dynamic content using template variables.

Where to use

mcp-server-smtp can be used in various fields such as customer relationship management, marketing automation, and any application requiring automated email communication.

Content

SMTP Email MCP Server

A Model Context Protocol (MCP) server that provides email sending capabilities for Claude and other MCP-compatible AI assistants.

Features

  • Multiple SMTP Configurations: Configure and manage multiple SMTP servers
  • Email Templates: Create, update, and use reusable email templates
  • Bulk Email Sending: Send emails to multiple recipients with batching and rate limiting
  • HTML Support: Full HTML support for rich email content
  • Logging: Comprehensive logging of all email activities
  • Template Variables: Dynamic content using template variables

Installation

# Clone the repository
git clone https://github.com/samihalawa/mcp-server-smtp.git
cd mcp-server-smtp

# Install dependencies
npm install

# Build the server
npm run build

Usage

Starting the Server

npm start

Configuration

Add the server to your MCP configuration:

{
  "servers": {
    "smtp-email-server": {
      "command": "/path/to/node",
      "args": [
        "/path/to/mcp-server-smtp/build/index.js"
      ],
      "enabled": true,
      "port": 3007,
      "environment": {
        "NODE_PATH": "/path/to/node_modules",
        "PATH": "/usr/local/bin:/usr/bin:/bin"
      }
    }
  }
}

Available Tools

send-email

Send an email to one or more recipients.

Parameters:

  • to: Array of recipients with email and optional name
  • subject: Email subject
  • body: Email body (HTML supported)
  • from: (Optional) Sender email and name
  • cc: (Optional) CC recipients
  • bcc: (Optional) BCC recipients
  • templateId: (Optional) ID of a template to use
  • templateData: (Optional) Data to populate template variables
  • smtpConfigId: (Optional) ID of the SMTP configuration to use

send-bulk-emails

Send emails to multiple recipients in batches.

Parameters:

  • recipients: Array of recipients with email and optional name
  • subject: Email subject
  • body: Email body (HTML supported)
  • from: (Optional) Sender email and name
  • cc: (Optional) CC recipients
  • bcc: (Optional) BCC recipients
  • templateId: (Optional) ID of a template to use
  • templateData: (Optional) Data to populate template variables
  • batchSize: (Optional) Number of emails to send in each batch
  • delayBetweenBatches: (Optional) Delay in milliseconds between batches
  • smtpConfigId: (Optional) ID of the SMTP configuration to use

get-smtp-configs

Get all configured SMTP servers.

Parameters: None

add-smtp-config

Add a new SMTP server configuration.

Parameters:

  • name: Name for the configuration
  • host: SMTP server hostname
  • port: SMTP server port
  • secure: Whether to use SSL/TLS
  • auth: Authentication credentials (user and pass)
  • isDefault: (Optional) Whether this is the default configuration

update-smtp-config

Update an existing SMTP server configuration.

Parameters:

  • id: ID of the configuration to update
  • name: Name for the configuration
  • host: SMTP server hostname
  • port: SMTP server port
  • secure: Whether to use SSL/TLS
  • auth: Authentication credentials (user and pass)
  • isDefault: (Optional) Whether this is the default configuration

delete-smtp-config

Delete an SMTP server configuration.

Parameters:

  • id: ID of the configuration to delete

get-email-templates

Get all email templates.

Parameters: None

add-email-template

Add a new email template.

Parameters:

  • name: Template name
  • subject: Email subject template
  • body: Email body template (HTML supported)
  • isDefault: (Optional) Whether this is the default template

update-email-template

Update an existing email template.

Parameters:

  • id: ID of the template to update
  • name: Template name
  • subject: Email subject template
  • body: Email body template (HTML supported)
  • isDefault: (Optional) Whether this is the default template

delete-email-template

Delete an email template.

Parameters:

  • id: ID of the template to delete

get-email-logs

Get logs of sent emails.

Parameters: None

Example Usage

  1. Configure an SMTP server:

    add-smtp-config(
      name: "Gmail",
      host: "smtp.gmail.com",
      port: 587,
      secure: false,
      auth: {
        user: "[email protected]",
        pass: "your-app-password"
      },
      isDefault: true
    )
    
  2. Create an email template:

    add-email-template(
      name: "Welcome Email",
      subject: "Welcome to {{company}}!",
      body: "<h1>Hello {{name}},</h1><p>Welcome to {{company}}!</p>",
      isDefault: false
    )
    
  3. Send an email using a template:

    send-email(
      to: [{ email: "[email protected]", name: "John Doe" }],
      templateId: "welcome-email",
      templateData: {
        name: "John",
        company: "ACME Corp"
      }
    )
    
  4. Send bulk emails:

    send-bulk-emails(
      recipients: [
        { email: "[email protected]", name: "User 1" },
        { email: "[email protected]", name: "User 2" }
      ],
      subject: "Important Announcement",
      body: "<p>This is an important announcement.</p>",
      batchSize: 10,
      delayBetweenBatches: 1000
    )
    

Requirements

  • Node.js 14+
  • Nodemailer for email sending
  • Access to an SMTP server

License

MIT

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers