Back to Communication
SMTP Email Manager
Provides SMTP email functionality with tools for sending individual and bulk emails, managing configurations, and creating customizable templates with variable substitution for automated, personalized email campaigns.
Last updated: 1/27/2026
README
# SMTP Email MCP Server
[](https://smithery.ai/server/@samihalawa/mcp-server-smtp)
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
### Installing via Smithery
To install SMTP Email Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@samihalawa/mcp-server-smtp):
```bash
npx -y @smithery/cli install @samihalawa/mcp-server-smtp --client claude
```
### Manual Installation
```bash
# 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
```bash
npm start
```
### Configuration
Add the server to your MCP configuration:
```json
{
"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: "your-email@gmail.com",
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: "recipient@example.com", name: "John Doe" }],
templateId: "welcome-email",
templateData: {
name: "John",
company: "ACME Corp"
}
)
```
4. Send bulk emails:
```
send-bulk-emails(
recipients: [
{ email: "user1@example.com", name: "User 1" },
{ email: "user2@example.com", 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 Installation
Add this MCP to your configuration:
{
"mcpServers": {
"smtp-email-manager": {
// See GitHub repository for configuration
}
}
}See the GitHub repository for full installation instructions.