SMS Everyone MCP by usefulapi
Send confirmed SMS, check credits, delivery and replies, and manage opt-outs with SMS Everyone.
使うべきか
品質と安全性
検出事項(2)
- LOWsmseveryone_get_campaign_status 内
- LOWsmseveryone_get_delivery_status 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"sms-everyone": {
"url": "https://sms-everyone.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://sms-everyone.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(11)
🟢smseveryone_get_account
Show the SMS Everyone account: user id, remaining SMS credits, whether unicode (emoji, non-English text) is enabled and whether international messaging is allowed. SMS Everyone REST: POST /api/RetrieveUserSettings.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smseveryone_get_campaign_status(campaign_id)
Show whether a sent or scheduled campaign is Scheduled, Running, Paused or Deleted. SMS Everyone REST: POST /api/campaign with Action status.
入力スキーマ
{
"type": "object",
"properties": {
"campaign_id": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "The CampaignId SMS Everyone returned when the message was sent or scheduled."
}
},
"required": [
"campaign_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smseveryone_get_delivery_status(campaign_id, destination, limit, offset)
Delivery receipts of a campaign: one entry per destination with a timestamp, a DeliveryReceiptStatusId and a carrier code. Pass destination to see one number only. An empty list means no receipt has arrived yet (carriers can take up to 24 hours) or the campaign id is not on this account. SMS Everyone asks for no more than one request per minute in production. SMS Everyone REST: POST /api/DRStatus.
入力スキーマ
{
"type": "object",
"properties": {
"campaign_id": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "The CampaignId SMS Everyone returned when the message was sent or scheduled."
},
"destination": {
"description": "Optional single phone number in international format, e.g. 61400123456.",
"type": "string",
"minLength": 1
},
"limit": {
"description": "Show at most this many destinations, default 500.",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"offset": {
"description": "Skip this many entries (for paging: use next_offset of the previous result). Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"required": [
"campaign_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smseveryone_list_replies(days, date_start, date_end, limit, offset)
List SMS replies received on the account: received time, the sender's number (Originator), the account number it was sent to (Recipient), the text and a reference id. Always asks for a time window (the last `days` days, 1 to 7, counted back to 12am yesterday for 1, or a date range of at most 30 days), which leaves the replies available for later calls. Default: days 1. Production polling is limited to once per minute per account through this MCP; five minutes is recommended. SMS Everyone REST: POST /api/replies.
入力スキーマ
{
"type": "object",
"properties": {
"days": {
"description": "The last N days, 1 to 7 (1 = back to 12am yesterday in the account's time zone). Default 1. Ignored when date_start is given. For longer periods use date_start/date_end (up to 30 days).",
"type": "integer",
"minimum": 1,
"maximum": 7
},
"date_start": {
"description": "Start date, YYYY-MM-DD.",
"type": "string"
},
"date_end": {
"description": "End date, YYYY-MM-DD (default: today). Needs date_start.",
"type": "string"
},
"limit": {
"description": "Show at most this many replies, default 100.",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "Skip this many entries (for paging: use next_offset of the previous result). Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smseveryone_list_optouts(limit, offset)
List phone numbers in the account's optout database (messages to them are never sent): number, date added, reason. The API returns the whole list; this tool shows the first `limit` entries and the total. SMS Everyone REST: POST /api/optouts with Action list.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "Show at most this many entries, default 200.",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"offset": {
"description": "Skip this many entries (for paging: use next_offset of the previous result). Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smseveryone_list_contact_lists(limit, offset)
List the stored lists (CRM groups) of mobile numbers: list id (CrmId), description and number count. SMS Everyone REST: POST /api/crm with Action list.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "Show at most this many lists, default 500.",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"offset": {
"description": "Skip this many entries (for paging: use next_offset of the previous result). Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smseveryone_get_contact_list(list_id, limit, offset)
Show the mobile numbers stored in one list. The API returns the whole list; this tool shows the first `limit` numbers and the total count. SMS Everyone REST: POST /api/crm with Action details.
入力スキーマ
{
"type": "object",
"properties": {
"list_id": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "The CrmId from list_contact_lists."
},
"limit": {
"description": "Show at most this many numbers, default 200.",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"offset": {
"description": "Skip this many entries (for paging: use next_offset of the previous result). Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"required": [
"list_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴smseveryone_send_sms(confirm, originator, destinations, message, time_scheduled)
WRITE: SENDS REAL SMS to real people and SPENDS CREDITS from the user's SMS Everyone account; a sent message cannot be recalled (a campaign scheduled for later can be cancelled with cancel_campaign). One message text to 1 to 25 phone numbers in international format without "+" (e.g. 61400123456 for Australia, 6421123456 for New Zealand). Cost = credits per part x number of parts x recipients: a text is 160 characters per part (153 when longer), and one emoji or non-English character makes it unicode: 70 characters per part (67 when longer), more credits. Numbers on the account's optout list are skipped. The originator is where the message appears to come from and must be one registered with SMS Everyone for the account (an Australian alphanumeric sender must be ACMA registered). Optional time_scheduled (YYYYMMDDHHmm in the account's time zone; a time in the past sends at once). Only send what the user explicitly asked for; confirm the text, recipients and sender first. No stored lists, no bulk. SMS Everyone REST: POST /api/campaign with Action create.
入力スキーマ
{
"type": "object",
"properties": {
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true only after the user confirms this exact write and its affected recipients/campaign."
},
"originator": {
"type": "string",
"minLength": 1,
"maxLength": 15,
"description": "Sender: the registered originator exactly as SMS Everyone gave it (a mobile number without +, a 4 to 6 digit short code, or a registered alphanumeric name; names are case sensitive)."
},
"destinations": {
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "1 to 25 recipient numbers in international format with country code, no leading 0, e.g. 61400123456."
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 1000,
"description": "The message text (long texts are split into several parts and cost more)."
},
"time_scheduled": {
"description": "Optional send time YYYYMMDDHHmm in the account's time zone, e.g. 203507301300 = 30 July 2035, 1pm. Omit to send now.",
"type": "string",
"pattern": "^\\d{12}$"
}
},
"required": [
"confirm",
"originator",
"destinations",
"message"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴smseveryone_cancel_campaign(campaign_id, confirm)
WRITE: deletes a scheduled SMS campaign so it is not sent. Only works before the campaign start time (afterwards SMS Everyone refuses it with an error code). It cannot be undone. SMS Everyone REST: POST /api/campaign with Action delete.
入力スキーマ
{
"type": "object",
"properties": {
"campaign_id": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "The CampaignId SMS Everyone returned when the message was sent or scheduled."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true only after the user confirms this exact write and its affected recipients/campaign."
}
},
"required": [
"campaign_id",
"confirm"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴smseveryone_pause_campaign(campaign_id, confirm)
WRITE: pauses a scheduled campaign (or one that is sending; SMS Everyone sends over 1000 messages a second, so a running campaign usually finishes first). A campaign scheduled in the past cannot be paused. This server has no way to resume it: the user must do that in SMS Everyone. SMS Everyone REST: POST /api/campaign with Action pause.
入力スキーマ
{
"type": "object",
"properties": {
"campaign_id": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "The CampaignId SMS Everyone returned when the message was sent or scheduled."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true only after the user confirms this exact write and its affected recipients/campaign."
}
},
"required": [
"campaign_id",
"confirm"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴smseveryone_add_optouts(confirm, numbers)
WRITE: adds 1 to 25 phone numbers to the account's optout database, so no later campaign is sent to them. This server cannot opt a number back in. Do it only when the user asks. SMS Everyone REST: POST /api/optouts with Action add.
入力スキーマ
{
"type": "object",
"properties": {
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true only after the user confirms this exact write and its affected recipients/campaign."
},
"numbers": {
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Numbers in international format, e.g. 61400123456."
}
},
"required": [
"confirm",
"numbers"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス