mcpField
C
cli-anything-mailchimp

cli-anything-mailchimp

github.com/hkudsマーケティング・グロース57.6k348 回インストール5 週間前に更新
リポジトリ

cli-anything-mailchimp について

cli-anything-mailchimpは、エージェント向けのMailchimp Marketing API v3.0用コマンドラインツールです。オーディエンス、キャンペーン、レポート、自動化、コマース関連のリソースを管理でき、JSON出力と対話型REPLも利用できます。

主な機能

  1. 01オーディエンスとメンバーの管理
  2. 02キャンペーンの作成、予約、送信
  3. 03キャンペーンと購読者のレポート確認
  4. 04自動メールワークフローの管理
  5. 05コマースおよびマーケティングリソースの管理
  6. 06JSON出力と対話型REPL

活用シーン

  1. 01オーディエンスのメンバーとセグメントの管理
  2. 02キャンペーンの予約と結果の確認
  3. 03自動メールシーケンスの管理
  4. 04ストアの注文と商品情報の検索

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-mailchimp

インストール後、Claude Code で/cli-anything-mailchimpを入力して読み込まれたか確認します。

詳細

cli-anything-mailchimp

概要

CLI-Anything フレームワーク上に構築された、Mailchimp Marketing API v3.0 向けのエージェントネイティブな CLI です。

この CLI でできること

  • オーディエンス (リスト) の管理 — リストの作成、更新、削除。メンバーの追加/更新/アーカイブ。マージフィールド、セグメント、タグ、Webhook の管理。
  • キャンペーン の実行 — メールキャンペーンの作成、スケジュール設定、送信、一時停止、複製、分析。
  • レポート の閲覧 — 開封率、クリック率、バウンス統計、配信停止、メールアクティビティ、地理的データ。
  • オートメーション の制御 — 自動メールワークフローの作成と管理。
  • Eコマース の管理 — ストア、注文、顧客、商品、カート、プロモコード。
  • テンプレート、ファイルマネージャー、ランディングページ、SMS キャンペーン、サーベイ、およびその他すべての Marketing API リソースの利用。

前提条件

  • Python 3.10 以上
  • MAILCHIMP_API_KEY 環境変数に API キーを設定 (データセンターのサフィックスを含む。例: abc123-us8)

インストール

# From the CLI-Anything repo (once merged):
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=mailchimp/agent-harness

# During development:
cd mailchimp/agent-harness && pip install -e .

コマンドリファレンス

ルート
コマンド説明
cli-anything-mailchimp pingヘルスチェック — API 接続を確認します
cli-anything-mailchimp root listアカウント情報を取得します
cli-anything-mailchimp --json <cmd>任意のコマンドを JSON として出力します
cli-anything-mailchimp対話型 REPL を起動します
リスト (オーディエンス)
コマンド説明
lists listすべてのオーディエンスを一覧表示します
lists get <LIST_ID>オーディエンス情報を取得します
lists create --data '<json>'オーディエンスを作成します
lists update <LIST_ID> --data '<json>'オーディエンスを更新します
lists delete <LIST_ID>オーディエンスを削除します
lists list-lists-id-members <LIST_ID>メンバーを一覧表示します
lists get-lists-id-members-id <LIST_ID> <SUBSCRIBER_HASH>MD5 ハッシュでメンバーを取得します
lists create-lists-id-members <LIST_ID> --data '<json>'メンバーを追加します
lists list-lists-id-merge-fields <LIST_ID>マージフィールドを一覧表示します
lists create-lists-id-merge-fields <LIST_ID> --data '<json>'マージフィールドを追加します
lists list-lists-id-segments <LIST_ID>セグメントを一覧表示します
lists list-list-member-tags <LIST_ID> <SUBSCRIBER_HASH>メンバーのタグを一覧表示します
lists create-list-member-tags <LIST_ID> <SUBSCRIBER_HASH> --data '<json>'メンバーのタグを追加/削除します
lists list-lists-id-webhooks <LIST_ID>Webhook を一覧表示します
lists create-lists-id-webhooks <LIST_ID> --data '<json>'Webhook を追加します
キャンペーン
コマンド説明
campaigns listキャンペーンを一覧表示します
campaigns get <CAMPAIGN_ID>キャンペーン情報を取得します
campaigns create --data '<json>'キャンペーンを作成します
campaigns update <CAMPAIGN_ID> --data '<json>'キャンペーン設定を更新します
campaigns delete <CAMPAIGN_ID>キャンペーンを削除します
campaigns send <CAMPAIGN_ID>キャンペーンをすぐに送信します
campaigns schedule <CAMPAIGN_ID> --data '<json>'キャンペーンをスケジュール設定します
campaigns cancel-send <CAMPAIGN_ID>スケジュールされた送信をキャンセルします
campaigns pause <CAMPAIGN_ID>RSS キャンペーンを一時停止します
campaigns resume <CAMPAIGN_ID>RSS キャンペーンを再開します
campaigns replicate <CAMPAIGN_ID>キャンペーンを複製します
campaigns list-content <CAMPAIGN_ID>キャンペーンのコンテンツを取得します
campaigns list-send-checklist <CAMPAIGN_ID>送信前チェックリスト
レポート
コマンド説明
reports listすべてのキャンペーンレポートを一覧表示します
reports get <CAMPAIGN_ID>キャンペーンのサマリーレポートを取得します
reports list-email-activity <CAMPAIGN_ID>購読者ごとの開封/クリックアクティビティ
reports list-click-details <CAMPAIGN_ID>リンクのクリック内訳
reports list-open-details <CAMPAIGN_ID>購読者ごとの開封
reports list-unsubscribed <CAMPAIGN_ID>配信停止者
reports list-locations <CAMPAIGN_ID>地理的な内訳
reports list-domain-performance <CAMPAIGN_ID>ドメインごとの統計
自動化
コマンド説明
automations list自動化の一覧を表示
automations get <WORKFLOW_ID>自動化の情報を取得
automations create --data '<json>'自動化を作成
automations pause <WORKFLOW_ID>自動化を一時停止
automations start <WORKFLOW_ID>自動化を開始
automations archive <WORKFLOW_ID>自動化をアーカイブ
automations list-emails <WORKFLOW_ID>自動化のメール一覧を表示
Eコマース
コマンド説明
ecommerce list-ecommerce-storesストアの一覧を表示
ecommerce get <STORE_ID>ストアの情報を取得
ecommerce create --data '<json>'ストアを追加
ecommerce list-ecommerce-stores-id-orders <STORE_ID>注文の一覧を表示
ecommerce list-ecommerce-stores-id-products <STORE_ID>商品の一覧を表示
ecommerce list-ecommerce-stores-id-customers <STORE_ID>顧客の一覧を表示
ecommerce list-ecommerce-stores-id-carts <STORE_ID>カートの一覧を表示
ecommerce list-ecommerce-stores-id-promocodes <PROMO_RULE_ID> <STORE_ID>プロモコードの一覧を表示
その他のリソース
グループ説明
templatesメールテンプレート (一覧、取得、作成、更新、削除)
template-foldersテンプレートフォルダ
campaign-foldersキャンペーンフォルダ
file-managerファイルマネージャー内のファイルとフォルダ
landing-pagesランディングページ (一覧、作成、公開、非公開)
sms-campaignsSMS キャンペーン (10 の操作)
surveysアンケート (一覧、取得、公開)
reportingFacebook 広告とランディングページのレポート
search-campaignsクエリでキャンペーンを検索
search-membersすべてのオーディエンスを横断してメンバーを検索
batchesバッチ API 操作
batch-webhooksバッチ操作の Webhook
verified-domainsメールドメインの検証
authorized-appsOAuth 連携アプリ
connected-sites連携サイトの統合
conversations受信トレイの会話
activity-feedアカウントのアクティビティフィード
account-exportsアカウントデータのエクスポート

JSON 出力

すべてのコマンドはルートレベルで --json をサポートしています:

# List all audiences as JSON
cli-anything-mailchimp --json lists list

# Get a campaign report as JSON
cli-anything-mailchimp --json reports get abc123def

# Pipe to jq — use the native Mailchimp field name for the resource
cli-anything-mailchimp --json lists list | jq '.lists[].name'
cli-anything-mailchimp --json campaigns list | jq '.campaigns[].id'

エンベロープの形状 (ネイティブの Mailchimp API レスポンス — リソース固有のキーを使用してください):

// List endpoints — key matches the resource name (lists, campaigns, members, etc.)
{"lists": [...], "total_items": 42, "_links": [...]}
{"campaigns": [...], "total_items": 10, "_links": [...]}

// Single resource GET / POST / PATCH
{"id": "abc123", "name": "My List", ...}

// DELETE
{"ok": true, "message": "Deleted."}

// Error
{"ok": false, "message": "Resource Not Found: ...", "data": {...}}

一般的なエージェントパターン

# Get account health
cli-anything-mailchimp --json ping | jq '.health_status'

# List all audience IDs and names
cli-anything-mailchimp --json lists list | jq '.lists[] | {id, name}'

# Find all subscribed members in an audience
cli-anything-mailchimp --json lists list-lists-id-members <list_id> --status subscribed | jq '.members[].email_address'

# Create a campaign and get its send checklist
cli-anything-mailchimp --json campaigns create --data '{"type":"regular","settings":{"subject_line":"Hello","from_name":"Me","reply_to":"[email protected]"}}' | jq '.id'
cli-anything-mailchimp --json campaigns list-send-checklist <campaign_id> | jq '.items[] | select(.result == false)'

# Get unsubscribes for a sent campaign
cli-anything-mailchimp --json reports list-unsubscribed <campaign_id> | jq '.unsubscribes[].email_address'

# Add a member to an audience (subscriber hash = MD5 of lowercased email)
cli-anything-mailchimp --json lists create-members <list_id> --data '{"email_address":"[email protected]","status":"subscribed"}'

# Search for a member across all audiences
cli-anything-mailchimp --json search-members list --query "[email protected]" | jq '.exact_matches.members[]'

対話型 REPL

引数なしで cli-anything-mailchimp を実行すると、REPL に入ります:

◆  cli-anything · Mailchimp
   v0.1.0
   Type help for commands, quit to exit

◆ mailchimp ❯ ping
  ✓ {"health_status": "Everything's Chimpy!"}

◆ mailchimp ❯ --json lists list
{"lists": [...], "total_items": 3, "_links": [...]}

◆ mailchimp ❯ quit

注意事項

  • 購読者ハッシュ: Mailchimp はメンバーを、小文字に変換したメールアドレスの MD5 ハッシュで識別します。python -c "import hashlib; email='[email protected]'; print(hashlib.md5(email.strip().lower().encode()).hexdigest())" で計算できます。
  • ボディペイロード: すべての POST/PATCH/PUT コマンドは --data '<json>' を受け付けます。各エンドポイントのスキーマについては Mailchimp API ドキュメント を参照してください。
  • データセンター: API キーは -us8、-eu2 などで終わります。CLI はこれを自動的に抽出します — MAILCHIMP_API_KEY に含めてください。
  • レート制限: Marketing API は 10 の同時接続とアカウントごとのローリング制限でレート制限されます。一括操作には batches グループを使用してください。

コメント