SMS Marketing System MCP Tools

This page lists planned MCP tools for the SMS Marketing System, covering Sender ID, SMS gateways, send quota, frequency caps, customer segmentation, phone and consent records, opt-out lists, SMS templates, 70-character content previews, short links, cost previews, campaign drafts, scheduled sending, behavior triggers, OTP, delivery status, resends, click tracking, and conversion tracking.

sms_marketing.config.get

read

Read SMS marketing settings, including Sender ID, gateway, short links, opt-out, scheduling, approval, quota, cost, and tracking policies.

No prerequisite tool.

Read-only tool; no approval request is created.

Use returned settings as source of truth; do not infer Sender ID, gateway, opt-out, or cost rules.

sms_marketing.sender_ids.list

read

List registered or pending Sender IDs, SSRS status, available regions, brand names, and restrictions.

sms_marketing.config.get

Read-only tool; no approval request is created.

Unverified or region-ineligible Sender IDs must not be used for production sends.

sms_marketing.gateways.list

read

List available SMS gateways, country coverage, rates, delivery-report capability, rate limits, and fallback settings.

sms_marketing.config.get

Read-only tool; no approval request is created.

Confirm target region, rates, and delivery-report support before sending; do not use an unsuitable gateway.

sms_marketing.approval_policies.list

read

List approval triggers for campaign creation, opt-out updates, scheduling, official sends, resends, Sender ID applications, and OTP sends.

sms_marketing.config.get

Read-only tool; no approval request is created.

Writes that trigger policy must create an action request or remain draft; do not send directly.

sms_marketing.quotas.get

read

Read SMS balance, monthly quota, country rates, segment billing, rate limits, and estimated sendable volume.

sms_marketing.config.get

Read-only tool; no approval request is created.

Check balance before scheduling or sending; do not create batches that exceed quota or budget.

sms_marketing.frequency_caps.get

read

Read per-customer daily, weekly, per-campaign, and transactional SMS frequency caps.

sms_marketing.config.get

Read-only tool; no approval request is created.

SMS has high cost and interruption risk; production sends must apply frequency caps.

sms_marketing.owners.list

read

List marketing, CRM, operations, compliance, technical, and approval owners with permissions.

sms_marketing.config.get

Read-only tool; no approval request is created.

Do not assign sends, resends, OTP, or Sender ID applications to unauthorized accounts.

sms_marketing.audiences.list

read

List SMS audiences, sources, consent state, sendable phone counts, purchase behavior, region, and sync sources.

sms_marketing.config.get

Read-only tool; no approval request is created.

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

sms_marketing.segments.preview

preview

Preview SMS segment size, opt-outs, duplicate phones, country rates, frequency-cap exclusions, and estimated cost.

sms_marketing.audiences.list, sms_marketing.opt_outs.list, sms_marketing.quotas.get

Preview tool; does not write data.

Preview must show exclusion reasons; do not include opted-out, non-consented, duplicate, or over-cap customers.

sms_marketing.segments.create

write

Create an SMS segment from previewed criteria such as customer group, order state, payment, pickup, offer, or repurchase cycle.

sms_marketing.segments.preview

Write tool; approval is recommended for large or high-cost segments.

Use segment_preview_id; do not expand recipients or ignore frequency caps.

sms_marketing.contacts.search

read

Search contacts by phone, customer, list, tag, order state, consent, opt-out, or send history.

sms_marketing.audiences.list

Read-only tool; no approval request is created.

Minimize personal data in search results; phone numbers may be masked by permission.

sms_marketing.contacts.get

read

Read one contact's phone, consent evidence, opt-out, language, region, send history, and version data.

sms_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 opt-out state.

sms_marketing.contacts.upsert

write

Create or update contact phone, country code, tags, language, consent evidence, source, and CRM sync keys.

sms_marketing.contacts.get or sms_marketing.contacts.search

Write tool; approval is recommended for bulk imports, consent changes, or cross-system sync.

Do not add sendable phone numbers without consent evidence; preserve source and timestamp.

sms_marketing.opt_outs.list

read

List opt-outs, STOP replies, blocked numbers, invalid phones, complaints, and suppressed phone numbers.

sms_marketing.config.get

Read-only tool; no approval request is created.

Opt-out list is a hard pre-send constraint; no campaign or non-OTP flow may override it.

sms_marketing.contacts.opt_out

write

Mark a phone number as opted out and record source, STOP message, time, reason, language, and sync state.

sms_marketing.contacts.get

Compliance write; user STOP or opt-out should normally execute immediately without approval delay.

Do not remove opt-out evidence or delay suppression; opt-out must immediately block future promotional SMS.

sms_marketing.templates.list

read

List SMS templates, languages, dynamic fields, use cases, character counts, opt-out text, and approval state.

sms_marketing.config.get

Read-only tool; no approval request is created.

Campaign content should use suitable templates and preserve required opt-out or brand identification text.

sms_marketing.templates.save

write

Save reusable SMS templates with dynamic fields, language, use case, opt-out prompt, and character limits.

sms_marketing.templates.list, sms_marketing.approval_policies.list

Write tool; approval is recommended for official brand, OTP, or compliance wording changes.

Do not remove brand identification, opt-out prompt, or required compliance content; preserve versions.

sms_marketing.copy.fit_preview

preview

Preview whether message copy fits Chinese 70-character, English 160-character, Unicode segment, variable substitution, and multi-SMS cost rules.

sms_marketing.templates.list, sms_marketing.quotas.get

Preview tool; does not write data.

Preview must show longest-variable case, segment count, cost, and possible truncation.

sms_marketing.short_links.preview

preview

Preview character count, domain, UTM, expiry, click tracking, and blacklist risk after converting long URLs to short links.

sms_marketing.config.get, sms_marketing.copy.fit_preview

Preview tool; does not write data.

Do not use suspicious domains, wrong UTM, invalid expiry, or unauthorized tracking.

sms_marketing.short_links.create

write

Create previewed short links and store original URL, UTM, expiry, campaign, click tracking, and owner.

sms_marketing.short_links.preview

Write tool; approval is recommended for sensitive landing pages, payments, or large campaigns.

Use short_link_preview_id; do not point short links to unapproved or inconsistent pages.

sms_marketing.campaigns.list

read

List SMS campaign drafts, segments, messages, short links, schedules, sends, approvals, and report states.

sms_marketing.config.get

Read-only tool; no approval request is created.

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

sms_marketing.campaigns.get

read

Read one campaign's message, segment, short links, cost preview, Sender ID, gateway, schedule, review, and version data.

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

sms_marketing.campaigns.create_draft

write

Create an SMS campaign draft with segment, message, short link, Sender ID, gateway, tracking, and send goal.

sms_marketing.segments.preview, sms_marketing.copy.fit_preview, sms_marketing.short_links.preview

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

Do not create campaigns with non-consented segment, missing opt-out handling, overlength copy, unknown cost, or unavailable Sender ID.

sms_marketing.campaigns.update

write

Update message content, segment, short links, Sender ID, gateway, tracking, schedule draft, or review notes.

sms_marketing.campaigns.get, sms_marketing.approval_policies.list

Write tool; approval is recommended for approved, scheduled, or high-cost campaign changes.

Only update specified fields; do not overwrite review, opt-out, or version data.

sms_marketing.cost_preview

preview

Preview actual campaign cost by country, message segments, gateway, short links, frequency caps, and opt-out exclusions.

sms_marketing.campaigns.get, sms_marketing.quotas.get, sms_marketing.gateways.list

Preview tool; does not write data.

Preview must show unsendable count, over-quota risk, estimated rate, and possible billing differences.

sms_marketing.campaigns.schedule

write

Schedule a prepared campaign with send time, timezone, batching pace, gateway, frequency caps, and notifications.

sms_marketing.campaigns.get, sms_marketing.cost_preview, sms_marketing.sender_ids.list

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

Do not schedule unreviewed, over-budget, invalid-Sender-ID, no-opt-out, or non-consented-segment campaigns.

sms_marketing.campaigns.cancel_schedule

write

Cancel an unsent SMS schedule and record reason, owner, affected count, and notification state.

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

sms_marketing.campaigns.send_approved

write

Send an approved SMS campaign while applying opt-outs, quota, cost, Sender ID, gateway, short links, and frequency caps.

sms_marketing.campaigns.get, sms_marketing.opt_outs.list, sms_marketing.cost_preview

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

Do not send unapproved, opted-out, non-consented, over-budget, invalid-Sender-ID, malformed, or inconsistent-landing-page campaigns.

sms_marketing.automations.list

read

List order, payment, shipment, appointment reminder, pickup, repurchase, and behavior-triggered SMS flows.

sms_marketing.config.get

Read-only tool; no approval request is created.

Flows must show trigger event, frequency cap, opt-out handling, template version, and last updated time.

sms_marketing.automations.update_state

write

Enable, pause, or update an SMS trigger flow's event, template, frequency, opt-out exclusions, and gateway.

sms_marketing.automations.list, sms_marketing.approval_policies.list

Write tool; approval is recommended for large, promotional, or business-critical trigger flows.

Do not enable flows missing opt-out handling, frequency caps, valid templates, or cost checks.

sms_marketing.otp_templates.list

read

List OTP/2FA templates, use cases, validity period, rate limits, gateway, regions, and approval state.

sms_marketing.config.get

Read-only tool; no approval request is created.

OTP templates must not contain promotional content and must follow rate-limit and security requirements.

sms_marketing.otp.send

write

Send a verification code or 2FA SMS using an approved OTP template and record rate-limit, delivery, and security audit data.

sms_marketing.otp_templates.list, sms_marketing.gateways.list

Security write; usually transaction-triggered, anomalous or bulk sends follow policy.

Do not use OTP tool for marketing; apply rate limits, abuse prevention, and minimal-content rules.

sms_marketing.send_batches.list

read

List SMS send batches, gateway responses, delivered, failed, pending, billed, and error summary.

sms_marketing.campaigns.get

Read-only tool; no approval request is created.

Delivery state must state gateway, updated time, and status definitions; pending is not success.

sms_marketing.delivery_status.get

read

Read one message or phone's delivery state, failure reason, charge, gateway message id, and resend eligibility.

sms_marketing.send_batches.list

Read-only tool; no approval request is created.

Person-level status should mask phones by permission and avoid unnecessary personal data.

sms_marketing.failed_messages.retry_preview

preview

Preview eligible failed-SMS resends, exclusion reasons, cost, frequency caps, opt-out state, and expected impact.

sms_marketing.delivery_status.get, sms_marketing.opt_outs.list, sms_marketing.quotas.get

Preview tool; does not write data.

Preview must exclude opted-out, already delivered, hard-failed, invalid-phone, and over-cap customers.

sms_marketing.failed_messages.resend

write

Resend eligible failed SMS from preview results and preserve gateway, charge, reason, and resend batch records.

sms_marketing.failed_messages.retry_preview

Write tool; approval is recommended for large, promotional, or high-cost resends.

Use retry_preview_id; do not resend to opted-out, already delivered, or unsendable phone numbers.

sms_marketing.campaign_reports.get

read

Read campaign delivery, failures, clicks, opt-outs, cost, conversions, revenue, and time trends.

sms_marketing.campaigns.get

Read-only tool; no approval request is created.

Reports must state date range, gateway, attribution window, cost rules, and data latency.

sms_marketing.link_clicks.list

read

List short-link clicks, unique clicks, UTM, device, time, segment, and follow-up conversion summary.

sms_marketing.campaign_reports.get

Read-only tool; no approval request is created.

Person-level clicks should be minimized by permission; do not expose full phone numbers or sensitive behavior.

sms_marketing.conversion_attribution.get

read

Read SMS-attributed orders, bookings, payments, revenue, ROI, conversion paths, and attribution rules.

sms_marketing.campaign_reports.get, sms_marketing.link_clicks.list

Read-only tool; no approval request is created.

Conversion attribution must state attribution window, channel conflicts, refund deductions, and tracking limits.

sms_marketing.performance_snapshot.record

write

Record delivery, clicks, cost, opt-outs, conversions, revenue, or gateway performance snapshots from manual or external sources.

sms_marketing.campaign_reports.get, sms_marketing.conversion_attribution.get

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

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

sms_marketing.review_notification.send

write

Notify owners about campaign review, send confirmation, cost anomalies, opt-out spikes, delivery failures, or ROI issues.

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

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

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

sms_marketing.sender_id.apply

write

Submit or update Sender ID / SSRS application data including brand name, company details, use case, regions, and document state.

sms_marketing.sender_ids.list, sms_marketing.approval_policies.list

High-risk configuration write; approval is recommended.

Do not submit false brand or unauthorized company data; preserve reason, documents, and version.

sms_marketing.action_request.status

status

Check state for SMS writes, scheduling, sending, resending, OTP, Sender ID, tracking, or notification 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.