FireText MCP by usefulapi

Read FireText credit, messages and reports; send an SMS to up to 10 numbers; manage opt-outs.

사용해야 할까요

품질 및 안전성

A
설명 품질
98%
스키마 완전성
91%
이름 품질
77%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (3)

  • LOWTool 'firetext_get_sent_summary' description lacks action verbfiretext_get_sent_summary에서
  • LOWTool 'firetext_list_received_messages' name length outside 3-30 rangefiretext_list_received_messages에서
  • LOWTool 'firetext_list_scheduled_messages' name length outside 3-30 rangefiretext_list_scheduled_messages에서

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

컨텍스트 비용

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

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

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (13)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢firetext_get_credit(subaccount)

Number of SMS credits (messages) remaining on the FireText account or a sub-account. FireText: /credit.

입력 스키마

{
  "type": "object",
  "properties": {
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢firetext_list_received_messages(from, to, pp, page, subaccount)

Inbound SMS received on the account's FireText numbers/keywords (messageID, sentTo, keyword, receivedFrom, receivedOn, message). Dates YYYY-MM-DD; from="last" returns only what is new since the last call. FireText: /receivedmessages.

입력 스키마

{
  "type": "object",
  "properties": {
    "from": {
      "description": "Start date YYYY-MM-DD, or \"last\" for only what is new since the last access.",
      "type": "string",
      "pattern": "^(\\d{4}-\\d{2}-\\d{2}|last)$"
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "End date YYYY-MM-DD."
    },
    "pp": {
      "description": "Results per page: 10, 25 (default), 50 or 100.",
      "anyOf": [
        {
          "type": "number",
          "const": 10
        },
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 50
        },
        {
          "type": "number",
          "const": 100
        }
      ]
    },
    "page": {
      "description": "Page number (1-based).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢firetext_list_sent_messages(from, to, pp, page, subaccount)

Messages (campaigns) sent from the account: messageID, sentOn, sentTo (group), recipientCount, message. The messageID is what the delivery and click reports need. Dates YYYY-MM-DD. FireText: /sentmessages.

입력 스키마

{
  "type": "object",
  "properties": {
    "from": {
      "description": "Start date YYYY-MM-DD, or \"last\" for only what is new since the last access.",
      "type": "string",
      "pattern": "^(\\d{4}-\\d{2}-\\d{2}|last)$"
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "End date YYYY-MM-DD."
    },
    "pp": {
      "description": "Results per page: 10, 25 (default), 50 or 100.",
      "anyOf": [
        {
          "type": "number",
          "const": 10
        },
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 50
        },
        {
          "type": "number",
          "const": 100
        }
      ]
    },
    "page": {
      "description": "Page number (1-based).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢firetext_get_sent_summary(from, to, subaccount)

Totals for a date range: number of campaigns, recipients and credits used. FireText: /sentreport.

입력 스키마

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date YYYY-MM-DD."
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "End date YYYY-MM-DD."
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢firetext_list_scheduled_messages(pp, page, subaccount)

Messages queued for later sending (messageID, queuedOn, scheduledFor, recipientCount, sourceAddress, sendTo, message). FireText: /scheduledmessages.

입력 스키마

{
  "type": "object",
  "properties": {
    "pp": {
      "description": "Results per page: 10, 25 (default), 50 or 100.",
      "anyOf": [
        {
          "type": "number",
          "const": 10
        },
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 50
        },
        {
          "type": "number",
          "const": 100
        }
      ]
    },
    "page": {
      "description": "Page number (1-based).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢firetext_get_delivery_report(message, reference, pp, page, subaccount)

Per-recipient delivery status of one sent message (mobile, names, messageSent, messageUpdate, status: Delivered / Declined / Buffered / Pending with Network / Rejected / Unconfirmed). Give the FireText message id OR the custom reference used when sending. FireText: /deliveryreport.

입력 스키마

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,40}$",
      "description": "FireText message ID (see firetext_list_sent_messages)."
    },
    "reference": {
      "description": "The custom reference set when sending (alternative to message).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "pp": {
      "description": "Results per page: 10000 or 25000 (the vendor's only choices for this report). Large; omit for the vendor default.",
      "anyOf": [
        {
          "type": "number",
          "const": 10000
        },
        {
          "type": "number",
          "const": 25000
        }
      ]
    },
    "page": {
      "description": "Page number (1-based).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢firetext_get_click_report(message, pp, page, subaccount)

Link clicks for one sent message (mobile, names, clicked, userAgent). Only for messages that used FireText's Trackable SMS feature (otherwise the vendor answers URL error). FireText: /clickreport.

입력 스키마

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,40}$",
      "description": "FireText message ID (see firetext_list_sent_messages)."
    },
    "pp": {
      "description": "Results per page: 10000 or 25000 (the vendor's only choices for this report). Large; omit for the vendor default.",
      "anyOf": [
        {
          "type": "number",
          "const": 10000
        },
        {
          "type": "number",
          "const": 25000
        }
      ]
    },
    "page": {
      "description": "Page number (1-based).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "required": [
    "message"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢firetext_get_contact(mobile, subaccount)

Stored details of one contact by mobile number (firstname, lastname, mobile, customField1-3). FireText: /contactinfo.

입력 스키마

{
  "type": "object",
  "properties": {
    "mobile": {
      "type": "string",
      "minLength": 1,
      "maxLength": 32,
      "description": "Mobile number: UK 07700900123 / 447700900123, or international without + and leading zeros (e.g. 33612345678)."
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "required": [
    "mobile"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢firetext_list_unsubscribed(from, to, group, pp, page, ...)

Contacts that opted out (names, mobile, custom fields, addedOn, unsubscribedOn, reason). Optional date range and group API id. FireText: /unsubscribed.

입력 스키마

{
  "type": "object",
  "properties": {
    "from": {
      "description": "Start date YYYY-MM-DD, or \"last\" for only what is new since the last access.",
      "type": "string",
      "pattern": "^(\\d{4}-\\d{2}-\\d{2}|last)$"
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "End date YYYY-MM-DD."
    },
    "group": {
      "description": "Group API ID to restrict to one group.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.-]{1,64}$"
    },
    "pp": {
      "description": "Results per page: 10, 25 (default), 50 or 100.",
      "anyOf": [
        {
          "type": "number",
          "const": 10
        },
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 50
        },
        {
          "type": "number",
          "const": 100
        }
      ]
    },
    "page": {
      "description": "Page number (1-based).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢firetext_list_keywords(pp, page, subaccount)

SMS keywords on the account (keywordID, number, keyword, reference). FireText: /keywords.

입력 스키마

{
  "type": "object",
  "properties": {
    "pp": {
      "description": "Results per page: 10, 25 (default), 50 or 100.",
      "anyOf": [
        {
          "type": "number",
          "const": 10
        },
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 50
        },
        {
          "type": "number",
          "const": 100
        }
      ]
    },
    "page": {
      "description": "Page number (1-based).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴firetext_send_sms(to, message, from, reference, unicode, ...)

WRITE, SPENDS MONEY: sends a REAL SMS to real phones and uses the account's SMS credits (one credit per 160 GSM characters per recipient; long and unicode messages cost more). Cannot be undone. At most 10 recipients per call; no groups, templates, scheduling or repeats. Only call after the user confirmed the exact text, sender and numbers. FireText: /sendsms.

입력 스키마

{
  "type": "object",
  "properties": {
    "to": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 32,
        "description": "Mobile number: UK 07700900123 / 447700900123, or international without + and leading zeros (e.g. 33612345678)."
      },
      "description": "Recipient mobile numbers (1-10): UK 07... / 447..., or international without + and leading zeros."
    },
    "message": {
      "type": "string",
      "minLength": 1,
      "maxLength": 612,
      "description": "Message text (UTF-8), up to 612 characters (160 per single GSM SMS, 153 per part when longer; unicode 70/66)."
    },
    "from": {
      "type": "string",
      "pattern": "^[A-Za-z0-9]{3,11}$",
      "description": "Sender ID shown on the handset: 3-11 characters, letters and digits only (a company name or a reply number)."
    },
    "reference": {
      "description": "Optional custom reference stored against the message (usable in firetext_get_delivery_report).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "unicode": {
      "description": "0 = GSM characters only (default), 1 = always unicode, 2 = auto-detect from the text.",
      "anyOf": [
        {
          "type": "number",
          "const": 0
        },
        {
          "type": "number",
          "const": 1
        },
        {
          "type": "number",
          "const": 2
        }
      ]
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "required": [
    "to",
    "message",
    "from"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴firetext_subscribe_contact(mobile, firstname, lastname, custom1, custom2, ...)

WRITE: adds a contact (by mobile number) to the FireText account, optionally into a group, or with update=true refreshes the names/custom fields of an existing contact. Does not send any SMS. A contact that opted out cannot be re-added this way (they must rejoin by SMS). FireText: /subscribe.

입력 스키마

{
  "type": "object",
  "properties": {
    "mobile": {
      "type": "string",
      "minLength": 1,
      "maxLength": 32,
      "description": "Mobile number: UK 07700900123 / 447700900123, or international without + and leading zeros (e.g. 33612345678)."
    },
    "firstname": {
      "type": "string",
      "maxLength": 100
    },
    "lastname": {
      "type": "string",
      "maxLength": 100
    },
    "custom1": {
      "type": "string",
      "maxLength": 255
    },
    "custom2": {
      "type": "string",
      "maxLength": 255
    },
    "custom3": {
      "type": "string",
      "maxLength": 255
    },
    "group": {
      "description": "Group API ID to add the contact to.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.-]{1,64}$"
    },
    "update": {
      "description": "true = overwrite firstname, lastname and custom1-3 of an existing contact.",
      "type": "boolean"
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "required": [
    "mobile"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴firetext_unsubscribe_contact(mobile, group, subaccount)

WRITE: opts a contact out of the FireText account (all groups by default), so it no longer receives group messages. The contact can only rejoin by SMS. Does not send any SMS. FireText: /unsubscribe.

입력 스키마

{
  "type": "object",
  "properties": {
    "mobile": {
      "type": "string",
      "minLength": 1,
      "maxLength": 32,
      "description": "Mobile number: UK 07700900123 / 447700900123, or international without + and leading zeros (e.g. 33612345678)."
    },
    "group": {
      "description": "Group API ID, only if the account unsubscribes per group.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.-]{1,64}$"
    },
    "subaccount": {
      "description": "Sub-account ID (only when the account has the sub-account module). Omit for the main account.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_.@-]{1,64}$"
    }
  },
  "required": [
    "mobile"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 13개