NestDaddy

TextKit

com.jointextkit/textkit · v1.0.2

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

Connect Remote server

Terminal
claude mcp add --transport http textkit https://mcp.jointextkit.com
~/.cursor/mcp.json
{
  "mcpServers": {
    "textkit": {
      "url": "https://mcp.jointextkit.com"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "textkit": {
      "type": "http",
      "url": "https://mcp.jointextkit.com"
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://mcp.jointextkit.com

Tools 80 found in our last check

  • 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 an…

  • get_message

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

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

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

  • list_messages

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

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

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

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

  • list_numbers

    List the phone numbers on your account.

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

  • list_number_requests

    Open short-code and toll-free requests.

  • search_available_numbers

    Search purchasable numbers by area code (default 415).

  • purchase_number

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

  • release_number

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

  • lookup_phone

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

  • 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).

  • list_events

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

  • get_verification

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

  • get_number

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

  • bulk_purchase_numbers

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

  • link_number_to_registration

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

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

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

  • export_numbers

    Your numbers as CSV text.

  • list_number_pools

    List sender pools.

  • create_number_pool

    Create a sender pool from numbers you own.

  • get_number_pool

    Retrieve a sender pool and its numbers.

  • update_number_pool

    Rename a sender pool or change its numbers.

  • delete_number_pool

    Delete a sender pool. Its numbers are kept.

  • clone_number_pool

    Copy a sender pool under a new name.

  • 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 fi…

  • 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…

  • upsert_contact

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

  • list_contacts

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

  • get_contact

    Retrieve a contact.

  • update_contact

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

  • delete_contact

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

  • bulk_update_contacts

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

  • set_contact_topic

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

  • create_list

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

  • list_lists

    List contact lists with their contact counts.

  • get_list

    Retrieve a list and its contact count.

  • update_list

    Rename a list or change its description.

  • delete_list

    Delete a list (its contacts stay).

  • list_list_contacts

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

  • add_to_list

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

  • remove_from_list

    Remove contacts from a list (they stay contacts).

  • 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 f…

  • list_segments

    List saved segments.

  • get_segment

    Retrieve a segment and its rules.

  • update_segment

    Rename a segment or replace its rules.

  • delete_segment

    Delete a segment. Contacts are not touched.

  • 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…

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

  • list_topics

    List subscription topics.

  • create_topic

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

  • create_template

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

  • list_templates

    List message templates.

  • get_template

    Retrieve a template.

  • update_template

    Rename or edit a template.

  • delete_template

    Delete a template.

  • 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 l…

  • 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 send…

  • list_batches

    List batches (broadcasts), newest first.

  • get_batch

    Retrieve a batch with its progress counts.

  • get_batch_results

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

  • list_batch_recipients

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

  • pause_batch

    Pause a sending or scheduled batch.

  • resume_batch

    Resume a paused batch.

  • cancel_batch

    Cancel a batch. Messages already sent stay sent.

  • retry_batch

    Retry a batch's failed recipients.

  • 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 pr…

  • 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…

  • 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 opti…

  • 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…

  • list_automations

    List automations.

  • get_automation

    Retrieve an automation with its trigger and steps.

  • 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 o…

  • delete_automation

    Delete an automation.

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

Details

Endpointhttps://mcp.jointextkit.com (Streamable HTTP)
First published30 Oct 2026
Last updated30 Oct 2026
Registry namecom.jointextkit/textkit

More communication servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.