Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

ActiveCampaign

by ohnebenversion 1.1.1i★ –iRuns on your computer
Registry nameio.github.ohneben/activecampaign-mcp

Install

Overview

Description from the maker (original English)

ActiveCampaign API: ~325 endpoints (v3, SMS, WhatsApp, Segments) as safety-categorized MCP tools.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Chat & email
  • You need to fill in: MCP_TRANSPORT, ACTIVECAMPAIGN_API_URL, ACTIVECAMPAIGN_API_TOKEN, MCP_AUTH_TOKEN

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: MCP_TRANSPORT, ACTIVECAMPAIGN_API_URL, ACTIVECAMPAIGN_API_TOKEN, MCP_AUTH_TOKEN

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "activecampaign": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "ACTIVECAMPAIGN_API_URL",
        "-e",
        "ACTIVECAMPAIGN_API_TOKEN",
        "-e",
        "MCP_AUTH_TOKEN",
        "ghcr.io/ohneben/activecampaign-mcp:1.1.1"
      ],
      "env": {
        "MCP_TRANSPORT": "your-value",
        "ACTIVECAMPAIGN_API_URL": "your-value",
        "ACTIVECAMPAIGN_API_TOKEN": "your-value",
        "MCP_AUTH_TOKEN": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add activecampaign --env MCP_TRANSPORT=your-value --env ACTIVECAMPAIGN_API_URL=your-value --env ACTIVECAMPAIGN_API_TOKEN=your-value --env MCP_AUTH_TOKEN=your-value -- docker run -i --rm -e MCP_TRANSPORT -e ACTIVECAMPAIGN_API_URL -e ACTIVECAMPAIGN_API_TOKEN -e MCP_AUTH_TOKEN ghcr.io/ohneben/activecampaign-mcp:1.1.1

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "activecampaign": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "ACTIVECAMPAIGN_API_URL",
        "-e",
        "ACTIVECAMPAIGN_API_TOKEN",
        "-e",
        "MCP_AUTH_TOKEN",
        "ghcr.io/ohneben/activecampaign-mcp:1.1.1"
      ],
      "env": {
        "MCP_TRANSPORT": "your-value",
        "ACTIVECAMPAIGN_API_URL": "your-value",
        "ACTIVECAMPAIGN_API_TOKEN": "your-value",
        "MCP_AUTH_TOKEN": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "activecampaign": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "ACTIVECAMPAIGN_API_URL",
        "-e",
        "ACTIVECAMPAIGN_API_TOKEN",
        "-e",
        "MCP_AUTH_TOKEN",
        "ghcr.io/ohneben/activecampaign-mcp:1.1.1"
      ],
      "env": {
        "MCP_TRANSPORT": "your-value",
        "ACTIVECAMPAIGN_API_URL": "your-value",
        "ACTIVECAMPAIGN_API_TOKEN": "your-value",
        "MCP_AUTH_TOKEN": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • MCP_TRANSPORT required env
    Server transport. Set to 'stdio' for local MCP clients; the image otherwise starts the Streamable HTTP transport.
  • ACTIVECAMPAIGN_API_URL required env
    Your account's API URL, copied from ActiveCampaign -> Settings -> Developer, e.g. https://your-account.api-us1.com/api/3
  • ACTIVECAMPAIGN_API_TOKEN secret required env
    Your ActiveCampaign API token (same Developer screen).
  • MCP_AUTH_TOKEN secret env
    Only for MCP_TRANSPORT=http: bearer token required on /mcp. Without it a non-loopback bind refuses to start.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account ohneben, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Chat & emaili

  • More stars than 0% of the other 1841 servers in this category
  • Published to the registry more recently than 33% of the other 1841 servers in this category
  • Basic checks equal to or better than 100% of the other 1841 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is ActiveCampaign safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: MCP_TRANSPORT, ACTIVECAMPAIGN_API_URL, ACTIVECAMPAIGN_API_TOKEN, MCP_AUTH_TOKEN

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.1.1) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.

What can I use instead?

In the same category: Vexa, emailmd, MCP WhatsApp Cloud

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Vexa

by Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

Runs in the cloud★ 2,949Apache-2.0Updated 2 months ago
Install

emailmd

by anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

Computer or cloud★ 1,385MITUpdated 32 days ago
Install

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

Runs on your computer★ 277MITUpdated 5 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

ohneben's ActiveCampaign MCP


License & checks
MCP registries

The most complete ActiveCampaign MCP server there is. Run your entire ActiveCampaign account in plain language from Claude, Cursor, or any other MCP client.

This Model Context Protocol server exposes the whole ActiveCampaign account API — ~325 tools — covering the v3 REST API plus the SMS, WhatsApp and async Segments APIs, generated straight from ActiveCampaign's own OpenAPI definitions. Every tool is safety-categorized (🟢 read-only / 🟡 write / 🔴 destructive) so your assistant knows what an action does *before* it calls it. It runs over stdio (Claude Desktop and other local launchers) or Streamable HTTP (hosted in Docker), and ships with retries, client-side rate limiting tuned to ActiveCampaign's 5 req/s cap, and request timeouts so it holds up against a live account.

Why you'll want this

Some MCP servers just forward a slice of the API. This one is built to be safe to hand to an LLM, complete, and easy to run for real:

What you getWhy it matters
~325 tools — the full account APIComplete coverage of contacts, deals, accounts, lists, tags, custom fields & objects, ecommerce (deep data), campaigns, messages, automations, segments, webhooks, tasks, calendars, site/event tracking, SMS and WhatsApp — nothing hand-picked or left behind. Other servers stop at ~60.
Curated safety categories 🟢 / 🟡 / 🔴Not naive "GET = safe": contact sync is flagged as an upsert, a segment-match POST as a read-only query, tagging a contact as a link, and POST /sms/broadcasts as sends messages — so the model knows the real blast radius.
Machine-readable MCP annotations (readOnlyHint, destructiveHint)Hosts that honor annotations (Claude included) can auto-trust reads and demand confirmation before anything destructive.
Read-only mode & resource filteringExpose only 🟢 read-only tools (ACTIVECAMPAIGN_READ_ONLY=true), or narrow to just the groups you use (ACTIVECAMPAIGN_INCLUDE_GROUPS=contacts,deals,lists). Tailor the surface per deployment.
Pagination made first-classlimit, offset, orders[…] and filters[…] are injected onto every list endpoint as typed inputs, so the assistant can page, sort and filter without guessing ActiveCampaign's bracket syntax.
Automatic retries with backoffTransient 429 / 5xx responses are retried with jittered exponential backoff, honoring the server's Retry-After header.
Built-in rate limitingSelf-throttles under ActiveCampaign's 5 requests / second account cap so a burst of tool calls never trips a 429.
Response-size guardOptionally cap huge list responses (ACTIVECAMPAIGN_MAX_RESPONSE_CHARS) so one call can't blow the model's context window.
GraphQL passthroughA bonus tool for ActiveCampaign's Ecommerce GraphQL API when you want to shape exactly the fields you need in one round-trip.
**Two transports: stdio *and* Streamable HTTP**Use it locally in Claude Desktop, or run one always-on server that any number of MCP clients reach over HTTP.
Docker + docker-compose, health check, auto-restartProduction-style deployment out of the box: docker compose up and it stays up.
Optional bearer-token auth on the HTTP endpointPut the server behind a shared secret the moment it's reachable beyond localhost.
Your token never reaches the modelThe Api-Token lives in the server's environment and is injected on every request — the assistant only ever sees tool inputs and API responses.
Drop-in spec updatesActiveCampaign ships newer OpenAPI JSON? Replace the file in spec/ and rebuild — new endpoints become new tools automatically, no code changes.

How it compares

There are a few ways to reach ActiveCampaign from an AI assistant today. Here's how this server stacks up against the alternatives:

This serverOfficial AC remote MCPHighLiuk mcp-server-activecampaignmcp-activecampaign (PyPI)CData MCP
Approx. tools~325curated subset58~653 (generic SQL)
Full v3 REST coverage✅➖➖ core CRM➖ broad CRM❌
SMS · WhatsApp · Segments✅❌❌❌❌
Ecommerce deep data + GraphQL✅➖❌➖❌
Reads and writes✅✅✅✅❌ read-only
Self-hosted on your own infra✅❌ vendor cloud✅✅✅
Connects directly to the AC API✅✅✅✅❌ via JDBC driver
stdio transport✅❌✅✅✅
Streamable-HTTP transport✅✅➖➖❌
Docker + compose + health check✅n/a❌❌❌
Curated 🟢 / 🟡 / 🔴 safety categories✅➖➖ partial➖n/a
readOnlyHint / destructiveHint✅➖➖➖➖
Read-only mode + group filtering✅❌❌❌always read-only
Rate limiting + auto-retry (429/5xx)✅➖❌➖❌
LanguageTypeScript—TypeScriptPythonJava
LicenseMITproprietaryMITMITMIT

✅ = yes · ➖ = partial / not documented · ❌ = no. Compiled from each project's public documentation; this is an unofficial project, not affiliated with ActiveCampaign or the projects listed. Tool counts are approximate and move as APIs evolve.

The short version: the official remote MCP is a great managed on-ramp but runs in ActiveCampaign's cloud on a curated slice of the API. The community servers are solid but top out around 60 tools of core CRM, stdio-only, without a deployment story. This one gives you the entire account API, both transports, a Docker deployment, and safety guardrails — self-hosted, on your token, MIT.

What you can do

Once it's connected, ask your assistant things like:

  • "Find the contact jane@example.com and show her tags, lists and recent activity."
  • "Create a deal for Acme Corp worth $12,000 in the 'Sales' pipeline, stage 'Qualified'."
  • "List contacts added this month who opened the last campaign but haven't been tagged 'engaged'."
  • "Add the tag 'webinar-2026' to every contact on list 5."
  • "Show total ecommerce revenue and the top 10 orders from last week."
  • "Create a segment of customers in Germany and count how many match."
  • "Draft an SMS broadcast to the 'VIP' list — but don't send it until I confirm."

Tools are generated automatically from ActiveCampaign's specs and grouped into 🟢 read-only, 🟡 write and 🔴 destructive — so a well-behaved host can treat each group differently.

How it works

Claude / Cursor / any MCP client  ──MCP──►  this server  ──HTTPS──►  ActiveCampaign API (your account)

The server parses the bundled OpenAPI definitions into MCP tools (resolving $refs and guarding against recursive schemas), tags each with a curated safety category, and injects your Api-Token header on every outgoing request. Your token stays in the server's environment — the model never sees or handles it.

Requirements

  • An ActiveCampaign account with API access — your API URL and API token from Settings → Developer. See Get your API credentials.
  • Docker (Docker Desktop on macOS/Windows) for the quick start below — or Node.js ≥ 18 to run from source.

Quick start (Docker)

1. Add your credentials. Copy the example config and fill it in:

cp .env.example .env

edit .env → set ACTIVECAMPAIGN_API_URL and ACTIVECAMPAIGN_API_TOKEN

→ set MCP_AUTH_TOKEN to a long random string if reachable beyond localhost

2. Start the server:

docker compose up -d --build

The bundled docker-compose.yml binds to 127.0.0.1:8765 only, so the server is reachable from your machine but not the network.

3. Confirm it's running:

curl -s http://localhost:8765/health

→ {"status":"ok","server":"activecampaign-mcp","tools":325}

4. Connect your MCP client. The MCP endpoint is http://localhost:8765/mcp.

  • Claude Desktop — add a custom connector (Settings → Connectors) pointing at the URL, or bridge it locally with mcp-remote. Add this under mcpServers in your config, then fully quit and reopen the app:
  {

"mcpServers": { "activecampaign": { "command": "npx", "args": [ "mcp-remote", "http://localhost:8765/mcp", "--header", "Authorization: Bearer YOUR_MCP_AUTH_TOKEN" ] } } }

(Drop the --header line if you left MCP_AUTH_TOKEN empty.)

  • Claude Code — one command:
  claude mcp add --transport http activecampaign http://localhost:8765/mcp
  • Claude Cowork — shares Claude Code's MCP config, so the command above makes the tools available there too.
Prefer a prebuilt image?

Every push to main publishes a ready-to-run image to the GitHub Container Registry, so you can skip the local build entirely:

docker run -d --name activecampaign-mcp -p 127.0.0.1:8765:8765 --env-file .env \

ghcr.io/ohneben/activecampaign-mcp:latest

Get your API credentials

  1. Log in to ActiveCampaign and open Settings → Developer.
  2. Copy your API URL → ACTIVECAMPAIGN_API_URL. It looks like https://your-account.api-us1.com/api/3. Use the exact URL shown — not all accounts are on api-us1, and custom domains differ.
  3. Copy your API Key → ACTIVECAMPAIGN_API_TOKEN.

Put both in .env. The server injects the token on every request, so your assistant never sees it.

Configuration

Everything is set in .env (copied from .env.example):

VariableRequiredDefaultDescription
ACTIVECAMPAIGN_API_URL✅—Your account's API URL, incl. /api/3
ACTIVECAMPAIGN_API_TOKEN✅—Your API token (Api-Token header)
MCP_TRANSPORT—stdiostdio or http (the Docker image defaults to http)
PORT—8765HTTP listen port
HOST—0.0.0.0HTTP bind address
MCP_HTTP_PATH—/mcpHTTP MCP route
MCP_AUTH_TOKEN—_(off)_Require Authorization: Bearer on /mcp
ACTIVECAMPAIGN_MAX_REQUESTS—4Client-side requests per window (0 disables throttling)
ACTIVECAMPAIGN_RATE_WINDOW_MS—1000Rate-limit window in ms (default: 4 req/s)
ACTIVECAMPAIGN_MAX_RETRIES—3Retries on 429 / 5xx / network errors
ACTIVECAMPAIGN_TIMEOUT_MS—30000Per-attempt request timeout

| ACTIVECAMPAIGN_READ_ONLY | — | false | Expose only 🟢 read-only to

Only the beginning is shown; read the rest in the repo

Ask PopNx