cli-anything-mailchimp について
cli-anything-mailchimpは、エージェント向けのMailchimp Marketing API v3.0用コマンドラインツールです。オーディエンス、キャンペーン、レポート、自動化、コマース関連のリソースを管理でき、JSON出力と対話型REPLも利用できます。
主な機能
- 01オーディエンスとメンバーの管理
- 02キャンペーンの作成、予約、送信
- 03キャンペーンと購読者のレポート確認
- 04自動メールワークフローの管理
- 05コマースおよびマーケティングリソースの管理
- 06JSON出力と対話型REPL
活用シーン
- 01オーディエンスのメンバーとセグメントの管理
- 02キャンペーンの予約と結果の確認
- 03自動メールシーケンスの管理
- 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-campaigns | SMS キャンペーン (10 の操作) |
surveys | アンケート (一覧、取得、公開) |
reporting | Facebook 広告とランディングページのレポート |
search-campaigns | クエリでキャンペーンを検索 |
search-members | すべてのオーディエンスを横断してメンバーを検索 |
batches | バッチ API 操作 |
batch-webhooks | バッチ操作の Webhook |
verified-domains | メールドメインの検証 |
authorized-apps | OAuth 連携アプリ |
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グループを使用してください。
コメント
Markdown 対応