mcpField
M
Mailmodo MCP Server

Mailmodo MCP Server

Local
github.com/mailmodoBusiness & Marketing0Updated 7w ago

About Mailmodo MCP Server

A TypeScript MCP server that connects Claude Desktop and other MCP clients to Mailmodo APIs. It exposes resources and tools for campaign data, contacts, lists, events, and campaign operations.

Key features

  1. 01Read templates, campaigns, and contact lists
  2. 02Look up contact details
  3. 03Retrieve campaign reports
  4. 04Manage contacts and list membership
  5. 05Send events and trigger campaigns

Use cases

  1. 01Review campaign performance by date range
  2. 02Add or remove contacts from lists
  3. 03Send events or trigger email campaigns

MCP support

Exposes Mailmodo resources and tools to MCP clients, including Claude Desktop. It can run locally, through Docker or npx, or connect to the listed remote server.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"mailmodo": {
"command": "npx",
"args": [
"-y",
"@mailmodo/mcp"
],
"env": {
"MAILMODO_API_KEY": "<MAILMODO_API_KEY>"
}
}
}
}
Run commandnpx -y @mailmodo/mcp
Environment variables to set
MAILMODO_API_KEYSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@mailmodo/mcp

Tools

12

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
emailstringYes

Details

From the project README

mailmodo-mcp

smithery badge

This is a TypeScript project that implements a Message Control Protocol (MCP) server for Mailmodo integration with Claude Desktop and other MCP supported client.

Mailmodo MCP server

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:

npx -y @smithery/cli install @mailmodo/mailmodo-mcp --client claude
Manual Installation
  1. Clone the repository:
git clone https://github.com/mailmodo/mailmodo-mcp.git
cd mailmodo-mcp
  1. 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
  1. Add a dev script to your package.json:
{
  "scripts": {
    "dev": "nodemon src/index.ts",
    "build": "tsc",
    "start": "node dist/index.js"
  }
}
  1. 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

MIT License

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.