
mcp server smtp
A Model Context Protocol server for SMTP email services
Repository Info
About This Server
A Model Context Protocol server for SMTP email services
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
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 namesubject: Email subjectbody: Email body (HTML supported)from: (Optional) Sender email and namecc: (Optional) CC recipientsbcc: (Optional) BCC recipientstemplateId: (Optional) ID of a template to usetemplateData: (Optional) Data to populate template variablessmtpConfigId: (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 namesubject: Email subjectbody: Email body (HTML supported)from: (Optional) Sender email and namecc: (Optional) CC recipientsbcc: (Optional) BCC recipientstemplateId: (Optional) ID of a template to usetemplateData: (Optional) Data to populate template variablesbatchSize: (Optional) Number of emails to send in each batchdelayBetweenBatches: (Optional) Delay in milliseconds between batchessmtpConfigId: (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 configurationhost: SMTP server hostnameport: SMTP server portsecure: Whether to use SSL/TLSauth: 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 updatename: Name for the configurationhost: SMTP server hostnameport: SMTP server portsecure: Whether to use SSL/TLSauth: 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 namesubject: Email subject templatebody: 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 updatename: Template namesubject: Email subject templatebody: 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
-
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 ) -
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 ) -
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" } ) -
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
Quick Start
Clone the repository
git clone https://github.com/samihalawa/mcp-server-smtpInstall dependencies
cd mcp-server-smtp
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.