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 个工具