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
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mailmodoshow me my recent email campaigns"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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)
Related MCP server: Jotdown
Installation
Installing via Smithery
To install Mailmodo Integration Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @mailmodo/mailmodo-mcp --client claudeManual Installation
Clone the repository:
git clone https://github.com/mailmodo/mailmodo-mcp.git
cd mailmodo-mcpInstall dependencies:
npm installBuilding the Project
To compile the TypeScript code to JavaScript, run:
npm run buildThis will create a dist directory containing the compiled JavaScript files.
Running the Project
After building, you can run the project using:
node dist/index.jsOr use the npm script:
npm startClaude Desktop Configuration
Local Run from Code
To configure this project with Claude Desktop, add the following configuration to your Claude Desktop settings:
{
"mcpServers": {
"mailmodo": {
"command": "node",
"args": [
"/path/to/your/mailmodo-mcp/dist/index.js"
]
}
}
}Run from docker image
{
"mcpServers": {
"mailmodo": {
"command": "docker",
"args": [
"run",
"--platform",
"linux/amd64",
"-i",
"--rm",
"-e",
"MAILMODO_API_KEY",
"avneesh001/mailmodo-mcp"
],
"env": {
"MAILMODO_API_KEY": "<GET MAILMODO KEY from https://manage.mailmodo.com/app/settings/apikey and insert here>"
}
}
}
}Run from npx
{
"mcpServers": {
"mailmodo": {
"command": "npx",
"args": [
"-y",
"@mailmodo/mcp"
],
"env": {
"MAILMODO_API_KEY": "<GET MAILMODO KEY from https://manage.mailmodo.com/app/settings/apikey and insert here>"
}
}
}
}Connect via Remote Server
{
"mcpServers": {
"mailmodo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.app.mailmodo.com/mcp",
"--header",
"mmApiKey:${MAILMODO_API_KEY}"
],
"env": {
"MAILMODO_API_KEY": "<GET MAILMODO KEY from https://manage.mailmodo.com/app/settings/apikey and insert here>"
}
}
}
}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-nodeandnodemonas dev dependencies:
npm install --save-dev ts-node nodemonAdd a dev script to your package.json:
{
"scripts": {
"dev": "nodemon src/index.ts",
"build": "tsc",
"start": "node dist/index.js"
}
}Run the development server:
npm run devProject Structure
mailmodo-mcp/
├── src/ # TypeScript source files
├── dist/ # Compiled JavaScript files
├── package.json # Project dependencies and scripts
└── tsconfig.json # TypeScript configurationTools 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:
userDetailsDescription: Get all details of a contact
Parameters:
email(string): Email address of the contact
Campaign Report Tool
Name:
MailmodoCampainReportToolDescription: 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:
currentDateTimeDescription: Get current date and time
Parameters: None
Send Event
Name:
sendEventDescription: 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:
addContactToListDescription: 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:
addBulkContactToListDescription: 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:
removeContactFromListDescription: Remove a contact from a specific list
Parameters:
email(string): Contact's emaillistName(string): Name of the list
Contact Status Management
Unsubscribe Contact
Name:
unsubscribeContactDescription: Unsubscribe or suppress a contact
Parameters:
email(string): Contact's email
Resubscribe Contact
Name:
resubscribeContactDescription: Resubscribe a previously unsubscribed contact
Parameters:
email(string): Contact's email
Archive Contact
Name:
archiveContactDescription: Permanently archive a contact
Parameters:
email(string): Contact's email
Campaign Management
Send Email Campaign
Name:
sendEmailToCampaignDescription: Trigger an email campaign with personalization
Parameters:
campaignId(string): Campaign IDemail(string): Recipient's emailVarious optional parameters for customization
Broadcast Campaign
Name:
broadcastCampaignToListDescription: Trigger campaigns to an entire contact list
Parameters:
campaignId(string): Campaign IDlistId(string): Target list IDOptional parameters for campaign customization
License
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.