list_campaign_reports
Retrieve all campaign performance reports from Mailchimp to analyze email marketing results and track engagement metrics.
Instructions
List all campaign reports
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/index.ts:860-881 (handler)Handler logic for the 'list_campaign_reports' tool within the handleToolCall switch statement. It invokes the service method and formats the response as JSON.case "list_campaign_reports": const campaignReports = await service.listCampaignReports(); return { content: [ { type: "text", text: JSON.stringify( campaignReports.reports.map((r) => ({ id: r.id, campaign_title: r.campaign_title, type: r.type, emails_sent: r.emails_sent, send_time: r.send_time, opens: r.opens, clicks: r.clicks, })), null, 2 ), }, ], };
- src/services/mailchimp.ts:245-247 (helper)The service method listCampaignReports that performs the actual API call to fetch paginated campaign reports from Mailchimp's /reports endpoint.async listCampaignReports(): Promise<{ reports: MailchimpCampaignReport[] }> { return await this.makePaginatedRequest("/reports", "send_time", "DESC"); }
- src/tools/index.ts:288-296 (registration)Tool registration in getToolDefinitions array, including name, description, and input schema (no required parameters).{ name: "list_campaign_reports", description: "List all campaign reports", inputSchema: { type: "object", properties: {}, required: [], }, },
- src/tools/index.ts:291-295 (schema)Input schema for the list_campaign_reports tool, defining an empty object with no properties or requirements.inputSchema: { type: "object", properties: {}, required: [], },