Communitygithub.com

cli-anything-mailchimp

CLI harness for the Mailchimp Marketing API v3.0 — 303 commands across 30 resource groups (lists, campaigns, reports, automations, ecommerce, templates, and more). Supports JSON output and interactive REPL mode.

¿Qué es cli-anything-mailchimp?

cli-anything-mailchimp is a Claude Code agent skill that cLI harness for the Mailchimp Marketing API v3.0 — 303 commands across 30 resource groups (lists, campaigns, reports, automations, ecommerce, templates, and more). Supports JSON output and interactive REPL mode.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-mailchimp

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace cli-anything-mailchimp?

Identity

An agent-native CLI for the Mailchimp Marketing API v3.0, built on the CLI-Anything framework.

What This CLI Does

  • Manage audiences (lists) — create, update, delete lists; add/update/archive members; manage merge fields, segments, tags, and webhooks.
  • Run campaigns — create, schedule, send, pause, replicate, and analyse email campaigns.
  • Read reports — open rates, click rates, bounce stats, unsubscribes, email activity, geographic data.
  • Control automations — create and manage automated email workflows.
  • Manage e-commerce — stores, orders, customers, products, carts, and promo codes.
  • Use templates, file manager, landing pages, SMS campaigns, surveys, and all other Marketing API resources.

Prerequisites

  • Python 3.10+
  • MAILCHIMP_API_KEY environment variable set to your API key (including datacenter suffix, e.g. abc123-us8)

Installation

# 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 .

Command Reference

Root

CommandDescription
cli-anything-mailchimp pingHealth check — confirms API connectivity
cli-anything-mailchimp root listGet account info
cli-anything-mailchimp --json <cmd>Output any command as JSON
cli-anything-mailchimpLaunch interactive REPL

Lists (Audiences)

CommandDescription
lists listList all audiences
lists get <LIST_ID>Get audience info
lists create --data '<json>'Create audience
lists update <LIST_ID> --data '<json>'Update audience
lists delete <LIST_ID>Delete audience
lists list-lists-id-members <LIST_ID>List members
lists get-lists-id-members-id <LIST_ID> <SUBSCRIBER_HASH>Get member by MD5 hash
lists create-lists-id-members <LIST_ID> --data '<json>'Add member
lists list-lists-id-merge-fields <LIST_ID>List merge fields
lists create-lists-id-merge-fields <LIST_ID> --data '<json>'Add merge field
lists list-lists-id-segments <LIST_ID>List segments
lists list-list-member-tags <LIST_ID> <SUBSCRIBER_HASH>List member tags
lists create-list-member-tags <LIST_ID> <SUBSCRIBER_HASH> --data '<json>'Add/remove member tags
lists list-lists-id-webhooks <LIST_ID>List webhooks
lists create-lists-id-webhooks <LIST_ID> --data '<json>'Add webhook

Campaigns

CommandDescription
campaigns listList campaigns
campaigns get <CAMPAIGN_ID>Get campaign info
campaigns create --data '<json>'Create campaign
campaigns update <CAMPAIGN_ID> --data '<json>'Update campaign settings
campaigns delete <CAMPAIGN_ID>Delete campaign
campaigns send <CAMPAIGN_ID>Send campaign immediately
campaigns schedule <CAMPAIGN_ID> --data '<json>'Schedule campaign
campaigns cancel-send <CAMPAIGN_ID>Cancel scheduled send
campaigns pause <CAMPAIGN_ID>Pause RSS campaign
campaigns resume <CAMPAIGN_ID>Resume RSS campaign
campaigns replicate <CAMPAIGN_ID>Duplicate campaign
campaigns list-content <CAMPAIGN_ID>Get campaign content
campaigns list-send-checklist <CAMPAIGN_ID>Pre-send checklist

Reports

CommandDescription
reports listList all campaign reports
reports get <CAMPAIGN_ID>Get campaign summary report
reports list-email-activity <CAMPAIGN_ID>Per-subscriber open/click activity
reports list-click-details <CAMPAIGN_ID>Link click breakdown
reports list-open-details <CAMPAIGN_ID>Per-subscriber opens
reports list-unsubscribed <CAMPAIGN_ID>Unsubscribers
reports list-locations <CAMPAIGN_ID>Geographic breakdown
reports list-domain-performance <CAMPAIGN_ID>Per-domain stats

Automations

CommandDescription
automations listList automations
automations get <WORKFLOW_ID>Get automation info
automations create --data '<json>'Create automation
automations pause <WORKFLOW_ID>Pause automation
automations start <WORKFLOW_ID>Start automation
automations archive <WORKFLOW_ID>Archive automation
automations list-emails <WORKFLOW_ID>List automation emails

E-commerce

CommandDescription
ecommerce list-ecommerce-storesList stores
ecommerce get <STORE_ID>Get store info
ecommerce create --data '<json>'Add store
ecommerce list-ecommerce-stores-id-orders <STORE_ID>List orders
ecommerce list-ecommerce-stores-id-products <STORE_ID>List products
ecommerce list-ecommerce-stores-id-customers <STORE_ID>List customers
ecommerce list-ecommerce-stores-id-carts <STORE_ID>List carts
ecommerce list-ecommerce-stores-id-promocodes <PROMO_RULE_ID> <STORE_ID>List promo codes

Other Resources

GroupDescription
templatesEmail templates (list, get, create, update, delete)
template-foldersTemplate folders
campaign-foldersCampaign folders
file-managerFiles and folders in the file manager
landing-pagesLanding pages (list, create, publish, unpublish)
sms-campaignsSMS campaigns (10 operations)
surveysSurveys (list, get, publish)
reportingFacebook ad and landing page reporting
search-campaignsSearch campaigns by query
search-membersSearch members across all audiences
batchesBatch API operations
batch-webhooksBatch operation webhooks
verified-domainsEmail domain verification
authorized-appsOAuth connected apps
connected-sitesConnected site integrations
conversationsInbox conversations
activity-feedAccount activity feed
account-exportsAccount data exports

JSON Output

All commands support --json at the root level:

# 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'

Envelope shapes (native Mailchimp API response — use the resource-specific key):

// 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": {...}}

Common Agent Patterns

# 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[]'

Interactive REPL

Run cli-anything-mailchimp with no arguments to enter the 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

Notes

  • Subscriber hash: Mailchimp identifies members by the MD5 hash of their lowercased email. Compute with python -c "import hashlib; email='[email protected]'; print(hashlib.md5(email.strip().lower().encode()).hexdigest())".
  • Body payloads: All POST/PATCH/PUT commands accept --data '<json>'. See Mailchimp API docs for the schema of each endpoint.
  • Datacenter: Your API key ends in -us8, -eu2, etc. The CLI extracts this automatically — include it in MAILCHIMP_API_KEY.
  • Rate limits: The Marketing API rate-limits at 10 concurrent connections and a rolling per-account limit. For bulk operations, use the batches group.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

Skills relacionados