Notifyre MCP by usefulapi

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
73%
Calidad de los nombres
99%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'notifyre_add_contacts_to_groups' name length outside 3-30 rangeen notifyre_add_contacts_to_groups

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~4,353Tokens (definiciones de herramientas)
~1.3 KBTamaño de respuesta típico
Impacto significativo en la atención (3.40% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (21)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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).

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada21 herramientas