Email Marketing System MCP Tools

This page lists planned MCP tools for the Email Marketing System, covering sending configuration, SPF/DKIM/DMARC, customer lists, segmentation, consent and unsubscribe handling, bounce cleanup, templates, AI copy, campaign drafts, A/B testing, dynamic product recommendations, automation workflows, scheduled sending, deliverability, clicks, revenue attribution, and performance analysis.

email_marketing.config.get

read

Read Email Marketing System settings, including sender identity, tracking, unsubscribe, language, scheduling, approval, quota, and automation policies.

No prerequisite tool.

Read-only tool; no approval request is created.

Use returned settings as source of truth; do not infer sender domains, quotas, tracking, or unsubscribe rules.

email_marketing.sending_domains.list

read

List verified sending domains, sender addresses, SPF, DKIM, DMARC, reputation, and availability state.

email_marketing.config.get

Read-only tool; no approval request is created.

Unverified sender identities or domains with reputation issues must not be used for production sends.

email_marketing.approval_policies.list

read

List approval triggers for campaign creation, contact import, bounce cleanup, scheduling, A/B tests, official sends, and bulk notifications.

email_marketing.config.get

Read-only tool; no approval request is created.

Writes that trigger policy must remain draft or create an action request; do not bypass human confirmation.

email_marketing.owners.list

read

List marketing, CRM, compliance, design, copywriting, and approval owners with permissions.

email_marketing.config.get

Read-only tool; no approval request is created.

Do not assign approvals, sends, or notifications to disabled or unauthorized accounts.

email_marketing.quotas.get

read

Read monthly send quota, remaining volume, rate limits, batch limits, and estimated send cost.

email_marketing.config.get

Read-only tool; no approval request is created.

Check quota before scheduling or sending; do not create batches that exceed quota or rate limits.

email_marketing.audiences.list

read

List audiences, sources, subscription state, sendable counts, engagement distribution, purchase tiers, and sync sources.

email_marketing.config.get

Read-only tool; no approval request is created.

Return only audiences the user may access; do not expose contacts without consent or restricted data.

email_marketing.segments.preview

preview

Preview segment size, duplicates, unsubscribed contacts, bounces, purchase behavior, engagement, and estimated sendable volume.

email_marketing.audiences.list, email_marketing.suppression_entries.list

Preview tool; does not write data.

Preview must show exclusion reasons and samples; do not include unsubscribed, non-consented, or hard-bounced contacts.

email_marketing.segments.create

write

Create a reusable segment from previewed conditions such as purchase history, spend tier, engagement, abandoned cart, or repurchase cycle.

email_marketing.segments.preview

Write tool; approval is recommended for large or sensitive segments.

Use segment_preview_id; do not expand recipients beyond previewed criteria.

email_marketing.contacts.search

read

Search contacts by email, list, tag, purchase history, engagement state, bounce state, or subscription state.

email_marketing.audiences.list

Read-only tool; no approval request is created.

Minimize personal data in search results; return only fields needed for the task.

email_marketing.contacts.get

read

Read one contact's consent, tags, purchase history, opens, clicks, bounces, unsubscribes, and version data.

email_marketing.contacts.search or known contact_id

Read-only tool; no approval request is created.

Subsequent updates must use returned contact_id and base_version_token to avoid overwriting newer consent state.

email_marketing.contacts.upsert

write

Create or update contact profile, lists, tags, language, source, consent evidence, and CRM sync keys.

email_marketing.contacts.get or email_marketing.contacts.search

Write tool; approval is recommended for bulk imports, consent changes, or CRM overwrites.

Do not add sendable contacts without source or consent evidence; preserve data source.

email_marketing.contacts.unsubscribe

write

Mark a contact as unsubscribed and record source, time, reason, language, and sync state.

email_marketing.contacts.get

Compliance write; user unsubscribe should normally execute directly without delayed approval.

Do not resubscribe or remove unsubscribe history; unsubscribe must immediately affect suppression.

email_marketing.suppression_entries.list

read

List unsubscribed, hard-bounced, complaint, blocked, invalid-email, and suppressed contacts.

email_marketing.config.get

Read-only tool; no approval request is created.

Suppression is a hard pre-send constraint; it must not be overridden by segments or campaign settings.

email_marketing.bounces.clean_preview

preview

Preview how cleaning invalid, hard-bounced, duplicate, or risky emails affects lists, segments, counts, and send quota.

email_marketing.suppression_entries.list, email_marketing.contacts.search

Preview tool; does not write data.

Preview must distinguish hard bounce, soft bounce, invalid format, and duplicates; do not directly delete contacts.

email_marketing.bounces.clean_commit

write

Mark invalid, hard-bounced, duplicate, or unsendable contacts from preview results and keep cleanup history.

email_marketing.bounces.clean_preview

Write tool; approval is recommended for large cleanup or CRM sync changes.

Use cleanup_preview_id; do not remove unsubscribe evidence or permanently delete audit data.

email_marketing.templates.list

read

List branded email templates, layouts, languages, dynamic fields, use cases, and approval state.

email_marketing.config.get

Read-only tool; no approval request is created.

Subsequent campaigns should use approved templates or templates matching the draft purpose.

email_marketing.templates.save

write

Save reusable branded email templates with responsive layout, dynamic fields, language variants, and unsubscribe blocks.

email_marketing.templates.list, email_marketing.approval_policies.list

Write tool; approval is recommended for official brand templates or compliance block changes.

Do not remove unsubscribe links, company details, or required compliance text; preserve versions.

email_marketing.copy.generate_draft

write

Generate subject lines, preview text, and email body drafts from offer, audience, tone, language, product data, and CTA.

email_marketing.templates.list, email_marketing.segments.preview, email_marketing.sending_domains.list

Draft write; exaggerated offers, sensitive categories, or public sends follow approval policy.

Do not generate misleading discounts, false scarcity, unsupported claims, or content missing unsubscribe handling.

email_marketing.campaigns.list

read

List email campaign drafts, segments, languages, schedules, review, send, and report states.

email_marketing.config.get

Read-only tool; no approval request is created.

Show only campaigns the user may access; unpublished campaigns must not leak.

email_marketing.campaigns.get

read

Read one campaign's subject, content, segment, template, dynamic products, tracking, schedule, review, and version data.

email_marketing.campaigns.list or known campaign_id

Read-only tool; no approval request is created.

Subsequent updates, scheduling, or sends must use returned campaign_id and base_version_token.

email_marketing.campaigns.create_draft

write

Create an email campaign draft with segment, subject, content, template, language variants, tracking, and send goals.

email_marketing.segments.preview, email_marketing.templates.list, email_marketing.sending_domains.list

Write tool; draft creation is usually direct, official send follows policy.

Do not create campaigns without unsubscribe, valid sender identity, consented segment, or stated tracking purpose.

email_marketing.campaigns.update

write

Update campaign subject, content, segment, template, language variants, tracking, A/B settings, or schedule draft.

email_marketing.campaigns.get, email_marketing.approval_policies.list

Write tool; approval is recommended for approved, scheduled, or high-risk content changes.

Only update specified fields; do not overwrite review notes, unsubscribe settings, or version data.

email_marketing.ab_tests.preview

preview

Preview A/B variants, sample allocation, winner criteria, send timing, risks, and remaining quota.

email_marketing.campaigns.get, email_marketing.quotas.get

Preview tool; does not write data.

Preview must avoid tiny samples, duplicate recipients, invalid winner criteria, or quota overrun.

email_marketing.ab_tests.configure

write

Configure an A/B test from preview results, including subject, content, sample ratio, winning metric, and auto-winner timing.

email_marketing.ab_tests.preview

Write tool; approval is recommended for large lists, official sends, or auto-winner setup.

Use ab_test_preview_id; do not change winner rules without version history.

email_marketing.product_recommendations.preview

preview

Preview cross-sell or dynamic product blocks by purchase history, browsing, inventory, price, and language.

email_marketing.campaigns.get, email_marketing.segments.preview

Preview tool; does not write data.

Do not recommend out-of-stock, incorrectly priced, unauthorized, or irrelevant products.

email_marketing.product_recommendations.apply

write

Apply previewed dynamic product, cross-sell, or repurchase recommendations to an email campaign.

email_marketing.product_recommendations.preview

Write tool; approval is recommended when price, promotion, or inventory risk exists.

Use recommendation_preview_id; do not apply expired price or inventory data.

email_marketing.automations.list

read

List welcome, birthday, abandoned cart, browse follow-up, repurchase, and re-engagement automations with triggers.

email_marketing.config.get

Read-only tool; no approval request is created.

Automation state must show trigger event, frequency cap, unsubscribe handling, and last updated time.

email_marketing.automations.update_state

write

Enable, pause, or update an automation's triggers, content version, frequency cap, and recipient exclusions.

email_marketing.automations.list, email_marketing.approval_policies.list

Write tool; approval is recommended for large-volume or revenue-related automations.

Do not enable automations missing unsubscribe handling, frequency caps, or valid segments.

email_marketing.campaigns.schedule

write

Schedule a prepared campaign with send time, timezone, batching pace, A/B test window, and notifications.

email_marketing.campaigns.get, email_marketing.quotas.get, email_marketing.sending_domains.list

Write tool; official scheduling follows approval policy or explicit confirmation.

Do not schedule unreviewed campaigns, invalid segments, over-quota sends, missing unsubscribe, or unverified sending domains.

email_marketing.campaigns.cancel_schedule

write

Cancel an unsent scheduled campaign and record reason, owner, and notification state.

email_marketing.campaigns.get

Write tool; near-send or large campaign cancellation may require approval.

Do not cancel batches that already started; use follow-up notices or stop remaining batches.

email_marketing.campaigns.send_approved

write

Send an approved campaign while applying suppression, quota, sender identity, tracking, A/B, and frequency caps.

email_marketing.campaigns.get, email_marketing.suppression_entries.list, email_marketing.quotas.get

High-risk outbound write; approval or explicit confirmation is required.

Do not send unapproved, no-unsubscribe, non-consented, over-quota, unverified-sender, or misleading campaigns.

email_marketing.delivery_batches.list

read

List delivery batches, delivered, delayed, bounced, complaints, provider state, and error summary.

email_marketing.campaigns.get

Read-only tool; no approval request is created.

Provider state should include updated time; do not treat pending as delivered.

email_marketing.delivery_batches.resend_failed

write

Resend eligible failed or delayed messages while excluding hard bounces, unsubscribes, complaints, and delivered recipients.

email_marketing.delivery_batches.list, email_marketing.suppression_entries.list

Write tool; approval is recommended for large resend batches or promotional resends.

Do not resend to unsubscribed, complained, hard-bounced, or already delivered recipients; preserve provider response.

email_marketing.campaign_reports.get

read

Read opens, clicks, unsubscribes, bounces, complaints, conversions, revenue, A/B winner, and time trends for a campaign.

email_marketing.campaigns.get

Read-only tool; no approval request is created.

Reports must state date range, attribution window, tracking limits, and data latency.

email_marketing.link_clicks.list

read

List clicks, unique clicks, UTM, recipient segment, time, and follow-up behavior summary for each tracked link.

email_marketing.campaign_reports.get

Read-only tool; no approval request is created.

If returning person-level clicks, minimize by permission and avoid unnecessary personal data.

email_marketing.revenue_attribution.get

read

Read campaign-attributed orders, revenue, average order value, conversion paths, product performance, and attribution rules.

email_marketing.campaign_reports.get

Read-only tool; no approval request is created.

Revenue attribution must state attribution window, channel conflicts, and refund deduction rules.

email_marketing.audience_summary.get

read

Read audience growth, sendable count, engagement distribution, unsubscribe trend, bounce rate, and high-value segment summary.

email_marketing.audiences.list

Read-only tool; no approval request is created.

Summary must state statistic date, sync source, and suppression exclusion logic.

email_marketing.performance_snapshot.record

write

Record opens, clicks, revenue, unsubscribes, A/B results, or channel comparison snapshots from manual or external sources.

email_marketing.campaign_reports.get, email_marketing.revenue_attribution.get

Write tool; usually direct, approval required when overwriting existing results.

Preserve source, date range, attribution settings, and evidence; do not fabricate performance.

email_marketing.review_notification.send

write

Notify owners about campaign review, send confirmation, bounce anomalies, low performance, A/B winner, or attribution issues.

email_marketing.owners.list and email_marketing.campaigns.get or email_marketing.campaign_reports.get

Notification write; usually direct, external or bulk notifications follow policy.

Do not notify unrelated users or include full customer lists; include only necessary summary.

email_marketing.action_request.status

status

Check state for email marketing writes, cleanup, scheduling, sending, resending, notifications, or approval operations.

Known action_request_id

Status lookup tool; does not create a new approval request.

Status reflects governance progress only; do not retry non-idempotent outbound actions unless using the same idempotency_key or a clearly new request.