mcp-mautic
Provides tools for interacting with the Mautic marketing automation API, enabling management of contacts, segments, campaigns, emails, forms, pages, assets, points, stages, tags, notes, webhooks, reports, stats, users, roles, dynamic content, focus items, SMS, notifications, and more.
Click on "Install 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., "@mcp-mauticshow me all contacts in the 'VIP' segment"
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.
mcp-mautic
A comprehensive Model Context Protocol (MCP) server for the Mautic marketing automation API.
Features
203 tools covering the full Mautic REST API
OAuth2 client-credentials authentication with automatic token refresh
Covers: Contacts, Companies, Segments, Campaigns, Emails, Forms, Pages, Assets, Points, Stages, Tags, Notes, Webhooks, Reports, Stats, Users, Roles, Dynamic Content, Focus Items, SMS, Notifications, and more
Campaign import/export with ZIP packaging
CSV contact import
GDPR-compliant contact erasure and DNC management
Batch operations for contacts and segments
Stats API with advanced filtering
Requirements
Node.js >= 18
A Mautic instance with OAuth2 API credentials (client credentials grant)
Installation
git clone https://github.com/esanum/mcp-mautic.git
cd mcp-mautic
npm installConfiguration
Set the following environment variables:
Variable | Description |
| Your Mautic instance URL (e.g. |
| OAuth2 client ID |
| OAuth2 client secret |
| (optional) Token endpoint, defaults to |
Setting up OAuth2 in Mautic
Go to Settings > API Credentials in your Mautic instance
Create a new OAuth 2 credential
Set the Grant Type to
Client CredentialsCopy the Client ID and Client Secret
Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"mautic": {
"command": "node",
"args": ["/path/to/mcp-mautic/server.js"],
"env": {
"MAUTIC_BASE_URL": "https://mautic.example.com",
"MAUTIC_CLIENT_ID": "your_client_id",
"MAUTIC_CLIENT_SECRET": "your_client_secret"
}
}
}
}macOS Setup Guide (Step by Step)
This walks you through a clean setup on a Mac, from installing Node.js to seeing the Mautic tools inside Claude Desktop. Replace yourusername with your actual macOS user (run whoami in Terminal to check).
1. Install Node.js via nvm
If you don't have Node 18+ already, the easiest way is nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashClose and reopen Terminal, then:
nvm install 20
nvm use 20Find the absolute path to your node binary — you'll need it in the config:
which nodeYou'll get something like /Users/yourusername/.nvm/versions/node/v20.18.1/bin/node. Claude Desktop does not inherit your shell's PATH, so using the absolute path is the most reliable option.
2. Clone and install the MCP server
cd ~
git clone https://github.com/esanum/mcp-mautic.git
cd mcp-mautic
npm install3. Locate and edit the Claude Desktop config
The config file lives at:
~/Library/Application Support/Claude/claude_desktop_config.jsonIn Finder you can jump there with Cmd+Shift+G and pasting the path. If the file doesn't exist yet, create it with the skeleton below.
4. Single-instance example
{
"mcpServers": {
"mautic": {
"command": "/Users/yourusername/.nvm/versions/node/v20.18.1/bin/node",
"args": ["/Users/yourusername/mcp-mautic/server.js"],
"env": {
"MAUTIC_BASE_URL": "https://mautic.example.com",
"MAUTIC_TOKEN_URL": "https://mautic.example.com/oauth/v2/token",
"MAUTIC_CLIENT_ID": "your_client_id",
"MAUTIC_CLIENT_SECRET": "your_client_secret",
"PATH": "/Users/yourusername/.nvm/versions/node/v20.18.1/bin:/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin"
}
}
}
}The PATH entry in env isn't strictly required when you use an absolute command path, but it helps if any child processes (git, etc.) need to be found.
5. Multi-instance example
You can connect several Mautic instances in parallel — each one gets its own server entry with its own MAUTIC_BASE_URL and credentials. Claude will expose each as a separate toolset (e.g. mautic, mautic-staging, mautic-de):
{
"mcpServers": {
"mautic": {
"command": "/Users/yourusername/.nvm/versions/node/v20.18.1/bin/node",
"args": ["/Users/yourusername/mcp-mautic/server.js"],
"env": {
"MAUTIC_BASE_URL": "https://mautic.example.com",
"MAUTIC_TOKEN_URL": "https://mautic.example.com/oauth/v2/token",
"MAUTIC_CLIENT_ID": "your_client_id_prod",
"MAUTIC_CLIENT_SECRET": "your_client_secret_prod",
"PATH": "/Users/yourusername/.nvm/versions/node/v20.18.1/bin:/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin"
}
},
"mautic-staging": {
"command": "/Users/yourusername/.nvm/versions/node/v20.18.1/bin/node",
"args": ["/Users/yourusername/mcp-mautic/server.js"],
"env": {
"MAUTIC_BASE_URL": "https://staging.mautic.example.com",
"MAUTIC_TOKEN_URL": "https://staging.mautic.example.com/oauth/v2/token",
"MAUTIC_CLIENT_ID": "your_client_id_staging",
"MAUTIC_CLIENT_SECRET": "your_client_secret_staging",
"PATH": "/Users/yourusername/.nvm/versions/node/v20.18.1/bin:/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin"
}
}
}
}Tip: each Mautic instance needs its own OAuth2 credential pair — create one per instance under Settings → API Credentials and keep the IDs straight by naming the server entries clearly.
6. Restart Claude Desktop
Quit Claude fully (Cmd+Q — just closing the window is not enough), then reopen it. Under Search and tools the Mautic servers should now appear. Click one to see the list of available Mautic tools.
7. Troubleshooting on macOS
Logs live here:
~/Library/Logs/Claude/mcp*.logCommon issues:
Server fails to start / "command not found" — the
commandpath is wrong. Re-runwhich nodeand paste the exact path."Cannot find module" — you forgot
npm installin themcp-mauticfolder, or theargspath doesn't point to the actualserver.js.401 from Mautic — OAuth credentials or
MAUTIC_BASE_URLwrong; double-check the grant type isClient Credentials.JSON parse error on startup —
claude_desktop_config.jsonhas a syntax error. Missing comma between server blocks is the usual culprit. Validate withjsonlintor any online JSON validator before restarting.Changes don't take effect — make sure you fully quit Claude Desktop (
Cmd+Q), not just closed the window.
Tool Categories
Category | Tools | Examples |
Contacts | 25+ | list, get, create, update, delete, merge, batch ops, GDPR erase |
Segments | 8+ | list, get, create, update, delete, membership, batch add/remove |
Campaigns | 12+ | list, get, create, update, delete, clone, import/export, events |
Emails | 12+ | list, get, create, update, delete, send to contact/segment, stats |
Forms | 10+ | list, get, create, update, delete, submissions, fields, actions |
Companies | 8+ | list, get, create, update, delete, contacts, fields |
Pages | 6+ | list, get, create, update, delete, hit stats |
Assets | 6+ | list, get, create, update, delete, download stats |
Points | 10+ | actions, triggers, groups, add/subtract, change log |
Stages | 6+ | list, get, create, update, add/remove contacts |
Tags | 5 | list, get, create, update, delete |
Notes | 5 | list, get, create, update, delete |
Reports | 3 | list, get report, get report data |
Stats | 3 | list tables, get columns, query stats |
Users & Roles | 8+ | list, get, create, update, delete, permissions |
Webhooks | 6+ | list, get, create, update, delete, triggers, logs |
Dynamic Content | 5+ | list, get, create, update, delete, stats |
Focus Items | 5+ | list, get, create, update, delete, stats |
SMS | 5+ | list, get, create, update, send, stats |
Notifications | 5+ | list, get, create, update, send, stats |
Dashboard | 2 | get data, get data by type |
Categories | 5 | list, get, create, update, delete |
Files | 3 | list, create, delete |
Audit Log | 1 | get audit log entries |
License
ISC
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/esanum/mcp-mautic'
If you have feedback or need assistance with the MCP directory API, please join our Discord server