BulkSMS MCP by usefulapi

io.usefulapi/bulksms

Read BulkSMS messages, replies, profile and webhooks; send SMS to up to 10 numbers.

Yes, your AI can use this right now.Answered a live MCP handshake in 181 ms with no sign-in needed and exposes 8 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://bulksms.usefulapi.io/mcp

8 tools, verified live

Pulled straight from the server with tools/list on 2026-10-18.
bulksms_get_profileread-only

Show the BulkSMS account: username, credit balance, credit limit, whether credit transfer is allowed, the daily message quota (size and remaining today) and the sender ids this account may use. Company and billing details are left out. BulkSMS REST: GET /profile.

bulksms_list_messagesread-only

List sent (SENT) and received (RECEIVED) SMS messages, newest first by default. BulkSMS limits the window to the last 7 days unless submission_date_from is given. To page newest-first, pass before_id = the smallest id of the previous page; with sort_order ASCENDING pass after_id = the largest id of the previous page. REST: GET /messages with a `filter` built from the arguments.

bulksms_get_messageread-only

Get one sent or received message by its id: body, recipient, delivery status, number of parts and credit cost. BulkSMS REST: GET /messages/{id}.

bulksms_list_repliesread-only

List the received (RECEIVED) replies linked to a sent message id. Only messages sent with a REPLIABLE sender have linked replies. An empty list means none or an unknown id. BulkSMS REST: GET /messages/{id}/relatedReceivedMessages.

bulksms_list_blocked_numbersread-only

List phone numbers the account may not send to (added via the API, by a recipient replying STOP, or by BulkSMS). To page, pass min_id = the largest id of the previous page + 1. BulkSMS REST: GET /blocked-numbers.

bulksms_list_webhooksread-only

List the account's webhooks (name, trigger SENT/RECEIVED, active flag, invoke option). Only the host of each webhook URL is shown: the path and query can hold a secret. Read-only: webhooks are not changed by this server. BulkSMS REST: GET /webhooks.

bulksms_send_messagecan modify

WRITE: SENDS REAL SMS to real people and SPENDS CREDITS from the user's BulkSMS account; it cannot be undone or recalled. One message text to 1 to 10 phone numbers in international format (e.g. +447700900000). Cost = credits per message part x number of parts x number of recipients (about 1 credit per 160-character GSM part to a standard-route destination; the exact cost depends on the destination

bulksms_block_numbercan modify

WRITE: adds ONE phone number to the account's blocked list, so that no further messages are sent to it (a send to a blocked number fails with FAILED.BLOCKED and still costs credits). This API has no way to remove a block again: do it only when the user asks for it. BulkSMS REST: POST /blocked-numbers.

Alternatives in Email & Messaging

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”