Negotiated 2025-11-25. The bar is 2025-06-18 or newer.
Pass
HTTPS
The endpoint URL is https.
Performance
Not measured
Fast (p50)
Median latency 140 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.
Not measured
Consistent (p95)
95th percentile 140 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.
Not measured
Reliable (uptime)
1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.
Not measured
Stable tool list
Fewer than two successful probes in 30 days, so tool-list stability is not measured.
Access
Pass
Open access
tools/list succeeded with no credential, and the record declares none.
Not measured
Standard auth
Auth is not required, so the OAuth metadata check does not apply.
Not measured
Free tier cited
No publisher quote has been checked.
Tools
Pass
Tools described
Every tool description is at least 20 characters.
Pass
Valid input schemas
Every inputSchema is a JSON Schema object.
Pass
Parameters documented
51 of 51 parameters have a description (100%). The bar is 80%.
Pass
Safety hints
Every tool sets readOnlyHint or destructiveHint.
Publisher
Pass
Verified namespace
Listed in the Official MCP Registry.
Pass
Website matches publisher
The website host matches the reverse-domain namespace.
Pass
Source repo linked
A repository URL is on file.
Not measured
Repo owner matches
This namespace is not an io.github login, so the owner comparison does not apply.
Pass
Recently updated
Updated 2026-11-10T23:34:36.941334Z, within 180 days.
Not measured
Open-source licence
The GitHub licence lookup has not returned an OSI result yet.
Start using TextUs MCP by usefulapi
Connect to this server
Choose your client, copy the configuration, then enable the server in your client’s MCP settings.
Run this command in your terminal, then restart Claude Code.
Claude Code
claude mcp add --transport http textus-mcp-by-usefulapi https://textus.usefulapi.io/mcp
Capabilities
Tools 24
textus_add_contact_note
WRITE: adds an internal note to a contact. The contact does not see it. TextUs API: POST /contacts/{contact}/notes.
Discovered textus_create_contact
WRITE: creates a new contact in an account. TextUs API: POST /{account}/contacts.
Discovered textus_get_account
Get one account by slug: name, phone numbers, type and links. TextUs API: GET /accounts/{account}.
Discovered textus_get_campaign
Get one campaign: message body, state, schedule and recipient counts. TextUs API: GET /campaigns/{campaign}.
Discovered textus_get_campaign_analytics
Get aggregated statistics (campaigns sent, recipients, delivery) for all campaigns of an account. TextUs API: GET /{account}/campaigns/analytics.
Discovered textus_get_contact
Get all known data about one contact: name, phone numbers, custom data and tags. TextUs API: GET /contacts/{contact}.
Discovered textus_get_conversation
Get one conversation: contact, assigned users, state and last message. TextUs API: GET /conversations/{conversation}.
Discovered textus_get_conversation_stats
Get stats for one conversation: start time, engagement grade and outbound delivery percentage. TextUs API: GET /conversations/{conversation}/stats.
Discovered textus_get_conversation_timeline
Get the messages and events of a conversation, newest first. Messages include direction, body and delivery state. TextUs API: GET /conversations/{conversation}/timeline.
Discovered textus_get_profile
Get the profile of the user who owns the API token, including account memberships and roles. TextUs API: GET /profile.
Discovered textus_list_account_users
List the users who belong to an account. TextUs API: GET /{account}/users.
Discovered textus_list_accounts
List the TextUs accounts the user belongs to, with phone numbers and role. Most other tools need an account `slug` from here. TextUs API: GET /accounts.
Discovered textus_list_campaign_filters
List the campaign views of an account (for example mine, all). TextUs API: GET /{account}/campaign_filters.
Discovered textus_list_campaigns
List campaigns (bulk messages) in a campaign view, ordered by scheduled time, with title, body and state. TextUs API: GET /{account}/campaign_filters/{filter}/campaigns.
Discovered textus_list_contact_filters
List the saved contact filters (views) of an account. TextUs API: GET /{account}/contact_filters.
Discovered textus_list_contact_notes
List the notes users wrote about a contact. TextUs API: GET /contacts/{contact}/notes.
Discovered textus_list_contacts
List contacts of an account in alphabetical order. Use `q` to search by name or phone number. Pass a saved `contact_filter` slug for a saved view (default `all`). TextUs API: GET /{account}/contact_filters/{filter}/contacts.
Discovered textus_list_conversation_filters
List the conversation filters (inbox views such as unread, mine, closed) of an account, with unread counts. TextUs API: GET /{account}/conversation_filters.
Discovered textus_list_conversations
List conversations in an inbox view, newest message first. Use filter `search` with `q` (a phone number or text) to find a conversation. TextUs API: GET /{account}/conversation_filters/{filter}/conversations.
Discovered textus_list_group_contacts
List the contacts that belong to a group. TextUs API: GET /groups/{group}/contacts.
Discovered textus_list_groups
List contact groups in a group folder (`mine` or account groups). Use `q` to search group names. TextUs API: GET /{account}/group_filters/{filter}/groups.
Discovered textus_list_opt_outs
List phone numbers that opted out of messages for an account. Use `q` for a partial search (3 digits or more). TextUs API: GET /{account}/opt_outs.
Discovered textus_list_saved_replies
List the canned message bodies a user saved. TextUs API: GET /users/{user}/saved_replies.
Discovered textus_send_message
WRITE: sends a REAL SMS from the account's number to one or more recipients. It cannot be undone and is never retried. Show the user the recipients and text first, then call with confirm=true. TextUs API: POST /{account}/messages.