The Mailmodo MCP server enables comprehensive email marketing management, including:
Contact Management: Add, remove, update contacts and manage their status (unsubscribe, resubscribe, archive) in lists
Campaign Management: Trigger personalized emails to individuals or broadcast to entire lists
Reporting: Generate campaign reports with metrics like opens, clicks, and submissions
Event Tracking: Send and track custom events with properties for user actions
Template Access: Retrieve available email templates, campaigns, and contact lists
Automation: Integrate with Claude Desktop and other MCP clients for automated workflows
mailmodo-mcp
This is a TypeScript project that implements a Message Control Protocol (MCP) server for Mailmodo integration with Claude Desktop and other MCP supported client.
Prerequisites
Node.js (v20 or higher recommended)
npm (comes with Node.js)
Installation
Installing via Smithery
To install Mailmodo Integration Server for Claude Desktop automatically via Smithery:
Manual Installation
Clone the repository:
Install dependencies:
Building the Project
To compile the TypeScript code to JavaScript, run:
This will create a dist
directory containing the compiled JavaScript files.
Running the Project
After building, you can run the project using:
Or use the npm script:
Claude Desktop Configuration
Local Run from Code
To configure this project with Claude Desktop, add the following configuration to your Claude Desktop settings:
Run from docker image
Run from npx
Connect via Remote Server
Make sure to adjust the file path in the args
array to match your local project directory.
Development
To run the project in development mode with automatic recompilation:
Install
ts-node
andnodemon
as dev dependencies:
Add a dev script to your package.json:
Run the development server:
Project Structure
Tools and Resources
The Mailmodo MCP server provides several tools and resources for interacting with Mailmodo's functionality. Here's a comprehensive list:
Resources
Mailmodo Templates (
mailmodo://templates
)Returns a list of all available email templates in JSON format
MIME Type: application/json
Mailmodo Campaigns (
mailmodo://campaigns
)Returns a list of all campaigns in JSON format
MIME Type: application/json
Mailmodo Contact Lists (
mailmodo://contact-lists
)Returns all contact lists in JSON format
MIME Type: application/json
Tools
User Details
Name:
userDetails
Description: Get all details of a contact
Parameters:
email
(string): Email address of the contact
Campaign Report Tool
Name:
MailmodoCampainReportTool
Description: Get campaign reports including open, click, and submission counts
Parameters:
campaignId
(UUID): ID of the campaignfromDate
(YYYY-MM-DD): Start date for the reporttoDate
(YYYY-MM-DD): End date for the report
Current DateTime
Name:
currentDateTime
Description: Get current date and time
Parameters: None
Send Event
Name:
sendEvent
Description: Send custom events with email and event properties
Parameters:
email
(string): Contact's email addressevent_name
(string): Name of the eventts
(number, optional): Timestampevent_properties
(object, optional): Additional event properties
Contact List Management
Add Contact to List
Name:
addContactToList
Description: Add a single contact to a list
Parameters:
email
(string): Contact's emaillistName
(string): Name of the listdata
(object, optional): Contact propertiesVarious optional fields for contact metadata
Bulk Add Contacts
Name:
addBulkContactToList
Description: Add multiple contacts to a list in a single operation
Parameters:
listName
(string): Name of the listvalues
(array): Array of contact objects
Remove Contact from List
Name:
removeContactFromList
Description: Remove a contact from a specific list
Parameters:
email
(string): Contact's emaillistName
(string): Name of the list
Contact Status Management
Unsubscribe Contact
Name:
unsubscribeContact
Description: Unsubscribe or suppress a contact
Parameters:
email
(string): Contact's email
Resubscribe Contact
Name:
resubscribeContact
Description: Resubscribe a previously unsubscribed contact
Parameters:
email
(string): Contact's email
Archive Contact
Name:
archiveContact
Description: Permanently archive a contact
Parameters:
email
(string): Contact's email
Campaign Management
Send Email Campaign
Name:
sendEmailToCampaign
Description: Trigger an email campaign with personalization
Parameters:
campaignId
(string): Campaign IDemail
(string): Recipient's emailVarious optional parameters for customization
Broadcast Campaign
Name:
broadcastCampaignToList
Description: Trigger campaigns to an entire contact list
Parameters:
campaignId
(string): Campaign IDlistId
(string): Target list IDOptional parameters for campaign customization
License
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Mailmodo
Related MCP Servers
- MIT License
- Apache 2.0
- MIT License