Notifyre MCP by usefulapi

Read Notifyre SMS, replies, faxes, numbers, prices and contacts; send SMS to up to 10 numbers.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
73%
命名品質
99%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'notifyre_add_contacts_to_groups' name length outside 3-30 range在 notifyre_add_contacts_to_groups 中

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

上下文成本

~4,353Token(工具定義)
~1.3 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.40%)

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

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

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

它能做什麼

工具清單

工具(21)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢notifyre_list_sent_sms(from_date, to_date, status, to_number, from_number, ...)

List SMS messages sent from the account, newest first by default, with recipient, status and cost. Without from_date the window is the last 30 days. Filter by status (processing, submitted, sent, failed), numbers, or a message id in search. Page with skip = next_skip. Notifyre API: GET /sms/send.

輸入結構描述

{
  "type": "object",
  "properties": {
    "from_date": {
      "description": "Start, ISO 8601 date (2026-10-01) or date-time with timezone. Default: 30 days before to_date.",
      "type": "string"
    },
    "to_date": {
      "description": "End, ISO 8601 date (2026-10-31, to the end of that UTC day) or date-time. Default: now.",
      "type": "string"
    },
    "status": {
      "description": "Only messages with this status.",
      "type": "string",
      "enum": [
        "processing",
        "submitted",
        "sent",
        "failed"
      ]
    },
    "to_number": {
      "description": "Destination number the SMS was sent to.",
      "type": "string",
      "maxLength": 30
    },
    "from_number": {
      "description": "Number the SMS was sent from.",
      "type": "string",
      "maxLength": 30
    },
    "search": {
      "description": "Filter by message id or scheduled job id.",
      "type": "string",
      "maxLength": 100
    },
    "sort": {
      "description": "asc or desc by date (default desc).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "limit": {
      "description": "Page size, 1 to 100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "skip": {
      "description": "Records to skip (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_get_sent_sms(message_id)

Get one sent SMS message with every recipient: status, delivery status, message parts, cost. Use the id from notifyre_list_sent_sms or notifyre_send_sms. Notifyre API: GET /sms/send/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "message_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The SMS message id (not the friendly id)."
    }
  },
  "required": [
    "message_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_get_sms_recipient(message_id, recipient_id)

Get the text and delivery details of one recipient of a sent SMS (status, parts, cost). Notifyre API: GET /sms/send/{messageId}/recipients/{recipientId}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "message_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The SMS message id."
    },
    "recipient_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The recipient id from get_sent_sms."
    }
  },
  "required": [
    "message_id",
    "recipient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_sms_replies(from_date, to_date, from_number, to_number, recipient_id, ...)

List SMS replies received on the account's numbers. Without from_date the window is the last 30 days. from_number and to_number must be given together. include_reply_content adds the reply texts (then at most 20 per page). Page with skip = next_skip. Notifyre API: GET /sms/received.

輸入結構描述

{
  "type": "object",
  "properties": {
    "from_date": {
      "description": "Start, ISO 8601 date or date-time with timezone. Default: 30 days before to_date.",
      "type": "string"
    },
    "to_date": {
      "description": "End, ISO 8601 date or date-time. Default: now.",
      "type": "string"
    },
    "from_number": {
      "description": "Number the reply came from. Needs to_number as well.",
      "type": "string",
      "maxLength": 30
    },
    "to_number": {
      "description": "Account number that received the reply. Needs from_number as well.",
      "type": "string",
      "maxLength": 30
    },
    "recipient_id": {
      "description": "Only replies to this SMS recipient id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "include_reply_content": {
      "description": "Include the reply texts (default false; limit is then capped at 20).",
      "type": "boolean"
    },
    "sort": {
      "description": "asc or desc by date (default desc).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "limit": {
      "description": "Page size, 1 to 100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "skip": {
      "description": "Records to skip (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_get_sms_reply(reply_id)

Get one received SMS reply with its text, sender and receiving number. Use the replyID from notifyre_list_sms_replies. Notifyre API: GET /sms/received/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "reply_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The reply id."
    }
  },
  "required": [
    "reply_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_sms_numbers

List the account's SMS numbers (E.164, status, 10DLC campaign) and approved alphanumeric sender IDs. Use one of them as `from` when sending. Notifyre API: GET /sms/numbers.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_sms_prices

List the price of one SMS per destination country (country code, calling prefix, price, currency). Check it before sending: the cost of a send is price x message parts x recipients. Notifyre API: GET /sms/send/prices.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_sent_faxes(from_date, to_date, status, search, sort, ...)

List faxes sent from the account (recipient, pages, quality, status, failure reason). Without from_date the window is the last 30 days. Filter by status (accepted, successful, in_progress, failed, queued). Page with skip = next_skip. Notifyre API: GET /fax/send.

輸入結構描述

{
  "type": "object",
  "properties": {
    "from_date": {
      "description": "Start, ISO 8601 date or date-time with timezone. Default: 30 days before to_date.",
      "type": "string"
    },
    "to_date": {
      "description": "End, ISO 8601 date or date-time. Default: now.",
      "type": "string"
    },
    "status": {
      "description": "Only faxes with this status.",
      "type": "string",
      "enum": [
        "accepted",
        "successful",
        "in_progress",
        "failed",
        "queued"
      ]
    },
    "search": {
      "description": "Filter by fax id or reference.",
      "type": "string",
      "maxLength": 100
    },
    "sort": {
      "description": "asc or desc by date (default desc).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "limit": {
      "description": "Page size, 1 to 100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "skip": {
      "description": "Records to skip (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_received_faxes(from_date, to_date, to_number, sort, limit, ...)

List faxes received on the account's fax numbers (sender, number, time, pages, duration, read flag). The fax documents are not downloaded. Without from_date the window is the last 30 days. Page with skip = next_skip. Notifyre API: GET /fax/received.

輸入結構描述

{
  "type": "object",
  "properties": {
    "from_date": {
      "description": "Start, ISO 8601 date or date-time with timezone. Default: 30 days before to_date.",
      "type": "string"
    },
    "to_date": {
      "description": "End, ISO 8601 date or date-time. Default: now.",
      "type": "string"
    },
    "to_number": {
      "description": "Only faxes received on this account fax number.",
      "type": "string",
      "maxLength": 30
    },
    "sort": {
      "description": "asc or desc by date (default desc).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "limit": {
      "description": "Page size, 1 to 100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "skip": {
      "description": "Records to skip (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_fax_numbers

List the account's fax numbers (E.164, region, status). Notifyre API: GET /fax/numbers.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_fax_prices

List the price of sending a fax per destination country (country code, calling prefix, price, currency). Notifyre API: GET /fax/send/prices.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_fax_cover_pages

List the fax cover page templates of the account (name and whether it is the default). The HTML of each template is left out. Notifyre API: GET /fax/coverpages.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_contacts(search_query, type, group_ids, sort_by, sort_dir, ...)

Search the address book. search_query matches the name; type FaxNumber or MobileNumber keeps contacts that have that number; group_ids limits to groups. Page numbers start at 0. Contacts that unsubscribed are left out unless include_unsubscribed is true. The unsubscribe key of a contact is never shown. Notifyre API: POST /addressbook/contacts/search (a read).

輸入結構描述

{
  "type": "object",
  "properties": {
    "search_query": {
      "description": "Text in the contact's name.",
      "type": "string",
      "maxLength": 200
    },
    "type": {
      "description": "Only contacts that have this kind of number.",
      "type": "string",
      "enum": [
        "FaxNumber",
        "MobileNumber"
      ]
    },
    "group_ids": {
      "description": "Only contacts in these group ids.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "sort_by": {
      "description": "Sort field (default name).",
      "type": "string",
      "maxLength": 40
    },
    "sort_dir": {
      "description": "asc or desc (default asc).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "include_unsubscribed": {
      "description": "Also return contacts that unsubscribed (default false).",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, from 0 (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Page size, 1 to 100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_get_contact(contact_id)

Get one contact: names, organization, email, fax and mobile number, groups, custom fields, unsubscribed flag. Notifyre API: GET /addressbook/contacts/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The contact id."
    }
  },
  "required": [
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_groups(search_query, sort_by, sort_dir)

List the address book groups with their contact counts. Notifyre API: GET /addressbook/groups.

輸入結構描述

{
  "type": "object",
  "properties": {
    "search_query": {
      "description": "Text in the group name.",
      "type": "string",
      "maxLength": 200
    },
    "sort_by": {
      "description": "Sort field (default name).",
      "type": "string",
      "enum": [
        "name",
        "date_created"
      ]
    },
    "sort_dir": {
      "description": "asc or desc (default asc).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_brands

List the account's registered 10DLC brands (US SMS sender registration). Notifyre API: GET /numbers/brands.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢notifyre_list_campaigns

List the account's 10DLC campaigns (US SMS use-case registrations) and their status. Notifyre API: GET /numbers/campaigns.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴notifyre_send_sms(to, body, from, add_unsubscribe_link, campaign_name)

WRITE: SENDS REAL SMS to real people and SPENDS the prepaid balance of the user's Notifyre account; it cannot be undone or recalled and is never retried. One text to 1 to 10 mobile numbers in international format with "+" (e.g. +61412345678); no contacts, no groups, no scheduling. Cost = price per message part (see notifyre_list_sms_prices; it depends on the destination country) x number of parts x number of recipients; the text may be up to 640 characters (160 per part, 70 with emoji or non-GSM characters, a little less per part when it is longer). Only send what the user explicitly asked for: confirm the exact text, the recipients and the sender first. Recipients must have agreed to receive messages. A commercial SMS needs an opt-out (Australia: Spam Act 2003; Notifyre Terms and Conditions 13.5): set add_unsubscribe_link true to append Notifyre's opt-out link, or put your own opt-out instruction in the text. The default is false, so the requirement is yours to meet. US numbers need a registered 10DLC campaign. Omit `from` to send from a Notifyre shared number. An unclear result (timeout, HTTP 5xx) means the message may still have been sent: check notifyre_list_sent_sms before trying again. Notifyre API: POST /sms/send.

輸入結構描述

{
  "type": "object",
  "properties": {
    "to": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "description": "1 to 10 mobile numbers in international format with country code and \"+\", e.g. +61412345678."
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 640,
      "description": "The message text."
    },
    "from": {
      "description": "Optional sender: one of the account's SMS numbers or sender IDs (see notifyre_list_sms_numbers). Omit to use a Notifyre shared number.",
      "type": "string",
      "maxLength": 20
    },
    "add_unsubscribe_link": {
      "description": "Append Notifyre's opt-out link to the text (default false). A commercial SMS needs an opt-out: set true, or write your own opt-out line. Adds characters, so it can add a part.",
      "type": "boolean"
    },
    "campaign_name": {
      "description": "Optional reference name for this send.",
      "type": "string",
      "maxLength": 100
    }
  },
  "required": [
    "to",
    "body"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡notifyre_create_contact(first_name, last_name, organization, email, mobile_number, ...)

WRITE: adds one contact to the Notifyre address book. Give at least a name or a number. Numbers in international format (e.g. +61412345678). groups takes existing group ids; group_name puts the contact in that group and CREATES the group if it does not exist. Creating the same contact twice may make a duplicate. Notifyre API: POST /addressbook/contacts.

輸入結構描述

{
  "type": "object",
  "properties": {
    "first_name": {
      "description": "Given name.",
      "type": "string",
      "maxLength": 100
    },
    "last_name": {
      "description": "Family name.",
      "type": "string",
      "maxLength": 100
    },
    "organization": {
      "description": "Organization or company.",
      "type": "string",
      "maxLength": 200
    },
    "email": {
      "description": "Email address.",
      "type": "string",
      "maxLength": 254
    },
    "mobile_number": {
      "description": "Mobile number, international format.",
      "type": "string",
      "maxLength": 30
    },
    "fax_number": {
      "description": "Fax number, international format.",
      "type": "string",
      "maxLength": 30
    },
    "group_ids": {
      "description": "Existing group ids to add the contact to.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "group_name": {
      "description": "Group name to add the contact to (created if missing).",
      "type": "string",
      "maxLength": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡notifyre_create_group(name)

WRITE: creates one address book group with the given name. Notifyre API: POST /addressbook/groups.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The group name."
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡notifyre_add_contacts_to_groups(contact_ids, group_ids)

WRITE: adds existing contacts to existing groups (up to 100 contacts and 20 groups). Contacts keep their other groups. Adding a contact to a group does not send anything, but a later send to that group reaches it. Notifyre API: POST /addressbook/groups/contacts.

輸入結構描述

{
  "type": "object",
  "properties": {
    "contact_ids": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "description": "Contact ids."
    },
    "group_ids": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "description": "Group ids."
    }
  },
  "required": [
    "contact_ids",
    "group_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本21 個工具