Skip to content
TextKit logo

TextKit MCP server

Which MCP servers are TextKit's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-29

← Back to TextKit

Whose server it is
  • Registry namecom.jointextkit/textkitverified in the MCP registry

The registry name sits under jointextkit.com. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-29
  • Stateanswerschecked 2026-10-29
  • Tools148
  • Server calls itselftextkit
  • Server version1.0.0+8daf0c1f
  • Protocol version2025-03-26

On 2026-10-29 the server answered initialize and tools/list without a sign-in. First answer in 269 ms.

Should an agent connect itNot proven either way yet
  • Whether its tools do the product's job has not been judged yet.
  • Checked on 5 of the 7 days it takes to judge reliability.

Once connected

  • For "Send one-time verification codes to app users", the likely first call is send_verification.
  • send_message, delete_message, send_verification, bulk_update_numbers, create_number_pool change data without a sign-in: anyone with the address can call them.
  • Its definitions take about 26226 tokens of context: enable only the tools a task needs.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 5, the first on 2026-10-29
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 5 so far
  • Answeredmeasuring5 of the 7 daily checks it takes to print a share
  • Median first answer220 ms
  • Space in an agent's context≈ 26,226 tokensthe definitions of all its tools (152), which an agent carries on every turn
  • Tool definitionsA · 99 of 100
  • Typed results0 of 152 toolsdeclared outputSchema: results come typed, read once
  • No description an agent can choose by: 6 of 152

What an agent can do with it

  • can do · Send one-time verification codes to app users
  • not sure · Receive customer replies and handle them through webhooks
  • not sure · Send scheduled texts to contact lists with opt-out handling

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

  • Tools that change data, on a server that answers without a sign-in: send_message, delete_message, send_verification, bulk_update_numbers, create_number_pool

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers148 tools · read 2026-10-29
  • 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 (8pm in Florida, Maryland and Oklahoma) in the…

  • 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, assign to a customer, 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…

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

  • 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). Use a list when the user names exactly who belongs ("add these people to VIPs"); use a segment when membership 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…

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

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

The first 60 of 148, as the server listed them.

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "textkit": {
      "type": "http",
      "url": "https://mcp.jointextkit.com"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http jointextkit https://mcp.jointextkit.com

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://mcp.jointextkit.com as a custom connector in the settings.

OpenAPI spec

104 paths, read 2026-10-29. Open the spec ↗

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.