mcpField
L
Listmonk MCP

Listmonk MCP

ローカル
github.com/tecspdaビジネス・マーケティング12 日前に更新

Listmonk MCP について

Listmonk MCPは、セルフホスト型のListmonkを管理するMCPサーバーです。AIエージェントで購読者、キャンペーン、テンプレートなどを扱い、トランザクションメールを送信できます。ファイルからのテンプレート読み込みとアクセス範囲の制限にも対応します。

主な機能

  1. 01購読者とステータスの管理
  2. 02メーリングリストの作成・管理
  3. 03キャンペーンの作成・プレビュー・送信
  4. 04テンプレートとメディアの管理
  5. 05トランザクションメールの送信
  6. 06許可されたディレクトリからのファイル読み込み

活用シーン

  1. 01購読者情報の検索や更新
  2. 02メールキャンペーンの予約・送信
  3. 03ファイルから大きなHTMLテンプレートを作成
  4. 041人の宛先へのトランザクションメール送信

MCP 対応

MCPサーバーは、Listmonkのヘルスチェック、購読者、メーリングリスト、キャンペーン、テンプレート、メディア、トランザクションメールのツールを公開します。URLとAPIユーザーの認証情報でインスタンスに接続します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"tecspda-listmonk-mcp-ts": {
"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>",
"LISTMONK_MCP_FILES_DIR": "<LISTMONK_MCP_FILES_DIR>"
}
}
}
}
起動コマンドnpx -y listmonk-mcp-ts
設定が必要な環境変数
LISTMONK_MCP_URLListmonk base URL, e.g. https://listmonk.example.com
LISTMONK_MCP_USERNAMEListmonk API user name
LISTMONK_MCP_PASSWORDシークレットListmonk API user password or token
LISTMONK_MCP_FILES_DIRDirectory the file tools (*_from_file, upload_media_file) may read from; they are disabled when unset

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

パッケージ
npmlistmonk-mcp-ts0.1.3

ツール

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

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

詳細

Listmonk MCP サーバー

Listmonk MCP サーバー

セルフホスト可能なニュースレターおよびメーリングリスト管理ツール、Listmonk 用の MCP サーバーです。AI エージェント(Claude Code、Claude Desktop、Cursor、Cline、VS Code など)を使って、購読者、メーリングリスト、キャンペーン、テンプレート、メディアを管理し、Listmonk インスタンスからトランザクションメールを送信できます。

Rohan Verma による rhnvrm/listmonk-mcp の TypeScript 移植版で、ファイルベースのテンプレート、キャンペーン本文の編集、強化されたファイルアクセス機能を追加しています。

TypeScript で記述され、Bun 上で動作します。

Русская версия

機能

  • 購読者: 追加、更新、削除、ステータス変更、Listmonk の SQL クエリによる検索、ID またはメールアドレスによる検索。
  • メーリングリスト: 作成、更新、削除、一覧表示、メンバー一覧の表示。
  • キャンペーン: 作成、更新、プレビュー、即時送信、予約。プレーンテキスト、正規表現、一括置換で本文を編集できます。
  • テンプレート: 作成、更新、削除、読み取り。大きな HTML 本文(たとえば、MJML のエクスポート)はファイルから直接読み込めます。
  • トランザクションメール: カスタムデータを指定して、1 人の受信者に tx テンプレートを送信します。
  • メディア: アップロード、名前変更、削除、一覧表示。

必要条件

  • Bun 1.1 以降。
  • API ユーザーを設定した Listmonk。Listmonk の管理画面で Users を開き、API タイプのユーザーを作成して、そのトークンをコピーします。エージェントに必要な権限だけを持つロールを割り当ててください。

クイックスタート

ワンクリックでインストールできます(インストール後、クライアントの MCP 設定でプレースホルダーの URL、ユーザー名、トークンを置き換えてください)。

Cursor にインストール VS Code にインストール

Claude Code
claude mcp add --transport stdio --scope user \
  --env LISTMONK_MCP_URL=https://listmonk.example.com \
  --env LISTMONK_MCP_USERNAME=api_user \
  --env LISTMONK_MCP_PASSWORD=your-api-token \
  listmonk -- bunx listmonk-mcp-ts
Claude Desktop、Cursor、Cline、その他のクライアント

クライアントの MCP 設定(mcpServers セクション)にサーバーを追加します。

{
  "mcpServers": {
    "listmonk": {
      "command": "bunx",
      "args": ["listmonk-mcp-ts"],
      "env": {
        "LISTMONK_MCP_URL": "https://listmonk.example.com",
        "LISTMONK_MCP_USERNAME": "api_user",
        "LISTMONK_MCP_PASSWORD": "your-api-token",
        "LISTMONK_MCP_FILES_DIR": "/path/to/email-templates"
      }
    }
  }
}

各クライアントの設定ファイルの場所については、Claude Desktop、Cursor と Windsurf、Cline、VS Code を参照してください。

セッションが開始されるとクライアントによってサーバーが起動し、セッションの終了時に停止します。サーバーを起動したままにしておく必要はありません。

設定

変数必須デフォルト説明
LISTMONK_MCP_URLはいListmonk のベース URL。http:// または https://
LISTMONK_MCP_USERNAMEはいAPI ユーザー名
LISTMONK_MCP_PASSWORDはいAPI ユーザートークン
LISTMONK_MCP_FILES_DIRいいえファイルツールが読み取り可能なディレクトリ。未設定の場合、ファイルツールは無効になります
LISTMONK_MCP_TIMEOUTいいえ30HTTP タイムアウト(秒)
LISTMONK_MCP_MAX_RETRIESいいえ3ネットワークエラー時の再試行回数。再試行されるのは GET リクエストのみです
LISTMONK_MCP_SERVER_NAMEいいえListmonk MCP Serverクライアントに通知するサーバー名

変数は、作業ディレクトリ内の .env ファイルから、または --config /path/to/.env で指定したファイルから読み込むこともできます。

CLI オプション:-c, --config <file> は env ファイルを読み込み、-v, --version はバージョンを表示します。

ツール

領域ツール
ヘルスチェックcheck_listmonk_health
購読者add_subscriber、update_subscriber、remove_subscriber、change_subscriber_status、list_subscribers、get_subscriber_by_id、get_subscriber_by_email
メーリングリストget_mailing_lists、get_list_by_id、get_list_subscribers_tool、create_mailing_list、update_mailing_list、delete_mailing_list
キャンペーンget_campaigns、get_campaign、get_campaign_preview、create_campaign、update_campaign、send_campaign、schedule_campaign
キャンペーン本文replace_in_campaign_body、regex_replace_in_campaign_body、batch_replace_in_campaign_body
テンプレートget_templates、get_template、create_template、update_template、create_template_from_file、update_template_from_file、delete_template
トランザクションメールsend_transactional_email
メディアget_media_list、upload_media_file、rename_media、delete_media_file
ファイルからのテンプレート作成

大きな HTML 本文をツール呼び出しにインラインで渡すと時間がかかり、コピー中にモデルが内容を変更する可能性があります。create_template_from_file と update_template_from_file は代わりにファイルから本文を読み込むため、保存されるテンプレートはファイルとバイト単位で一致します。tx テンプレートでは subject が必須です。

ファイルパスには、絶対パス、または LISTMONK_MCP_FILES_DIR からの相対パスを指定できます。

セキュリティ

  • ファイルへのアクセスは LISTMONK_MCP_FILES_DIR に制限されています。 create_template_from_file、update_template_from_file、upload_media_file は、シンボリックリンクも含め、このディレクトリの外にあるパスを拒否します。また、この環境変数が設定されていない場合は無効になります。Listmonk から読み込む購読者名、キャンペーン本文、その他のデータには、見知らぬ人が書いた指示(プロンプトインジェクション)が含まれている可能性があります。この制限がなければ、そのようなテキストによってエージェントが ~/.ssh や .env を読み取り、メールで送信するおそれがあります。
  • 送信ツールの承認を有効にしておいてください。 send_campaign、schedule_campaign、send_transactional_email は実際にメールを送信します。クライアントでこれらを自動承認しないでください。
  • エージェントに必要な権限だけに制限したロールを持つ専用の API ユーザーを使用し、管理者アカウントは使用しないでください。
  • トークンを共有ファイルに含めないでください。MCP 設定をコミットまたは同期する場合は、代わりに環境変数を通じてトークンを渡してください。

開発

git clone https://github.com/tecspda/listmonk-mcp-ts.git
cd listmonk-mcp-ts
bun install
cp .env.example .env   # fill in your Listmonk details
bun run start          # run the server
bun run dev            # run with reload on change
bun run check          # type check
bun test               # tests

MCP クライアントからローカルのチェックアウトを実行するには、"command": "bun", "args": ["run", "/path/to/listmonk-mcp-ts/src/index.ts"] を使用します。

テスト用の Listmonk インスタンスが必要ですか?Docker のセットアップを参照してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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