Mailmodo
OfficialThe 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 "Deploy 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., "@Mailmodo show 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: MJML MCP Server
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
Available Tools
12 toolsaddBulkContactToListC
Add Many Contact to a list in single API
Inputs: values (required), listName (required).
addContactToListD
Add Contact to list
Inputs: email (required), listName (required), data, timezone, +3 more.
archiveContactC
permanently archive contact in mailmodo
Inputs: email (required).
broadcastCampaignToListC
The broadcast campaign API allows the user to trigger campaigns to the entire contact list using a single API request.
Inputs: listId (required), campaignId (required), subject, campaign_data, +1 more.
currentDateTimeA
Get Current Date and time for timezone. if timezone is not passed default to UTC
Inputs: timezone.
MailmodoCampainReportToolC
Tool to get the campaign reports for a particular campaign like open, click submission count etc
Inputs: toDate (required), fromDate (required), campaignId (required).
removeContactFromListC
Remove a particular contact from the contact list
Inputs: email (required), listName (required).
resubscribeContactC
Resubscribe contact in mailmodo
Inputs: email (required).
sendEmailToCampaignC
Trigger and email for email campaign trigger with personalization parameter added to the email template.
Inputs: email (required), campaignId (required), data, replyTo, +4 more.
sendEventC
Send custom events with email, event name and event properties
Inputs: email (required), event_name (required), ts, event_properties.
unsubscribeContactC
Unsubscribe or supress contact in mailmodo
Inputs: email (required).
userDetailsC
Tool to get all details of a contact
Inputs: email (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Most tools target distinct resources and actions: contact list management, contact state changes, campaign triggers, and reports are clearly separated. Potential confusion exists between unsubscribe, archive, and remove-from-list, but descriptions clarify the different outcomes since archive is permanent and remove only affects list membership.
Most tools follow a camelCase verb_noun pattern (addContactToList, sendEvent, broadcastCampaignToList), but the first tool 'MailmodoCampainReportTool' breaks the convention with PascalCase and a 'Tool' suffix alert. Also, 'currentDateTime' and 'userDetails' are noun-first rather than verb-first, so the pattern is not fully consistent.
Twelve tools is a well-scoped surface for an email marketing/contact management server. Each tool covers a distinct operation without excessive granularity or obvious bloat.
The set covers contact lifecycle operations, list management, campaign triggering, and reports, but there are notable gaps. There is no way to create or update campaigns, list campaigns, or manage templates, and campaign report retrieval requires a campaign ID that cannot be discovered through the provided tools, leaving some workflows incomplete.
Maintenance
Related MCP Connectors
Cold email platform that protects your domains: manage outbound campaigns, automated warmup, lead lists, and inbox replies
Email for AI agents: send mail, manage contacts, automations & webhooks. Zero-DNS first send.
AI-native email marketing. Campaigns, automations, transactional, contacts, and analytics.
Send and read email through connected mailboxes. Warm them up, check addresses and run campaigns.
Related MCP Servers
- -licenseCqualityBmaintenanceGives on-the-fly inboxes to AI agents. Agents / LLM's can send, receive, and take action in isolated inboxes. Built for AI unlike Gmail. Check us out at agentmail.to10111-
- AlicenseAqualityDmaintenanceEnables creation and management of professional email templates using MJML markup language. Provides compilation to responsive HTML, template generation, validation, and component documentation for building email campaigns.42MIT
- AlicenseBqualityCmaintenanceEmail Automation - MCP server providing AI-powered tools and automation by MEOK AI Labs57 npm39 PyPIMIT
- AlicenseAqualityBmaintenanceMailKite offers email sending and receiving for agents at your domain or free inboxes Create inboxes for your agent Send emails from your agent Receive emails to your webhook Receive emails to your agent92126 npmMIT