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 rangetextus_list_conversation_filters에서
  • LOWTool 'textus_get_conversation_timeline' name length outside 3-30 rangetextus_get_conversation_timeline에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,482토큰 (도구 정의)
~1.0 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.72%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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개