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 verb在 firetext_get_sent_summary 中
  • LOWTool 'firetext_list_received_messages' name length outside 3-30 range在 firetext_list_received_messages 中
  • LOWTool 'firetext_list_scheduled_messages' name length outside 3-30 range在 firetext_list_scheduled_messages 中

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

上下文成本

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

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

安裝

一鍵安裝

將以下內容加入你的 `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 個工具