list_campaigns
Retrieve and filter recent Mailchimp campaigns by status to monitor email marketing performance and track campaign progress.
Instructions
List recent Mailchimp campaigns.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results (default 10) | |
| status | No | Filter by status: save, paused, schedule, sending, sent |
Implementation Reference
- server.js:66-90 (handler)Tool registration and handler implementation for "list_campaigns" in server.js. It fetches recent Mailchimp campaigns using the mailchimp SDK and formats the response for the MCP client.
// --- Tool 3: List Campaigns --- server.tool( "list_campaigns", "List recent Mailchimp campaigns.", { count: z.number().optional().describe("Number of results (default 10)"), status: z.string().optional().describe("Filter by status: save, paused, schedule, sending, sent"), }, async ({ count, status }) => { const opts = { count: count || 10 }; if (status) opts.status = status; const response = await mailchimp.campaigns.list(opts); const campaigns = response.campaigns.map((c) => ({ id: c.id, type: c.type, status: c.status, subject_line: c.settings?.subject_line, from_name: c.settings?.from_name, send_time: c.send_time, emails_sent: c.emails_sent, recipients: { list_id: c.recipients?.list_id, list_name: c.recipients?.list_name }, })); return { content: [{ type: "text", text: JSON.stringify(campaigns, null, 2) }] }; } );