mcpField
A
ActiveCampaign

ActiveCampaign

ローカル
github.comビジネス・マーケティング16 週間前に更新

ActiveCampaign について

ActiveCampaign は、MCP クライアントから ActiveCampaign アカウントを操作するための MCP サーバーです。v3 REST、SMS、WhatsApp、Segments API から安全性分類付きのツールを生成し、読み取り専用の絞り込みと複数の通信方式に対応します。

主な機能

  1. 01幅広いアカウント API 操作を収録
  2. 02読み取り専用・書き込み・破壊的操作に分類
  3. 03読み取り専用モードとリソースグループ絞り込み
  4. 04ページング・並べ替え・フィルター入力
  5. 05リトライとリクエスト頻度制限
  6. 06stdio と Streamable HTTP に対応

活用シーン

  1. 01連絡先とタグ、アクティビティの確認
  2. 02取引の作成や連絡先の更新
  3. 03キャンペーンデータの絞り込みと確認
  4. 04確認前の SMS 一斉配信の準備

MCP 対応

ActiveCampaign API の操作をツールとして MCP クライアントに提供し、stdio と Streamable HTTP に対応します。API 認証情報はサーバー環境に保持し、読み取り専用モード、リソースグループの絞り込み、HTTP エンドポイント認証を設定できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ohneben-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": "<MCP_TRANSPORT>",
"ACTIVECAMPAIGN_API_URL": "<ACTIVECAMPAIGN_API_URL>",
"ACTIVECAMPAIGN_API_TOKEN": "<ACTIVECAMPAIGN_API_TOKEN>",
"MCP_AUTH_TOKEN": "<MCP_AUTH_TOKEN>"
}
}
}
}
起動コマンド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
設定が必要な環境変数
MCP_TRANSPORTServer transport. Set to 'stdio' for local MCP clients; the image otherwise starts the Streamable HTTP transport.
ACTIVECAMPAIGN_API_URLYour account's API URL, copied from ActiveCampaign -> Settings -> Developer, e.g. https://your-account.api-us1.com/api/3
ACTIVECAMPAIGN_API_TOKENシークレットYour ActiveCampaign API token (same Developer screen).
MCP_AUTH_TOKENシークレットOnly for MCP_TRANSPORT=http: bearer token required on /mcp. Without it a non-loopback bind refuses to start.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/ohneben/activecampaign-mcp:1.1.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ohneben の ActiveCampaign MCP

Buy Me A Coffee


ライセンスとチェック

CI License: MIT

MCP レジストリ

MCP Registry Listed on mcpservers.org ActiveCampaign-MCP MCP server

現存する最も包括的な ActiveCampaign MCP サーバーです。 ActiveCampaign アカウント全体を、Claude、Cursor、またはその他の MCP クライアントから、自然な言葉で操作できます。

この Model Context Protocol サーバーは、ActiveCampaign アカウントの API 全体(約 325 個のツール)を公開し、v3 REST API に加えて、SMS、WhatsApp、非同期の Segments API に対応しています。これらはすべて ActiveCampaign 独自の OpenAPI 定義から直接生成されています。各ツールには安全性カテゴリ(🟢 読み取り専用/🟡 書き込み/🔴 破壊的操作)が付与されているため、アシスタントはアクションを実行する前にその内容を把握できます。stdio(Claude Desktop などのローカルランチャー)または Streamable HTTP(Docker でホスト)で動作し、リトライ、ActiveCampaign の毎秒 5 リクエストの上限に合わせたクライアント側のレート制限、ライブアカウントで安定して動作するためのリクエストタイムアウトを備えています。

これを使いたくなる理由

MCP サーバーの中には、API の一部をそのまま転送するだけのものもあります。このサーバーは、LLM に安心して渡せること、網羅性があること、実運用しやすいことを目指して構築されています。

得られるもの重要な理由
約325個のツール — アカウント API 全体コンタクト、取引、アカウント、リスト、タグ、カスタムフィールドとオブジェクト、E コマース(詳細データ)、キャンペーン、メッセージ、自動化、セグメント、Webhook、タスク、カレンダー、サイト/イベントトラッキング、SMS、WhatsApp を完全に網羅しています。厳選したものだけを扱ったり、何かを対象外にしたりすることはありません。他のサーバーは約60個で止まります。
厳選された安全性カテゴリ 🟢 / 🟡 / 🔴単純に「GET = 安全」と判断するわけではありません。contact sync は upsert、セグメント一致の POST は 読み取り専用クエリ、コンタクトへのタグ付けは リンク、POST /sms/broadcasts は メッセージ送信としてフラグが付けられるため、モデルは実際の影響範囲を把握できます。
機械可読な MCP アノテーション(readOnlyHint、destructiveHint)アノテーションに対応するホスト(Claude など)は、読み取り操作を自動的に信頼し、破壊的な操作の前に確認を求めることができます。
読み取り専用モードとリソースのフィルタリング読み取り専用の 🟢 ツールだけを公開する(ACTIVECAMPAIGN_READ_ONLY=true)か、使用するグループだけに絞り込めます(ACTIVECAMPAIGN_INCLUDE_GROUPS=contacts,deals,lists)。デプロイごとに公開範囲を調整できます。
ページネーションを標準機能として提供すべてのリストエンドポイントに limit、offset、orders[…]、filters[…] が型付き入力として追加されるため、アシスタントは ActiveCampaign の角括弧構文を推測せずに、ページを移動し、並べ替え、フィルタリングできます。
バックオフ付きの自動再試行一時的な 429 / 5xx 応答は、ジッターを加えた指数バックオフで再試行され、サーバーの Retry-After ヘッダーも尊重されます。
組み込みのレート制限ActiveCampaign アカウントの上限である 毎秒5リクエストを超えないよう自動的にスロットリングするため、ツール呼び出しが集中しても 429 は発生しません。
レスポンスサイズ制限巨大なリストのレスポンスを任意で制限できます(ACTIVECAMPAIGN_MAX_RESPONSE_CHARS)。これにより、1回の呼び出しでモデルのコンテキストウィンドウがあふれることを防げます。
GraphQL パススルー1回のリクエストで必要なフィールドを正確に指定したい場合に使える、ActiveCampaign の E コマース GraphQL API 用の追加ツールです。
2種類のトランスポート:stdio と Streamable HTTPClaude Desktop でローカルに使用することも、任意の数の MCP クライアントが HTTP 経由でアクセスできる常時稼働サーバーとして実行することもできます。
Docker と docker-compose、ヘルスチェック、自動再起動本番環境向けのデプロイ設定がすぐに使えます。docker compose up を実行すれば、そのまま稼働し続けます。
HTTP エンドポイントでの任意のベアラートークン認証localhost の外部からアクセス可能になった時点で、サーバーを共有シークレットで保護できます。
トークンがモデルに渡ることはありませんApi-Token はサーバーの環境変数に保存され、すべてのリクエストに挿入されます。アシスタントに見えるのは、ツールの入力と API のレスポンスだけです。
仕様を置き換えるだけで更新可能ActiveCampaign が新しい OpenAPI JSON を公開したら、spec/ 内のファイルを置き換えて再ビルドするだけで、新しいエンドポイントが自動的に新しいツールになります。コードを変更する必要はありません。

比較

現在、AI アシスタントから ActiveCampaign に接続する方法はいくつかあります。このサーバーを他の選択肢と比較すると、次のようになります。

このサーバー公式 AC リモート MCPHighLiuk mcp-server-activecampaignmcp-activecampaign (PyPI)CData MCP
ツール数の目安約325厳選された一部58約653(汎用 SQL)
v3 REST API を完全にカバー✅➖➖ 中核 CRM➖ CRM の広範囲❌
SMS・WhatsApp・セグメント✅❌❌❌❌
Eコマースの詳細データ+GraphQL✅➖❌➖❌
読み取りと書き込み✅✅✅✅❌ 読み取り専用
独自のインフラでセルフホスト✅❌ ベンダーのクラウド✅✅✅
AC API に直接接続✅✅✅✅❌ JDBC ドライバー経由
stdio トランスポート✅❌✅✅✅
Streamable-HTTP トランスポート✅✅➖➖❌
Docker+compose+ヘルスチェック✅該当なし❌❌❌
厳選された 🟢/🟡/🔴 の安全カテゴリ✅➖➖ 一部➖該当なし
readOnlyHint / destructiveHint✅➖➖➖➖
読み取り専用モード+グループフィルタリング✅❌❌❌常に読み取り専用
レート制限+自動再試行(429/5xx)✅➖❌➖❌
言語TypeScript—TypeScriptPythonJava
ライセンスMITプロプライエタリMITMITMIT

✅ = 対応 · ➖ = 一部対応/未記載 · ❌ = 非対応。各プロジェクトの公開ドキュメントをもとにまとめています。これは非公式プロジェクトであり、ActiveCampaign や記載されているプロジェクトとは提携していません。ツール数は概算で、API の進化に伴い変動します。

簡単に言うと: 公式のリモート MCP は優れたマネージド環境への入り口ですが、ActiveCampaign のクラウド上で、API の厳選された一部のみを利用できます。コミュニティ製サーバーも堅実ですが、中核 CRM のツール数は約60が上限で、stdio のみの対応であり、デプロイ方法も用意されていません。このサーバーなら、セルフホスト環境で自分のトークンを使い、アカウント API 全体、両方のトランスポート、Docker によるデプロイ、安全対策を利用できます。ライセンスは MIT です。

できること

接続すると、アシスタントに次のようなことを頼めます。

  • 「[email protected] の連絡先を探して、タグ、リスト、最近のアクティビティを表示して。」
  • 「Acme Corp に対し、金額 $12,000 の取引を『Sales』パイプラインの『Qualified』ステージに作成して。」
  • 「今月追加された連絡先のうち、前回のキャンペーンを開封したものの、『engaged』タグが付いていない連絡先を一覧表示して。」
  • 「リスト 5 のすべての連絡先に『webinar-2026』タグを追加して。」
  • 「先週の Eコマースの総売上と、売上上位 10 件の注文を表示して。」
  • 「ドイツの顧客セグメントを作成して、該当する顧客数を数えて。」
  • 「『VIP』リストに SMS 一斉配信の下書きを作成して。ただし、確認するまで送信しないで。」

ツールは ActiveCampaign の仕様から自動生成され、🟢 読み取り専用、🟡 書き込み、🔴 破壊的操作に分類されます。そのため、適切に動作するホストは各グループを異なる方法で扱えます。

仕組み

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

サーバーは、同梱された OpenAPI 定義を MCP ツールに解析し($ref を解決し、再帰スキーマに対する保護を適用します)、それぞれに厳選された安全カテゴリのタグを付け、すべての送信リクエストに Api-Token ヘッダーを付与します。トークンはサーバーの環境内に保持され、モデルがトークンを見ることも扱うこともありません。

必要条件

  • API アクセスが有効な ActiveCampaign アカウント — Settings → Developer で確認できる API URL と API トークンが必要です。API 認証情報を取得するを参照してください。
  • この後のクイックスタートには Docker(macOS/Windows では Docker Desktop)が必要です。または、Node.js ≥ 18 を使ってソースから実行できます。

クイックスタート(Docker)

1. 認証情報を追加します。 サンプル設定をコピーして、内容を記入します。

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. サーバーを起動します。

docker compose up -d --build

付属の docker-compose.yml は 127.0.0.1:8765 のみにバインドするため、サーバーにはマシンからアクセスできますが、ネットワークからはアクセスできません。

3. 起動を確認します。

curl -s http://localhost:8765/health
# → {"status":"ok","server":"activecampaign-mcp","tools":325}

4. MCP クライアントを接続します。 MCP エンドポイントは http://localhost:8765/mcp です。

  • Claude Desktop — URL を指定するカスタムコネクターを追加(Settings → Connectors)するか、mcp-remote を使ってローカルでブリッジします。設定の mcpServers に以下を追加してから、アプリを完全に終了し、再度開きます。

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

    (MCP_AUTH_TOKEN を空のままにした場合は、--header の行を削除してください。)

  • Claude Code — 次のコマンドを実行します。

    claude mcp add --transport http activecampaign http://localhost:8765/mcp
    
  • Claude Cowork — Claude Code の MCP 設定を共有するため、上記のコマンドを実行すると、こちらでもツールを利用できるようになります。

ビルド済みイメージを使いますか?

main へのプッシュごとに、すぐに実行できるイメージが GitHub Container Registry に公開されるため、ローカルでのビルドを省略できます。

docker run -d --name activecampaign-mcp -p 127.0.0.1:8765:8765 --env-file .env \
  ghcr.io/ohneben/activecampaign-mcp:latest

API 認証情報を取得する

  1. ActiveCampaign にログインし、Settings → Developer を開きます。
  2. API URL をコピーして、ACTIVECAMPAIGN_API_URL に設定します。形式は https://your-account.api-us1.com/api/3 です。表示された URL をそのまま使用してください。すべてのアカウントが api-us1 にあるわけではなく、カスタムドメインも異なります。
  3. API Key をコピーして、ACTIVECAMPAIGN_API_TOKEN に設定します。

両方を .env に記入します。サーバーはすべてのリクエストにトークンを付加するため、アシスタントにトークンが見えることはありません。

設定

すべての設定は .env(.env.example からコピー)で行います。

変数必須デフォルト説明
ACTIVECAMPAIGN_API_URL✅—アカウントの API URL。/api/3 を含みます
ACTIVECAMPAIGN_API_TOKEN✅—API トークン(Api-Token ヘッダー)
MCP_TRANSPORT—stdiostdio または http(Docker イメージのデフォルトは http)
PORT—8765HTTP リッスンポート
HOST—0.0.0.0HTTP バインドアドレス
MCP_HTTP_PATH—/mcpHTTP MCP ルート
MCP_AUTH_TOKEN—(オフ)/mcp で Authorization: Bearer <token> を必須にします
ACTIVECAMPAIGN_MAX_REQUESTS—4ウィンドウごとのクライアント側リクエスト数(0 でスロットリングを無効化)
ACTIVECAMPAIGN_RATE_WINDOW_MS—1000レート制限のウィンドウ(ミリ秒、デフォルト:4 リクエスト/秒)
ACTIVECAMPAIGN_MAX_RETRIES—3429/5xx/ネットワークエラー時の再試行回数
ACTIVECAMPAIGN_TIMEOUT_MS—300001 回の試行あたりのリクエストタイムアウト
ACTIVECAMPAIGN_READ_ONLY—false🟢 読み取り専用ツールのみを公開します
ACTIVECAMPAIGN_INCLUDE_GROUPS—(すべて)これらのリソースグループのみを公開します(カンマ区切り)
ACTIVECAMPAIGN_EXCLUDE_GROUPS—(なし)これらのリソースグループを非表示にします
ACTIVECAMPAIGN_ENABLE_GRAPHQL—trueEcommerce GraphQL パススルーツールを公開します
ACTIVECAMPAIGN_GRAPHQL_URL—(派生値)GraphQL エンドポイントを上書きします
ACTIVECAMPAIGN_MAX_RESPONSE_CHARS—0N 文字を超えるレスポンスを切り詰めます(0 = 切り詰めない)
ACTIVECAMPAIGN_SPEC_DIR—(同梱)別のディレクトリから OpenAPI ファイルを読み込みます

.env を変更した後、docker compose up -d --force-recreate で再読み込みします。

npm run list-tools を実行すると(認証情報は不要)、カタログ全体、カテゴリごとの件数、フィルターに使用できるリソースグループキーの一覧が表示されます。

ツールの安全性カテゴリ

各ツールの説明は、次のバナーのいずれかで始まり、対応する MCP アノテーションが付与されています。

バナー数readOnlyHintdestructiveHint意味
🟢 読み取り専用155truefalseGET — データを取得するだけです。安全です。
🟢 読み取り専用 · クエリ7truefalse検索/レポートを行うPOST(セグメント照合、メトリクスのエクスポートなど)— データは変更しません。
🟡 書き込み · データを作成51falsefalsePOST — レコードを作成します(冪等ではないため、重複する場合があります)。
🟡 書き込み · 作成または更新1falsefalse冪等なアップサート(contact sync)。
🟡 書き込み · データを更新52falsefalsePUT/PATCH — レコードを直接変更します。
🟡 書き込み · レコードを関連付け6falsefalseレコードを関連付けます(連絡先にタグを付ける、リスト/オートメーションに追加する)。取り消し可能です。
🟡 書き込み · レコードの関連付けを解除5falsefalse関連付けを解除します(タグの削除、リストからの削除)。取り消し可能です。
🟡 書き込み · メッセージを送信3falsefalseSMS または WhatsApp メッセージを送信/予約送信します。
🟡 GraphQL1falsefalse任意の GraphQL ドキュメント(ミューテーションを含む場合があります)。
🔴 破壊的 · データを削除42falsetrueDELETE — レコードを削除します。事前に確認してください。
🔴 破壊的 · 一括削除2falsetrue複数のレコードを一度に削除します。事前に確認してください。

合計は読み取り専用 162 · 書き込み 119 · 破壊的 44 = 325 ツールです。アノテーションを尊重するホスト(Claude など)では、 destructiveHint ツールの実行に確認を必須にし、readOnlyHint ツールを自動的に信頼できます。さらに厳しく制限しますか?ACTIVECAMPAIGN_READ_ONLY=true を設定すると、読み取り専用の 162 ツールのみが公開されます。

分野別の対象範囲(🟢 読み取り/🟡 書き込み/🔴 破壊的)
分野🟢 読み取り🟡 書き込み🔴 削除ツール
カスタムフィールドとオブジェクト1825952
取引とパイプライン1923951
連絡先3011243
キャンペーンとメッセージング1510429
管理と配信128626
アカウント813425
セグメント163120
EC(詳細データ)96318
SMS124117
リスト、タグ、フォーム85215
サイトとイベントのトラッキング75214
WhatsApp75113
オートメーション1001
GraphQL パススルー—1—1
合計16211944325

ソースから実行(stdio、Docker 不使用)

Claude Desktop で従来の stdio モードを使いますか?ローカルでビルドします。

npm install
npm run build

次に、コンパイル済みのエントリーポイントを claude_desktop_config.jsonで Claude Desktop に指定します。

{
  "mcpServers": {
    "activecampaign": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/ActiveCampaign-MCP/dist/index.js"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "ACTIVECAMPAIGN_API_URL": "https://your-account.api-us1.com/api/3",
        "ACTIVECAMPAIGN_API_TOKEN": "your-api-token"
      }
    }
  }
}

仕様を最新の状態に保つ

同梱されているspec/内のファイルが、ツールの信頼できる情報源です。

ファイルAPI認証ヘッダー
v3.jsonCore v3 REST APIApi-Token
sms.jsonSMS Broadcast APIApi-Token
whatsapp.jsonWhatsApp channel APIToken(Api-Tokenも送信)
segments-crud.json, segments-match-one.json, segments-match-all-some.jsonAsync Segments APIApi-Token

新しい API バージョンに合わせて更新するには、更新された OpenAPI JSON を配置するか (同じファイル名を使うディレクトリをACTIVECAMPAIGN_SPEC_DIRに指定して)、再ビルドします。新しいパスは自動的に新しいツールになります。コードの変更は不要です。

開発

npm install
npm run build      # compile TypeScript → dist/
npm test           # run the Vitest suite
npm run list-tools # print the categorized tool catalog (no credentials needed)

CI では Node 20 と 22 を対象に、すべてのプッシュでビルドとテストを実行します。mainへのプッシュでは、GitHub Container Registry に Docker イメージも公開されます。

注意事項と規約

  • トランスポート:ローカルランチャーでは MCP_TRANSPORT=stdio(デフォルト)を使用します。 Docker イメージが実行する常時稼働の Streamable-HTTP サーバーでは MCP_TRANSPORT=http を使用します。
  • ページング/並べ替え/フィルタリング:リストツールでは limit(最大 100)、offset、 orders({"email":"ASC"})、filters({"name":"ecom"})を指定できます。非常に大量の コンタクトをエクスポートする場合、ActiveCampaign は orders={"id":"ASC"} と id_greater の 組み合わせを推奨しています。
  • レート制限:ActiveCampaign では、アカウントごとに 1 秒あたり 5 リクエストが許可されます (すべてのキーで共有)。サーバーは ACTIVECAMPAIGN_MAX_REQUESTS 件を ACTIVECAMPAIGN_RATE_WINDOW_MS(デフォルトは 1 秒あたり 4 件) の範囲内に制限し、それでも受信した 429 には Retry-After を尊重して再試行します。
  • リクエストボディ:書き込みツールは body 引数を受け取ります。スキーマは仕様から解決され、 モデルに表示されます(例:create-contact は {"contact": {…}} を想定します)。

セキュリティ

  • API トークンは git で無視される .env にのみ保存します。実際のシークレットは決してコミットしないでください。 このトークンはアカウントへの完全なアクセス権を付与します。漏えいした場合は、 ActiveCampaign → Settings → Developer でローテーションしてください。
  • HTTP エンドポイントはデフォルトで認証されません(localhost での使用には問題ありません)。 自分のマシンの外部に公開する場合は、MCP_AUTH_TOKEN を設定し、 Authorization: Bearer <token> ヘッダーで送信してください。可能であれば TLS の背後に配置してください。
  • 削除ツールと送信(SMS/WhatsApp)ツールには適切なアノテーションが付いているため、 適切に動作するホストでは実行前に確認を求めます。その確認を有効にしたままにするか、 ACTIVECAMPAIGN_READ_ONLY=true モードで実行してください。

全ポリシーと脆弱性の報告方法については、SECURITY.md をご覧ください。

クレジットとライセンス

ActiveCampaign 向けの非公式なコミュニティ統合であり、 ActiveCampaign との提携や承認を受けたものではありません。Model Context Protocol 上に構築されています。 ツールは ActiveCampaign の公開 OpenAPI 定義から生成されています。MIT License の下でライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。