Horizontal

WorksCode and developmentDatabases and data

TextKit

SMS for developers: send and receive texts, verify phones, and buy US and Canada numbers.

Addresshttps://mcp.jointextkit.com
Claude Codeclaude mcp add --transport http textkit https://mcp.jointextkit.com
For Cursor and other clients
{
  "mcpServers": {
    "textkit": {
      "type": "http",
      "url": "https://mcp.jointextkit.com"
    }
  }
}

Watch out

Has tools that change things: 81 of them

The server itself marks these tools as deleting or overwriting data (destructiveHint): have the agent ask you before it calls them.

Test
Works: Handshake succeeded
Tools
152 tools
Handshake
1.4 s
Transport
streamable-http · 2025-03-26
Tested
6 November 2026
Registry name
com.jointextkit/textkit v1.0.2
Listed
30 October 2026
Updated
30 October 2026
Website
jointextkit.com/docs/mcp?ref=mcp-registry
Source
github.com/textkithq/textkit-mcp
The last 1 tests
WhenResultTime
2026-11-06 12:16 UTCHandshake succeeded1.4 s

The 152 tools it listed

"Read only" and "Changes data" are the server's own marks. Underlined parameters are required.

  1. activate_automationChanges data

    Activate automation

    Turn an automation on, so tracked events start runs. With a live number it texts real people. With no `from`, a number approved for its `category` must exist or `issues` says what is missing; `sender` shows the numbers it will use.

    id

  2. add_to_listChanges data

    Add to list

    Add contacts to a list by contact_ids and/or phone_numbers (up to 1,000; numbers must already be contacts).

    id contact_ids phone_numbers

  3. assign_number_to_customerChanges data

    Assign number to customer

    Platforms: attribute a number (and its messages and usage) to one of your customers, or clear it with customer_id null.

    phone_number customer_id

  4. bulk_purchase_numbersChanges data

    Bulk purchase numbers

    Buy several numbers in one area code at once (e.g. for a sender pool). Live numbers are billed monthly each.

    area_code quantity pool_id tags idempotency_key

  5. bulk_update_contactsChanges data

    Bulk update contacts

    Add tags to, remove tags from, or delete many contacts by id.

    action ids tags

  6. bulk_update_numbersChanges data

    Bulk update numbers

    Act on many numbers at once: tag, untag, label, add to or remove from a pool, or release. Releasing cannot be undone.

    ids action pool_id tags label confirm

  7. cancel_automation_runChanges data

    Cancel automation run

    Cancel a run in progress.

    id run_id

  8. cancel_batchChanges data

    Cancel batch

    Cancel a batch. Messages already sent stay sent.

    id

  9. cancel_scheduled_messageChanges data

    Cancel scheduled message

    Cancel a scheduled message before it sends.

    id

  10. check_verificationChanges data

    Check verification

    Check a verification code submitted by a user, by the phone or email it went to. Returns {verified, status, channel, charged}. Billed only when verified is true.

    phone email code

  11. clone_number_poolChanges data

    Clone number pool

    Copy a sender pool under a new name.

    id name

  12. connect_integrationChanges data

    Connect integration

    Connect a tool so its people sync in as contacts, in a list of their own, every 6 hours: Mixpanel (projectId, username, secret = a service account; sourceId = cohort id), Amplitude (apiKey, secretKey, sourceId), HubSpot (accessToken), Shopify (shopDomain, accessToken), Salesforce, or a webhook. Takes the event or property that shows people agreed to texts (consentEvent / consentField) and the property that holds their phone (phoneField). Credentials are proved with one read, sealed, and never returned. Mixpanel also takes eventTriggers, which turn Mixpanel events into TextKit events that start, end or branch automations; `warnings` names mapped events with no volume in 7 days.

    provider mode name sourceId projectId region username secret apiKey secretKey accessToken shopDomain instanceUrl sfObject clientId clientSecret phoneField consentField consentEvent phoneEvent phoneEventProperty exportEvents eventTriggers

  13. create_api_keyChanges data

    Create api key

    Create an API key for an app you are building, to store as a secret in its environment (for example TEXTKIT_API_KEY) so the app can send texts itself. Same mode (test or live) as this connection; optional scopes limit it. The secret is returned once; the account owner is emailed.

    name scopes

  14. create_automationChanges data

    Create automation

    Create a triggered text flow (as a draft): when trigger.event is tracked, run steps such as send_sms, wait, wait_for_event, and condition branches. Example: on cart_abandoned, wait 3600s, then if checkout_completed was not received send a reminder. A send_sms step with send_time: "optimal_user_time" and max_wait_seconds (60 to 86400, required) waits for the hour that person usually replies or clicks, 10am their time with no history, inside quiet hours: recommend it for marketing and lifecycle texts, leave it off anything time-sensitive, and it is refused for one-time codes and order or shipping texts. For events that repeat, trigger.cooldown_seconds stops the same person starting it again for that long. Merge fields like {{plan}} fill from the trigger event's properties; `issues` names any no tracked event carries. Leave out `from` and TextKit picks a number approved for `category` (marketing, transactional for alerts, otp for codes) when it sends; `sender` shows the numbers, and `issu

    name from category topic_id trigger steps

  15. create_customerChanges data

    Create customer

    Platforms sending for other businesses: create a customer to attribute numbers, messages and usage to.

    name external_id metadata

  16. create_linkChanges data

    Create link

    Make a tracked short link to copy into a text, ad, email or anywhere else: returns short_url. The same url again returns the same link. Suggest this whenever someone wants to know whether a link gets clicked or leads to sales. A link inside a text needs only shorten_links: true on the send.

    url name

  17. create_link_domainChanges data

    Create link domain

    Add a subdomain of the user's own (links.example.com) for short links. Returns two DNS records (CNAME and TXT) the user adds at their DNS host; then verify the domain. Optional: without one, tracked links use our domain.

    domain

  18. create_listChanges data

    Create list

    Create a list: a fixed group of contacts (Audience → Lists). Membership is set by hand, unlike a segment, which follows rules.

    name description

  19. create_number_poolChanges data

    Create number pool

    Create a sender pool from numbers you own.

    name description routing

  20. create_scheduleChanges data

    Create schedule

    Send the same text to one number every day, week or month at a local time (e.g. a weekly reminder). Every occurrence runs the usual send checks.

    to from body repeat start_date end_date max_occurrences category quiet_hours idempotency_key

  21. create_segmentChanges data

    Create segment

    Save an audience (a segment, a cohort): it appears in the console under Audience → Segments, and broadcasts can be sent to it. Everyone who can be texted: one rule, status is subscribed. Contacts matching all (or any) of up to 10 rules. Attributes: tags, contact fields, custom fields (field = "field", key = the name), opt-in status, topic, import, created_at. Behaviour: last_message_at, last_reply_at, batch (key = batch id; value included, sent, failed, skipped or replied) and event (key = a tracked event name). Times take an ISO date or a window like 7d. It is evaluated live each time it is used, so a batch or list sent to it reaches whoever matches then.

    name description match rules

  22. create_templateChanges data

    Create template

    Save a message template. Merge tags: {{first_name}}, {{name}}, {{phone}}, {{field:<custom>}}, and per-recipient variables.

    name body

  23. create_topicChanges data

    Create topic

    Create a subscription topic, so people can opt out of one kind of message (e.g. promotions) and keep others.

    name description

  24. create_webhookChanges data

    Create webhook

    Send events (message.received, message.delivered, message.opted_out, ...) to a URL: your app, a CRM, an automation tool. Returns the signing secret once.

    url events description numbers

  25. delete_automationChanges data

    Delete automation

    Delete an automation.

    id

  26. delete_contactChanges data

    Delete contact

    Delete a contact. Messages, consent records, and topic preferences for the number are kept.

    id

  27. delete_customerChanges data

    Delete customer

    Delete a customer.

    id

  28. delete_link_domainChanges data

    Delete link domain

    Remove a branded link domain. Every short link already sent on it stops working.

    id

  29. delete_listChanges data

    Delete list

    Delete a list (its contacts stay).

    id

  30. delete_messageChanges data

    Delete message

    Delete a finished message (delivered, failed or received) and every copy of its text, for a privacy request. Opt-out records and billing are kept. Cannot be undone.

    id

  31. delete_number_poolChanges data

    Delete number pool

    Delete a sender pool. Its numbers are kept.

    id

  32. delete_scheduleChanges data

    Delete schedule

    Delete a recurring schedule.

    id

  33. delete_segmentChanges data

    Delete segment

    Delete a segment. Contacts are not touched.

    id

  34. delete_templateChanges data

    Delete template

    Delete a template.

    id

  35. delete_topicChanges data

    Delete topic

    Delete a topic you created (built-in topics stay).

    id

  36. delete_webhookChanges data

    Delete webhook

    Delete a webhook endpoint.

    id

  37. disconnect_integrationChanges data

    Disconnect integration

    Disconnect a tool: its credentials and its list are deleted; the contacts stay with their consent.

    id

  38. export_consentRead only

    Export consent

    The suppression list, or the full consent ledger with opt-in proof, as CSV text.

    type

  39. export_csvRead only

    Export csv

    Export as CSV text for analysis: messages, deliveries, events, opt_outs, webhook_deliveries, usage, usage_monthly, audit_log or credit_history. At most 50,000 rows; narrow the date range with from and to.

    kind from to status blocked_reason direction number to_number from_number customer_id failure_code batch q type endpoint_id ok months action actor target_type created_after created_before

  40. export_numbersRead only

    Export numbers

    Your numbers as CSV text.

    tag pool mode q

  41. fallback_verificationChanges data

    Fallback verification

    The text did not arrive: email a new code for the same pending verification (one id, one charge). The emailed code replaces the texted one and is checked by the email address, which it proves (not the phone). Once per verification.

    id email channel user_ip

  42. forget_identityChanges data

    Forget identity

    Privacy erasure: forget the phone number linked to a user_id, so its tracked events stop reaching automations.

    user_id

  43. get_automationRead only

    Get automation

    Retrieve an automation with its trigger and steps.

    id

  44. get_automation_runRead only

    Get automation run

    Retrieve one run with its step-by-step timeline.

    id run_id

  45. get_balanceRead only

    Get balance

    Prepaid credit balance and auto-recharge setting.

  46. get_batchRead only

    Get batch

    Retrieve a batch with its progress counts.

    id

  47. get_batch_resultsRead only

    Get batch results

    Results of a batch: delivered, failed, pending, replies, opt-outs (stops), spend, and failures grouped by reason.

    id

  48. get_consentRead only

    Get consent

    Whether a number is opted in or out, per registration, with its full consent history and proof.

    phone

  49. get_contactRead only

    Get contact

    Retrieve a contact.

    id

  50. get_contact_topicsRead only

    Get contact topics

    A contact's subscription to each topic.

    id

  51. get_customerRead only

    Get customer

    Retrieve a customer.

    id

  52. get_customer_usageRead only

    Get customer usage

    A customer's messages, verifications and spend for a period.

    id start end

  53. get_deliverabilityRead only

    Get deliverability

    Delivery rates by day, destination carrier, or sending number.

    group_by start_date end_date

  54. get_integrationRead only

    Get integration

    One connected tool and its last sync.

    id

  55. get_integration_eventsRead only

    Get integration events

    Confirm the events behind automations: for a Mixpanel integration, each mapped event with its Mixpanel source events and their 7-day volume, how many reached TextKit and when the last did, and which automations start on, wait for or check it. `missing` names events automations rely on that nothing sends. project_events: true also lists every Mixpanel event name with its 7-day volume, to choose what to map.

    id project_events

  56. get_link_domainRead only

    Get link domain

    One short-link domain, with the DNS records it needs.

    id

  57. get_listRead only

    Get list

    Retrieve a list and its contact count.

    id

  58. get_messageRead only

    Get message

    Retrieve a message by its msg_... id, with its delivery timeline.

    id

  59. get_numberRead only

    Get number

    Retrieve one of your numbers: status, sender registration, tags, pools, customer.

    phone_number

  60. get_number_poolRead only

    Get number pool

    Retrieve a sender pool and its numbers.

    id

  61. get_registrationRead only

    Get registration

    A registration with its checks, status, and linked numbers.

    id

  62. get_scheduleRead only

    Get schedule

    Retrieve a recurring schedule with its recent occurrences.

    id

  63. get_scheduled_messageRead only

    Get scheduled message

    Retrieve a pending scheduled message.

    id

  64. get_segmentRead only

    Get segment

    Retrieve a segment and its rules.

    id

  65. get_spend_limitRead only

    Get spend limit

    The monthly spend limit and this month's estimated spend.

  66. get_templateRead only

    Get template

    Retrieve a template.

    id

  67. get_toll_free_verificationRead only

    Get toll free verification

    A toll-free verification: status, numbers, the form, what is missing (problems), and the carriers' reason when it was rejected.

    id

  68. get_topicRead only

    Get topic

    Retrieve a topic.

    id

  69. get_usageRead only

    Get usage

    Usage by month, today's counters, and plan limits.

    months

  70. get_verificationRead only

    Get verification

    Retrieve a verification by id: its status and attempts (never the code).

    id

  71. get_webhookRead only

    Get webhook

    Retrieve a webhook endpoint.

    id

  72. import_contactsChanges data

    Import contacts

    Create or update up to 500 contacts per call, matched by phone_number. Attributes go in fields (up to 20 strings, e.g. plan) for segments and {{field:name}} merge tags; tags group contacts. opt_in carries consent evidence (status: false records an opt-out). import_id from the first response groups several calls; dry_run: true returns what would change and writes nothing.

    contacts campaign_id dry_run check_line_types import_id name

  73. import_opt_outsChanges data

    Import opt outs

    Bring a suppression list over from another provider or tool (up to 500 numbers per call), so people who opted out there are never texted here.

    phone_numbers

  74. link_number_to_registrationChanges data

    Link number to registration

    Attach a number to an approved 10DLC registration so it can send that registration's traffic.

    phone_number registration_id

  75. list_api_keysRead only

    List api keys

    List the active API keys of this mode (never the secrets).

  76. list_audit_logsRead only

    List audit logs

    Who changed what on the account (keys, team, webhooks, spend limit, numbers, consent, settings), newest first.

    limit cursor action actor target_type created_after created_before

  77. list_automation_runsRead only

    List automation runs

    List an automation's runs, newest first.

    id limit cursor

  78. list_automationsRead only

    List automations

    List automations.

  79. list_batch_recipientsRead only

    List batch recipients

    List a batch's recipients with each one's status.

    id status limit cursor

  80. list_batchesRead only

    List batches

    List batches (broadcasts), newest first.

    limit cursor status

  81. list_contactsRead only

    List contacts

    List contacts, newest first. Filter by tag, segment_id, list_id, exact phone_number, or a free-text q (name, email, company).

    limit cursor tag phone_number segment_id list_id q

  82. list_conversionsRead only

    List conversions

    The latest 100 conversions, newest first.

  83. list_customersRead only

    List customers

    List your customers.

    limit cursor external_id

  84. list_eventsRead only

    List events

    List recent events (message.sent/delivered/failed/received, number.purchased/released, ...), newest first.

    limit cursor type

  85. list_integrationsRead only

    List integrations

    The connected tools: status, settings, last sync (found, added, opted out), and their list. No credentials.

  86. list_link_domainsRead only

    List link domains

    Your short-link domains and their status (pending_dns, dns_verified, active). Optional: a message sent with shorten_links: true uses the active one, else <your business>.txtkto.com once the business is verified, or txtkto.com before that.

  87. list_linksRead only

    List links

    Every tracked destination with its texts, clicks, conversions and value. The answer to "which link worked?".

  88. list_list_contactsRead only

    List list contacts

    Page through a list's contacts, most recently added first.

    id limit cursor

  89. list_listsRead only

    List lists

    List contact lists with their contact counts.

  90. list_messagesRead only

    List messages

    List your messages, newest first. Filter by number, direction, status, failure reason, date, batch schedule or customer.

    limit cursor number to from status blocked_reason failure_code direction created_after created_before customer_id schedule_id tag

  91. list_number_poolsRead only

    List number pools

    List sender pools.

  92. list_number_requestsRead only

    List number requests

    Open short-code and toll-free requests.

  93. list_numbersRead only

    List numbers

    List the phone numbers on your account.

    customer_id tag pool mode q

  94. list_opt_outsRead only

    List opt outs

    List opted-out numbers (the suppression list).

    limit cursor

  95. list_registration_submissionsRead only

    List registration submissions

    The filed copies of a 10DLC registration, newest first.

    id

  96. list_registrationsRead only

    List registrations

    List 10DLC brand and campaign registrations and their status. Marketing from a local number needs an approved one.

  97. list_scheduled_messagesRead only

    List scheduled messages

    List single messages scheduled for later and not yet sent.

  98. list_schedulesRead only

    List schedules

    List recurring schedules.

  99. list_segmentsRead only

    List segments

    List saved segments.

  100. list_templatesRead only

    List templates

    List message templates.

  101. list_toll_free_verificationsRead only

    List toll free verifications

    List toll-free verifications and their status (draft, in_review with us, submitted to the carriers, verified, rejected). A toll-free number texts the public only once verified.

    status limit cursor

  102. list_topicsRead only

    List topics

    List subscription topics.

  103. list_webhook_deliveriesRead only

    List webhook deliveries

    Delivery attempts to your webhook endpoints, with response status codes.

    endpoint_id event_id limit cursor

  104. list_webhooksRead only

    List webhooks

    List webhook endpoints.

  105. lookup_phoneRead only

    Lookup phone

    Look up line type (mobile, landline, VoIP) and carrier for any US/Canada number.

    phone

  106. pause_automationChanges data

    Pause automation

    Pause an automation: no new runs start, and runs in progress wait where they are until it is activated again.

    id

  107. pause_batchChanges data

    Pause batch

    Pause a sending or scheduled batch.

    id

  108. plan_campaignRead only

    Plan campaign

    Every input a send needs, as questions to ask the person, with this account's options for each. kind automation: the event that starts it (tracked events with their properties, and the Mixpanel events mapped to them), filters, how long after the event to text, right away or optimal user time, the event that ends it, follow-ups, repeats, who gets it, the message, link, sender and topic. kind broadcast: audience, who to leave out, message, when, sender, topic, follow-up. Also who never gets the text (exclusions) and what is missing (gaps). Changes nothing.

    kind

  109. plan_importRead only

    Plan import

    Find out where an audience is and the ways to bring it in. Without source: questions to ask the person (where their people are, which group, what they can sign in to, whether consent was recorded, once or kept in sync) and the kinds of source known. With source (their words, e.g. "Mixpanel", "Shopify", "our Postgres users table", "a Google Sheet"): the ways in, best first, each with steps and a console link: an integration already syncing it, another connected tool that can read it, a 6-hourly sync connected with their key here or in the console, a push to an ingest URL, a script with a key from their environment, an export, or a CSV upload. Changes nothing.

    source

  110. plan_taskRead only

    Plan task

    The questions behind anything a person does here, with this account's options for each: send a text, buy or release a number, register for 10DLC, verify a toll-free number, request a short code, verification codes, a recurring text, a segment, template, list, topic, connecting a tool, a webhook, an API key, a link domain, a spend limit, a number pool, importing opt-outs, automations, broadcasts. task: a key or the person's words ("buy a number"); omit it for the list. Each question names the fields it fills; inputs lists every field the API takes; rules, gaps, and person_submits when the person files it in the console. Changes nothing.

    task

  111. preview_automationRead only

    Preview automation

    See an automation's texts exactly as they would go out, without sending: works on drafts. Pass sample event properties (e.g. {"amount": 9.99}) and optionally `to` for a contact's merge fields. Returns each send_sms step's final text (brand and opt-out wording added as we would), segments, encoding, estimated cost, merge fields that would come out empty, and, for an optimal-user-time step with `to`, next_send: when it would go for that person and why.

    id properties to

  112. preview_segmentRead only

    Preview segment

    Count the contacts a segment matches right now and how many a broadcast would reach (opted-out contacts removed, and with topic_id those unsubscribed from it). `notes` says when an event rule names an event never tracked.

    id topic_id

  113. purchase_numberChanges data

    Purchase number

    Buy a phone number for your account (free sandbox numbers with test keys). Live numbers are billed monthly.

    phone_number customer_id registration_id idempotency_key

  114. query_audienceChanges data

    Query audience

    Count a cohort without saving anything (nothing appears in the console): run up to 10 segment rules now and get the counts (matched, opted out, eligible to text) and the first contacts. Examples: replied in the last 7 days (last_reply_at after 7d); got a batch and did not reply (batch sent, and batch replied with is_not); started checkout but never purchased (event exists, event not_exists); VIPs not texted in 30 days. Same rule fields as a saved segment. Everyone eligible to text: one rule, status is subscribed.

    match rules topic_id limit

  115. recommend_messageRead only

    Recommend message

    Which text should we send? Ranked SMS copy for a goal (abandoned_cart, welcome, winback, failed_payment, trial, promo, ... or any) by expected revenue per message, each with its evidence: the factors that moved its score, the closest published SMS-only case studies with source links, and how much comes from this account's own sends (clicks, STOPs, revenue from tracked events). Pass your own drafts in `candidates` to score them against the generated ones. Only uses the offer, code and deadline you give it. Sends and saves nothing.

    industry company_type goal audience brand product offer code deadline link first_name first_message candidates limit use_history

  116. record_conversionChanges data

    Record conversion

    Report a sale or sign-up from someone who came through a tracked link. click_id is the tk value on the landing page's URL; value_cents is what it was worth; external_id (an order id) stops a retry counting twice.

    click_id value_cents name external_id

  117. redact_messageChanges data

    Redact message

    Empty a finished message's text and media everywhere it is kept, keeping its status, price and timeline (redacted_at is set). Cannot be undone.

    id

  118. release_numberChanges data

    Release number

    Release a number you own. It cannot be got back.

    phone_number

  119. remove_from_listChanges data

    Remove from list

    Remove contacts from a list (they stay contacts).

    id contact_ids phone_numbers

  120. replay_eventChanges data

    Replay event

    Send an event again to one webhook endpoint (after fixing the receiver).

    id endpoint_id

  121. replay_failed_webhooksChanges data

    Replay failed webhooks

    Re-send every event that failed to reach a webhook endpoint in a window (default the last 24 hours, up to 7 days), after fixing the receiver.

    id since until

  122. request_short_codeChanges data

    Request short code

    Ask our team for a short code (or a toll-free number they set up). Provisions nothing by itself; carriers take 8-12 weeks to approve a short code.

    type business_name monthly_volume use_case

  123. resume_batchChanges data

    Resume batch

    Resume a paused batch.

    id

  124. retry_batchChanges data

    Retry batch

    Retry a batch's failed recipients.

    id

  125. revoke_api_keyChanges data

    Revoke api key

    Revoke an API key of this mode. Immediate and permanent: anything using it stops working.

    id

  126. rotate_webhook_secretChanges data

    Rotate webhook secret

    Replace a webhook endpoint's signing secret (returned once). expire_previous_in keeps the old one signing for that many seconds so the receiver can switch without dropping events.

    id expire_previous_in

  127. search_available_numbersRead only

    Search available numbers

    Search purchasable numbers by area code (default 415).

    area_code

  128. send_batchChanges data

    Send batch

    Send one message to many people (a broadcast or campaign): pick recipients by segment_id, tags, contact_ids, or an explicit recipients list. Opted-out numbers, numbers without marketing consent, and people unsubscribed from topic_id are removed before sending. dry_run: true sends nothing and returns the count, cost, rejected rows and consent. scheduled_at sends at one instant; send_at_local (like 2026-11-10T17:00) sends at that time on each person's own clock.no_opt_in (recipients the send will skip for having no opt-in). Leave out `from` and TextKit picks a number approved for `category` (marketing unless you say otherwise), one per recipient; `sender` shows them, and with none approved it answers 400 and sends nothing. scheduled_at sends later (up to 30 days). shorten_links: true tracks link clicks: suggest it whenever the text has a link. Each recipient can carry external_id (their Mixpanel distinct_id) so the text's events land on their Mixpanel profile. With a live key it texts re

    from body name recipients tags contact_ids segment_id list_id category quiet_hours topic_id shorten_links scheduled_at send_at_local dry_run check_line_types

  129. send_messageChanges data

    Send message

    Send one SMS from one of your numbers. Set category "marketing" for promotions (the opt-in check applies) and scheduled_at to send later. Quiet hours apply to every message: outside 8am-9pm (narrower in some states) in the recipient's local time a marketing message is refused and anything else is held until 9am, except one-time codes and replies within 4 hours of their text. In sandbox (test keys), delivery is simulated: +15005550006 delivers, +15005550002 fails, +15005550007 is filtered as spam, +15005550013 delivers after a delay, +15005550016 has no opt-in (see /docs/sandbox).

    to from body customer_id scheduled_at category quiet_hours shorten_links tags consent media status_callback idempotency_key

  130. send_verificationChanges data

    Send verification

    Send a one-time verification code (OTP) to a phone number by text, or to an email address with channel "email". TextKit generates the code, handles expiry (10 min) and attempt limits (5), and blocks SMS-pumping and email-bombing abuse.

    channel phone email app_name user_ip from customer_id idempotency_key

  131. set_consentChanges data

    Set consent

    Record an opt-in or opt-out from your own system (CRM, checkout, a form). An opt-in for a marketing registration needs proof (source, when, the page).

    phone status note campaign_id proof

  132. set_contact_topicChanges data

    Set contact topic

    Subscribe a contact to a topic, or unsubscribe them (e.g. "promotions" vs "order updates").

    id topic subscribed source

  133. set_spend_limitChanges data

    Set spend limit

    Set or remove the monthly spend cap and its alert thresholds. Live sends over the cap are refused.

    monthly_limit_usd alert_thresholds

  134. simulate_inboundChanges data

    Simulate inbound

    Sandbox only: simulate an inbound SMS to one of your test numbers (emits message.received; STOP, START and HELP act as for real).

    to from body

  135. sync_integrationChanges data

    Sync integration

    Sync a connected tool now (up to 6 times an hour) and get what changed.

    id

  136. test_automationChanges data

    Test automation

    Text an automation's messages to your own verified phone or a verified recipient now, skipping waits and conditions, without activating it (drafts work). Pass sample event properties; `steps` sends only those step ids. No run starts and stats do not change. Texts from a live number are real and billed.

    id to from properties steps idempotency_key

  137. test_webhookChanges data

    Test webhook

    Send a signed test.ping to a webhook endpoint and see what it answered.

    id

  138. track_eventChanges data

    Track event

    Record something a customer did (e.g. signed_up, cart_abandoned, trial_ending), by user_id and/or phone. It starts or advances any active automation listening for that event. external_id (their Mixpanel distinct_id, when not user_id) puts the texts it starts on their Mixpanel profile.

    event user_id external_id phone properties idempotency_key

  139. update_automationChanges data

    Update automation

    Edit an automation (name, sender or `category`, trigger incl. trigger.cooldown_seconds, or steps). `steps` replaces every step; `step` replaces just the one with its id. Pass `if_updated_at` (the updated_at you read): an edit made by someone else since then answers 409 instead of being overwritten.

    id name from category topic_id trigger steps step if_updated_at

  140. update_contactChanges data

    Update contact

    Update a contact. Only the inputs you pass change; tags and fields replace the whole list or map.

    id phone_number name tags fields notes first_name last_name email company state source

  141. update_customerChanges data

    Update customer

    Rename a customer or change its external_id or metadata.

    id name external_id metadata

  142. update_integrationChanges data

    Update integration

    Rename, pause or resume (status), or change an integration's settings or credentials (left-out credentials keep the stored ones). eventTriggers (Mixpanel) maps Mixpanel events to TextKit events; exportEvents: false stops sending text events to Mixpanel (on by default); changing only those does not re-test credentials or resync.

    id name status sourceId phoneField phoneEvent phoneEventProperty exportEvents eventTriggers consentField consentEvent username secret apiKey secretKey accessToken

  143. update_listChanges data

    Update list

    Rename a list or change its description.

    id name description

  144. update_number_poolChanges data

    Update number pool

    Rename a sender pool or change its numbers.

    id name description routing

  145. update_scheduleChanges data

    Update schedule

    Pause (active: false) or resume (active: true) a recurring schedule.

    id active

  146. update_segmentChanges data

    Update segment

    Rename a segment or replace its rules.

    id name description match rules

  147. update_templateChanges data

    Update template

    Rename or edit a template.

    id name body

  148. update_topicChanges data

    Update topic

    Rename or describe a topic.

    id name description

  149. update_webhookChanges data

    Update webhook

    Change a webhook endpoint: URL, events, or turn it off (active: false).

    id url events active description numbers

  150. upsert_contactChanges data

    Upsert contact

    Create a contact, or update the existing one with the same phone_number.

    phone_number name tags fields notes first_name last_name email company state source opt_in

  151. verify_link_domainChanges data

    Verify link domain

    Check a link domain's DNS records now. When both are found it is turned on (active) at once.

    id

  152. wait_for_eventsRead only

    Wait for events

    Wait up to 25 seconds for the next events after a cursor (a reply, a delivery receipt), then return them.

    cursor timeout

Is this yours?

Claim it to hear the moment it breaks, correct this page and add your own ways to use it.

A test is the handshake and the tool list: no tool was called. Names and descriptions are as listed by whoever registered the server; we haven't checked them.

Back to Tested MCP Servers