Mailmodo MCP Server
About
Mailmodo MCP server to interact with Mailmodo APIs listed here. https://www.mailmodo.com/developers/8e957152b6128-getting-started-with-mailmodo-api
Details
- Author
- mailmodo
- Downloads
- 386
- Categories
- Other, Marketing
Jump to
- Fetch all email templates, campaigns, and contact lists
- Retrieve detailed user information by email
- Generate campaign reports with open, click, and submission counts
- Send custom events with email and event properties
- Add, bulk-add, and remove contacts from lists
- Unsubscribe, resubscribe, or archive contacts
- Trigger personalized or broadcast email campaigns
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Mailmodo MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Clone the repository, install dependencies (npm install), build the TypeScript code (npm run build), and run with npm start. Then configure the server in your Claude Desktop settings using one of four modes: local code path, Docker image (avneesh001/mailmodo-mcp), npx (@mailmodo/mcp), or a remote server (https://mcp.app.mailmodo.com/mcp). All modes require a MAILMODO_API_KEY obtained from Mailmodo's API key settings page.
userDetails
Tool to get all details of a contact
MailmodoCampainReportTool
Tool to get the campaign reports for a particular campaign like open, click submission count etc
currentDateTime
Get Current Date and time
sendEvent
Send custom events with email, event name and event properties
addContactToList
Add Contact to list
addBulkContactToList
Add Many Contact to a list in single API
unsubscribeContact
Unsubscribe or supress contact in mailmodo
resubscribeContact
Resubscribe contact in mailmodo
archiveContact
permanently archive contact in mailmodo
removeContactFromList
Remove a particular contact from the contact list
sendEmailToCampaign
Trigger and email for email campaign trigger with personalization parameter added to the email template.
broadcastCampaignToList
The broadcast campaign API allows the user to trigger campaigns to the entire contact list using a single API request.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mailmodo mcp server": {
"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>"
}
}
}
}
}
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>"
}
}
}
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
1. Clone the repository:
git clone https://github.com/mailmodo/mailmodo-mcp.git
cd mailmodo-mcp
2. Install dependencies:
npm install
Building the Project
To compile the TypeScript code to JavaScript, run:
npm run build
This will create a dist directory containing the compiled JavaScript files.
Running the Project
After building, you can run the project using:
node dist/index.js
Or use the npm script:
npm start
Claude 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:
1. Install ts-node and nodemon as dev dependencies:
npm install --save-dev ts-node nodemon
2. Add a dev script to your package.json:
{
"scripts": {
"dev": "nodemon src/index.ts",
"build": "tsc",
"start": "node dist/index.js"
}
}
3. Run the development server:
npm run dev
Project Structure
mailmodo-mcp/
├── src/ # TypeScript source files
├── dist/ # Compiled JavaScript files
├── package.json # Project dependencies and scripts
└── tsconfig.json # TypeScript configuration
Tools and Resources
The Mailmodo MCP server provides several tools and resources for interacting with Mailmodo's functionality. Here's a comprehensive list:
Resources
1. Mailmodo Templates (mailmodo://templates)
- Returns a list of all available email templates in JSON format
- MIME Type: application/json
2. Mailmodo Campaigns (mailmodo://campaigns)
- Returns a list of all campaigns in JSON format
- MIME Type: application/json
3. Mailmodo Contact Lists (mailmodo://contact-lists)
- Returns all contact lists in JSON format
- MIME Type: application/json
Tools
1. User Details
- Name: userDetails
- Description: Get all details of a contact
- Parameters:
- email (string): Email address of the contact
2. Campaign Report Tool
- Name: MailmodoCampainReportTool
- Description: Get campaign reports including open, click, and submission counts
- Parameters:
- campaignId (UUID): ID of the campaign
- fromDate (YYYY-MM-DD): Start date for the report
- toDate (YYYY-MM-DD): End date for the report
3. Current DateTime
- Name: currentDateTime
- Description: Get current date and time
- Parameters: None
4. Send Event
- Name: sendEvent
- Description: Send custom events with email and event properties
- Parameters:
- email (string): Contact's email address
- event_name (string): Name of the event
- ts (number, optional): Timestamp
- event_properties (object, optional): Additional event properties
5. Contact List Management
- Add Contact to List
- Name: addContactToList
- Description: Add a single contact to a list
- Parameters:
- email (string): Contact's email
- listName (string): Name of the list
- data (object, optional): Contact properties
- Various 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 list
- values (array): Array of contact objects
- Remove Contact from List
- Name: removeContactFromList
- Description: Remove a contact from a specific list
- Parameters:
- email (string): Contact's email
- listName (string): Name of the list
6. 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
7. Campaign Management
- Send Email Campaign
- Name: sendEmailToCampaign
- Description: Trigger an email campaign with personalization
- Parameters:
- campaignId (string): Campaign ID
- email (string): Recipient's email
- Various optional parameters for customization
- Broadcast Campaign
- Name: broadcastCampaignToList
- Description: Trigger campaigns to an entire contact list
- Parameters:
- campaignId (string): Campaign ID
- listId (string): Target list ID
- Optional parameters for campaign customization
License
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



