Skip to content

Voodoo SMS MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi

Read Voodoo SMS credits, reports, inbox and lists; send one SMS; manage the opt-out blacklist.

Deletes · 5

13 tools: 5 can delete or cancel things and 8 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http voodoo-sms https://voodoo-sms.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

13 tools

Deletes or cancels 5Claude Code: deny
  • voodoosms_add_to_blacklistWRITE: adds one number to the account's opt-out blacklist; from then on no SMS is sent to it (sends to it fail with error 20).No findings

    Why it is in this group

    • The name "voodoosms_add_to_blacklist" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: adds one number to the account's opt-out blacklist; from then on no SMS is sent to it (sends to it fail with error 20). Use it for a recipient who asked to stop. This tool cannot remove a number again. Voodoo SMS REST: POST /blacklist.

    Annotations the server declares

    • title: Add a number to the blacklist
    • destructiveHint: true
  • voodoosms_cancel_scheduled_messageWRITE: cancels one SMS that was scheduled through the send API, so it will not be sent.No findings

    Why it is in this group

    • The name "voodoosms_cancel_scheduled_message" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: cancels one SMS that was scheduled through the send API, so it will not be sent. A message that has already gone out cannot be cancelled. Whether credits are refunded for a cancelled message is not documented by the vendor. Voodoo SMS REST: DELETE /schedule/{id}.

    Annotations the server declares

    • title: Cancel a scheduled SMS
    • destructiveHint: true
  • voodoosms_create_contact_listWRITE: creates a new contact list with up to 500 contacts (the list name must be unique, at most 32 characters).No findings

    Why it is in this group

    • The name "voodoosms_create_contact_list" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: creates a new contact list with up to 500 contacts (the list name must be unique, at most 32 characters). It does not send anything. Voodoo SMS REST: POST /contacts.

    Annotations the server declares

    • title: Create a contact list
    • destructiveHint: true
  • voodoosms_send_smsWRITE: SENDS A REAL SMS to ONE recipient and USES THE ACCOUNT'S CREDITS (1 credit per message part, charged whether or not it is delivered; it cannot be undone).No findings

    Why it is in this group

    • The name "voodoosms_send_sms" says "send": a word for sending, and what is sent cannot be taken back.
    • The description says "cannot be undone".
    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: SENDS A REAL SMS to ONE recipient and USES THE ACCOUNT'S CREDITS (1 credit per message part, charged whether or not it is delivered; it cannot be undone). `sandbox` is required: true validates and prices the message without sending or charging, false sends it for real. Optional `schedule` queues it for later (cancel with cancel_scheduled_message). Do not retry after an error or timeout without checking list_delivery_reports / list_scheduled_messages, or the recipient may get it twice. One recipient per call; there is no bulk or list send. Voodoo SMS REST: POST /sendsms.

    Annotations the server declares

    • title: Send an SMS to one recipient
    • destructiveHint: true
  • voodoosms_update_contact_listWRITE: renames a contact list and/or adds up to 500 contacts to it (existing contacts are not removed).No findings

    Why it is in this group

    • The name "voodoosms_update_contact_list" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: renames a contact list and/or adds up to 500 contacts to it (existing contacts are not removed). Adding dynamic data needs a list created as dynamic. It does not send anything. Voodoo SMS REST: PUT /contacts/{contact_list_id}.

    Annotations the server declares

    • title: Rename a contact list or add contacts
    • destructiveHint: true
Only reads 8Claude Code: allow
  • voodoosms_get_contact_listGet one contact list including its contacts (id, number, status, dynamic_data, created_at).No findings

    Why it is in this group

    • The name "voodoosms_get_contact_list" says "get": a word for reading.
    Description, as the server wrote it
    Get one contact list including its contacts (id, number, status, dynamic_data, created_at). Voodoo SMS REST: GET /contacts?contact_list_id=.

    Annotations the server declares

    • title: Get contacts in a list
    • readOnlyHint: true
  • voodoosms_get_creditsGet the SMS credit balance of the account.No findings

    Why it is in this group

    • The name "voodoosms_get_credits" says "get": a word for reading.
    Description, as the server wrote it
    Get the SMS credit balance of the account. One credit pays for one 160-character SMS part (153 characters per part in a long message). Voodoo SMS REST: GET /credits.

    Annotations the server declares

    • title: Get credit balance
    • readOnlyHint: true
  • voodoosms_list_blacklistList the numbers on the account's opt-out blacklist (no SMS is ever sent to them), or look up one number (`{empty: true}` means it is not on the list).No findings

    Why it is in this group

    • The name "voodoosms_list_blacklist" says "list": a word for reading.
    Description, as the server wrote it
    List the numbers on the account's opt-out blacklist (no SMS is ever sent to them), or look up one number (`{empty: true}` means it is not on the list). Returns an empty result when the blacklist is empty. Voodoo SMS REST: GET /blacklist.

    Annotations the server declares

    • title: List blacklisted numbers
    • readOnlyHint: true
  • voodoosms_list_contact_listsList the account's contact lists (id, name, status, size, created/updated times) without their contacts.No findings

    Why it is in this group

    • The name "voodoosms_list_contact_lists" says "list": a word for reading.
    Description, as the server wrote it
    List the account's contact lists (id, name, status, size, created/updated times) without their contacts. Returns an empty result if there are none. Voodoo SMS REST: GET /contacts.

    Annotations the server declares

    • title: List contact lists
    • readOnlyHint: true
  • voodoosms_list_delivery_reportsList delivery reports of sent messages (message_id, sender_id, to, sent_at, delivered_at, price, status), optionally filtered.No findings

    Why it is in this group

    • The name "voodoosms_list_delivery_reports" says "list": a word for reading.
    Description, as the server wrote it
    List delivery reports of sent messages (message_id, sender_id, to, sent_at, delivered_at, price, status), optionally filtered. Use it to check whether a message was delivered. Dates accept a UNIX timestamp, ISO 8601 (2026-10-01T09:00:00+00:00) or plain English ('yesterday', '2 weeks'). Voodoo SMS REST: GET /report.

    Annotations the server declares

    • title: List delivery reports
    • readOnlyHint: true
  • voodoosms_list_inboxList SMS received on the account's Virtual Mobile Numbers (replies and keyword messages).No findings

    Why it is in this group

    • The name "voodoosms_list_inbox" says "list": a word for reading.
    Description, as the server wrote it
    List SMS received on the account's Virtual Mobile Numbers (replies and keyword messages). Needs a purchased number; an empty inbox returns an empty result. Dates accept a UNIX timestamp, ISO 8601 or plain English. Voodoo SMS REST: GET /inbox.

    Annotations the server declares

    • title: List received SMS
    • readOnlyHint: true
  • voodoosms_list_numbersList the Virtual Mobile Numbers (VMNs) the account has purchased, used to receive SMS.No findings

    Why it is in this group

    • The name "voodoosms_list_numbers" says "list": a word for reading.
    Description, as the server wrote it
    List the Virtual Mobile Numbers (VMNs) the account has purchased, used to receive SMS. Returns an empty result if there are none. Voodoo SMS REST: GET /numbers.

    Annotations the server declares

    • title: List virtual mobile numbers
    • readOnlyHint: true
  • voodoosms_list_scheduled_messagesList SMS that were scheduled through the send API and are still waiting to go out (messages scheduled in the portal's Web SMS are not shown).No findings

    Why it is in this group

    • The name "voodoosms_list_scheduled_messages" says "list": a word for reading.
    Description, as the server wrote it
    List SMS that were scheduled through the send API and are still waiting to go out (messages scheduled in the portal's Web SMS are not shown). Voodoo SMS REST: GET /schedule.

    Annotations the server declares

    • title: List scheduled messages
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http voodoo-sms https://voodoo-sms.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__voodoo-sms__voodoosms_get_credits",
      "mcp__voodoo-sms__voodoosms_list_delivery_reports",
      "mcp__voodoo-sms__voodoosms_list_scheduled_messages",
      "mcp__voodoo-sms__voodoosms_list_inbox",
      "mcp__voodoo-sms__voodoosms_list_numbers",
      "mcp__voodoo-sms__voodoosms_list_contact_lists",
      "mcp__voodoo-sms__voodoosms_get_contact_list",
      "mcp__voodoo-sms__voodoosms_list_blacklist"
    ],
    "ask": [],
    "deny": [
      "mcp__voodoo-sms__voodoosms_send_sms",
      "mcp__voodoo-sms__voodoosms_cancel_scheduled_message",
      "mcp__voodoo-sms__voodoosms_add_to_blacklist",
      "mcp__voodoo-sms__voodoosms_create_contact_list",
      "mcp__voodoo-sms__voodoosms_update_contact_list"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as voodoo-sms. Review it before you use it.