Skip to main content
Glama
mailgun

Mailjet MCP Server

Official
by mailgun
README.md
# Mailjet MCP Server
[![MCP](https://img.shields.io/badge/MCP-Server-blue.svg)](https://github.com/modelcontextprotocol)

## Overview

This project provides a Model Context Protocol (MCP) server for the [Mailjet API](https://www.mailjet.com), enabling compatible AI agents (e.g. Claude Desktop) to interact with Mailjet's contact, campaign, segmentation, statistics, workflow (and more) APIs through a standardized tool interface.

## Quick Start

### Execution through NPX

The project is available on NPM and can be executed through NPX.

In order to start the server locally, simply run the following command:
```bash
MAILJET_API_KEY="YOUR_api_key:YOUR_secret_key" npx mailjet-mcp-server
```

Most of the time, you can choose to take advantage your AI desktop app and link Mailjet MCP directly to it. In this case please add the following MCP config:
```json
"mcpServers": {
   "mailjet": {
      "command": "npx",
      "args": [
        "-y",
        "@mailjet/mailjet-mcp-server"
      ],
      "env": {
        "MAILJET_API_KEY": "YOUR_api_key:YOUR_secret_key"
      }
   }
}
```

### Manual Installation
1. Clone the repository:
   ```bash
   git clone https://github.com/mailgun/mailjet-mcp-server.git
   cd mailjet-mcp-server
   ```

2. Install dependencies and build:
   ```bash
   pnpm install
   ```

3. Configure Claude Desktop:

   Create or modify the config file:
   - MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
   - Windows: `%APPDATA%/Claude/claude_desktop_config.json`


Then start the MCP server:

```sh
node src/mailjet-mcp.js
```

   Add the following configuration:
   ```json
   {
       "mcpServers": {
           "mailjet": {
               "command": "node",
               "args": ["CHANGE/THIS/PATH/TO/mailjet-mcp-server/src/mailjet-mcp.js"],
               "env": {
                   "MAILJET_API_KEY": "YOUR_api_key:YOUR_secret_key"
               }
           }
       }
   }
   ```

### Supported environment variables

The following environment variables are currently supported by the server:

```sh
MAILJET_API_KEY="your_api_key:your_secret_key" # REQUIRED, used for authenticating your account
MAILJET_API_REGION="eu" # OPTIONAL, used to change to the EU servers, if desired
```


## Testing

Run the local test suite with:

```bash
NODE_ENV=test pnpm test
```

### Inspecting the server with MCP Inspector

[MCP Inspector](https://github.com/modelcontextprotocol/inspector) lets you list the tools, call them and read the raw protocol messages.

The server communicates over stdio, so the Inspector starts it for you. Run:

```bash
MAILJET_API_KEY="YOUR_api_key:YOUR_secret_key" pnpm inspect
```

The script forwards `MAILJET_API_KEY` from your shell to the server with the Inspector's `-e` flag. The Inspector does not pass your shell environment to the server it starts, so without it the server exits with `Please provide a valid MAILJET_API_KEY`. You can also set the variable in the **Environment Variables** field of the server settings in the Inspector UI.

Then open the URL printed in the terminal, click **Connect**, and use the **Tools** tab to list and call tools.

The Inspector runs a local proxy protected by a session token. Only run it on your own machine and do not expose its port.


### Sample Prompts with Claude

#### Find contacts information

```
Which of my contacts lists has the most subscribers?
```

#### Fetch and Visualize Sending Statistics

```
Would you be able to make a chart with email delivery statistics for the past week?
```

## Debugging

The MCP server communicates over stdio, please refer to [Debugging](https://modelcontextprotocol.io/docs/tools/debugging) section of the Model Context Protocol.

## Publishing

This package is published on the Mailjet NPM registry. The Mailjet team is responsible for publishing new package updates.
Feel free to create an issue if you noticed any divergence between the Github version and the NPM package available.

## License

This project is licensed under the Apache License 2.0. See [LICENSE](LICENSE) for details.

## Contributing

We welcome contributions! Please feel free to submit a Pull Request.