MCP server for Listmonk: AI agents manage subscribers, lists, campaigns, templates and media, and send transactional email. TypeScript, runs via bunx.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add listmonk --env LISTMONK_MCP_URL='<LISTMONK_MCP_URL>' --env LISTMONK_MCP_USERNAME='<LISTMONK_MCP_USERNAME>' --env LISTMONK_MCP_PASSWORD='<LISTMONK_MCP_PASSWORD>' -- npx -y listmonk-mcp-ts~/.codex/config.toml
[mcp_servers.listmonk]
command = "npx"
args = ["-y", "listmonk-mcp-ts"]
env = { LISTMONK_MCP_URL = "<LISTMONK_MCP_URL>", LISTMONK_MCP_USERNAME = "<LISTMONK_MCP_USERNAME>", LISTMONK_MCP_PASSWORD = "<LISTMONK_MCP_PASSWORD>" }
# codex mcp add listmonk --env LISTMONK_MCP_URL='<LISTMONK_MCP_URL>' --env LISTMONK_MCP_USERNAME='<LISTMONK_MCP_USERNAME>' --env LISTMONK_MCP_PASSWORD='<LISTMONK_MCP_PASSWORD>' -- npx -y listmonk-mcp-ts~/.cursor/mcp.json
{
"mcpServers": {
"listmonk": {
"command": "npx",
"args": [
"-y",
"listmonk-mcp-ts"
],
"env": {
"LISTMONK_MCP_URL": "<LISTMONK_MCP_URL>",
"LISTMONK_MCP_USERNAME": "<LISTMONK_MCP_USERNAME>",
"LISTMONK_MCP_PASSWORD": "<LISTMONK_MCP_PASSWORD>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"listmonk": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"listmonk-mcp-ts"
],
"env": {
"LISTMONK_MCP_URL": "<LISTMONK_MCP_URL>",
"LISTMONK_MCP_USERNAME": "<LISTMONK_MCP_USERNAME>",
"LISTMONK_MCP_PASSWORD": "<LISTMONK_MCP_PASSWORD>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"listmonk": {
"command": "npx",
"args": [
"-y",
"listmonk-mcp-ts"
],
"env": {
"LISTMONK_MCP_URL": "<LISTMONK_MCP_URL>",
"LISTMONK_MCP_USERNAME": "<LISTMONK_MCP_USERNAME>",
"LISTMONK_MCP_PASSWORD": "<LISTMONK_MCP_PASSWORD>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"listmonk": {
"command": "npx",
"args": [
"-y",
"listmonk-mcp-ts"
],
"env": {
"LISTMONK_MCP_URL": "<LISTMONK_MCP_URL>",
"LISTMONK_MCP_USERNAME": "<LISTMONK_MCP_USERNAME>",
"LISTMONK_MCP_PASSWORD": "<LISTMONK_MCP_PASSWORD>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"listmonk": {
"command": "npx",
"args": [
"-y",
"listmonk-mcp-ts"
],
"env": {
"LISTMONK_MCP_URL": "<LISTMONK_MCP_URL>",
"LISTMONK_MCP_USERNAME": "<LISTMONK_MCP_USERNAME>",
"LISTMONK_MCP_PASSWORD": "<LISTMONK_MCP_PASSWORD>"
}
}
}
}Environment variables
LISTMONK_MCP_URLLISTMONK_MCP_USERNAMELISTMONK_MCP_PASSWORD
Replace the placeholders with your own credentials and keep them out of version control.