TextUs MCP by usefulapi

Read texts, contacts, campaigns and opt-outs; send SMS, add contacts and notes in TextUs.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
97%
命名品質
78%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(2)

  • LOWTool 'textus_list_conversation_filters' name length outside 3-30 range在 textus_list_conversation_filters 中
  • LOWTool 'textus_get_conversation_timeline' name length outside 3-30 range在 textus_get_conversation_timeline 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,482Token(工具定義)
~1.0 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.72%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "textus": {
      "url": "https://textus.usefulapi.io/mcp"
    }
  }
}

遠端端點

https://textus.usefulapi.io/mcpstreamable-http

它能做什麼

工具清單

工具(24)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢textus_get_profile

Get the profile of the user who owns the API token, including account memberships and roles. TextUs API: GET /profile.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_accounts(cursor)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_get_account(account)

Get one account by slug: name, phone numbers, type and links. TextUs API: GET /accounts/{account}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    }
  },
  "required": [
    "account"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_account_users(account, cursor)

List the users who belong to an account. TextUs API: GET /{account}/users.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "account"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_contacts(account, q, contact_filter, cursor)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    },
    "q": {
      "description": "Search text (name or phone digits).",
      "type": "string"
    },
    "contact_filter": {
      "description": "Contact filter slug (default `all`; see textus_list_contact_filters).",
      "type": "string",
      "minLength": 1
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "account"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_contact_filters(account, cursor)

List the saved contact filters (views) of an account. TextUs API: GET /{account}/contact_filters.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "account"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_get_contact(contact)

Get all known data about one contact: name, phone numbers, custom data and tags. TextUs API: GET /contacts/{contact}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "contact": {
      "type": "string",
      "minLength": 1,
      "description": "Contact id (from textus_list_contacts)."
    }
  },
  "required": [
    "contact"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_contact_notes(contact, cursor)

List the notes users wrote about a contact. TextUs API: GET /contacts/{contact}/notes.

輸入結構描述

{
  "type": "object",
  "properties": {
    "contact": {
      "type": "string",
      "minLength": 1,
      "description": "Contact id."
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "contact"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_conversation_filters(account)

List the conversation filters (inbox views such as unread, mine, closed) of an account, with unread counts. TextUs API: GET /{account}/conversation_filters.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    }
  },
  "required": [
    "account"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_conversations(account, conversation_filter, q, cursor)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    },
    "conversation_filter": {
      "type": "string",
      "minLength": 1,
      "description": "Filter slug from textus_list_conversation_filters (for example `you`, `search`)."
    },
    "q": {
      "description": "Search text (name or phone digits).",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "account",
    "conversation_filter"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_get_conversation(conversation)

Get one conversation: contact, assigned users, state and last message. TextUs API: GET /conversations/{conversation}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "conversation": {
      "type": "string",
      "minLength": 1,
      "description": "Conversation id."
    }
  },
  "required": [
    "conversation"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_get_conversation_timeline(conversation, cursor)

Get the messages and events of a conversation, newest first. Messages include direction, body and delivery state. TextUs API: GET /conversations/{conversation}/timeline.

輸入結構描述

{
  "type": "object",
  "properties": {
    "conversation": {
      "type": "string",
      "minLength": 1,
      "description": "Conversation id."
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "conversation"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_get_conversation_stats(conversation)

Get stats for one conversation: start time, engagement grade and outbound delivery percentage. TextUs API: GET /conversations/{conversation}/stats.

輸入結構描述

{
  "type": "object",
  "properties": {
    "conversation": {
      "type": "string",
      "minLength": 1,
      "description": "Conversation id."
    }
  },
  "required": [
    "conversation"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_campaign_filters(account)

List the campaign views of an account (for example mine, all). TextUs API: GET /{account}/campaign_filters.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    }
  },
  "required": [
    "account"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_campaigns(account, campaign_filter, cursor)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    },
    "campaign_filter": {
      "description": "Campaign filter slug (default `all`).",
      "type": "string",
      "minLength": 1
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "account"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_get_campaign(campaign)

Get one campaign: message body, state, schedule and recipient counts. TextUs API: GET /campaigns/{campaign}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "campaign": {
      "type": "string",
      "minLength": 1,
      "description": "Campaign id (from textus_list_campaigns)."
    }
  },
  "required": [
    "campaign"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_get_campaign_analytics(account)

Get aggregated statistics (campaigns sent, recipients, delivery) for all campaigns of an account. TextUs API: GET /{account}/campaigns/analytics.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    }
  },
  "required": [
    "account"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_groups(account, group_filter, q, cursor)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    },
    "group_filter": {
      "description": "Group filter slug (default `mine`; see the `slug` values of GET /{account}/group_filters).",
      "type": "string",
      "minLength": 1
    },
    "q": {
      "description": "Search text (name or phone digits).",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "account"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_group_contacts(group, cursor)

List the contacts that belong to a group. TextUs API: GET /groups/{group}/contacts.

輸入結構描述

{
  "type": "object",
  "properties": {
    "group": {
      "type": "string",
      "minLength": 1,
      "description": "Group id (from textus_list_groups)."
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "group"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_opt_outs(account, q, cursor)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    },
    "q": {
      "description": "Search text (name or phone digits).",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "account"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢textus_list_saved_replies(user, cursor)

List the canned message bodies a user saved. TextUs API: GET /users/{user}/saved_replies.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user": {
      "type": "string",
      "minLength": 1,
      "description": "User id (from textus_get_profile)."
    },
    "cursor": {
      "description": "Pagination cursor: the value after `cursor=` in `view.next` of the previous page.",
      "type": "string"
    }
  },
  "required": [
    "user"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴textus_send_message(account, to, body, confirm)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    },
    "to": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 7
      },
      "description": "Recipient phone numbers in E.164 format, for example +13035551234."
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1600,
      "description": "Message text."
    },
    "confirm": {
      "type": "boolean",
      "description": "Must be true. Set it only after the user approved the exact recipients and text."
    }
  },
  "required": [
    "account",
    "to",
    "body",
    "confirm"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴textus_create_contact(account, name, phone, phone_type, business_name, ...)

WRITE: creates a new contact in an account. TextUs API: POST /{account}/contacts.

輸入結構描述

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string",
      "minLength": 1,
      "description": "Account slug (from textus_list_accounts, the `slug` field)."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Full name."
    },
    "phone": {
      "type": "string",
      "minLength": 7,
      "description": "Phone number."
    },
    "phone_type": {
      "description": "Phone label, for example Mobile or Work (default Mobile).",
      "type": "string"
    },
    "business_name": {
      "description": "Business name.",
      "type": "string"
    },
    "tags": {
      "description": "Tags to set.",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "account",
    "name",
    "phone"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴textus_add_contact_note(contact, content)

WRITE: adds an internal note to a contact. The contact does not see it. TextUs API: POST /contacts/{contact}/notes.

輸入結構描述

{
  "type": "object",
  "properties": {
    "contact": {
      "type": "string",
      "minLength": 1,
      "description": "Contact id."
    },
    "content": {
      "type": "string",
      "minLength": 1,
      "maxLength": 5000,
      "description": "Note text."
    }
  },
  "required": [
    "contact",
    "content"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本24 個工具