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
- 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
- Name:
- 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
- Name:
- Current DateTime
- Name:
currentDateTime
- Description: Get current date and time
- Parameters: None
- Name:
- 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
- Name:
- 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 properties- Various optional fields for contact metadata
- Name:
- 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
- Name:
- 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
- Name:
- Add Contact to List
- Contact Status Management
- Unsubscribe Contact
- Name:
unsubscribeContact
- Description: Unsubscribe or suppress a contact
- Parameters:
email
(string): Contact's email
- Name:
- Resubscribe Contact
- Name:
resubscribeContact
- Description: Resubscribe a previously unsubscribed contact
- Parameters:
email
(string): Contact's email
- Name:
- Archive Contact
- Name:
archiveContact
- Description: Permanently archive a contact
- Parameters:
email
(string): Contact's email
- Name:
- Unsubscribe Contact
- Campaign Management
- Send Email Campaign
- Name:
sendEmailToCampaign
- Description: Trigger an email campaign with personalization
- Parameters:
campaignId
(string): Campaign IDemail
(string): Recipient's email- Various optional parameters for customization
- Name:
- Broadcast Campaign
- Name:
broadcastCampaignToList
- Description: Trigger campaigns to an entire contact list
- Parameters:
campaignId
(string): Campaign IDlistId
(string): Target list ID- Optional parameters for campaign customization
- Name:
- Send Email Campaign
License
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Mailmodo
Related MCP Servers
- AsecurityAlicenseAqualityProvides seamless access to Postman.Last updated -9928TypeScriptMIT License
- -securityAlicense-qualityIntegrates with Gmail to enable sending, reading, drafting, and managing emails via the Model Context Protocol (MCP), allowing users to interact with email tasks through automated client prompts.Last updated -PythonGPL 3.0
- AsecurityFlicenseAqualityEnables sending emails via SMTP with template management, supporting multiple SMTP configurations, template creation with variable substitution, and bulk email sending with rate limiting.Last updated -111TypeScript
- -securityAlicense-qualityMCP server that integrates with Gmail to enable sending, reading, and managing emails through tools like send-email, trash-email, get-unread-emails, and read-email.Last updated -17PythonGPL 3.0