Sakari MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.15.4Updated Nov 7, 2026

Manage Sakari SMS contacts, conversations, templates and campaigns, and send texts.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server for a Sakari SMS account: look up contacts, conversations, messages, templates, campaigns and calls, and send texts.

What you can do
  • Read account details, prepaid balance and usage
  • Search, read, create and update contacts
  • List and read messages, conversations and call history; close conversations
  • List and read templates and campaigns; create templates
  • List tracked links, lead forms, webhooks and autoresponders
  • Send text messages to numbers, contacts or conversations
When to use it
Useful when an assistant should answer questions about a Sakari SMS inbox, contacts, campaigns or balance, or draft and send texts from the account without opening the Sakari dashboard.
Requirements
Remote endpoint at sakari.usefulapi.io, added by URL only. Sign-in is via OAuth; the login page asks for the Sakari account id, client id and client secret. No API key or Authorization header goes in the client config. A Sakari account is required; the free tier allows 50 tool calls per month.
Before you install
Sending a text spends the Sakari prepaid balance and cannot be recalled; recipients must have opted in, and the sender is responsible for TCPA/CTIA compliance. Create and update tools change contact data, and update replaces the whole contact. The login page collects Sakari account id, client id and client secret. Paid plans are billed through a Stripe checkout link, and cancelling gives no refund for the current period.

Installation

In SourceWeft

  1. Open Sakari MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fsakari/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "sakari-by-usefulapi": {
      "type": "http",
      "url": "https://sakari.usefulapi.io/mcp"
    }
  }
}

README

Sakari MCP by usefulapi

Use Sakari from Claude, Cursor, or any MCP client — look up contacts, conversations, messages, templates, campaigns and calls, and create contacts and templates, close conversations and send texts. Sending a text costs your Sakari balance, so clients should confirm it first. Hosted, no local install: connect with your own Sakari credentials.

Live endpoint: https://sakari.usefulapi.io/mcp · Homepage: https://usefulapi.io/sakari

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://sakari.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http sakari https://sakari.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "sakari": {      "url": "https://sakari.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Sakari credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/sakari/

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Sakari account id, client id and client secret.

Tools

ToolTypeWhat it does
sakari_get_accountreadGet account
sakari_get_balancereadGet account balance
sakari_list_contactsreadList contacts
sakari_get_contactreadGet contact
sakari_create_contactwriteCreate contact
sakari_update_contactwriteUpdate contact
sakari_list_messagesreadList messages
sakari_get_messagereadGet message
sakari_send_messagewriteSend text message
sakari_list_conversationsreadList conversations
sakari_get_conversationreadGet conversation
sakari_close_conversationwriteClose conversation
sakari_list_templatesreadList templates
sakari_get_templatereadGet template
sakari_create_templatewriteCreate template
sakari_list_campaignsreadList campaigns
sakari_get_campaignreadGet campaign
sakari_list_callsreadList calls
sakari_get_callreadGet call
sakari_list_linksreadList tracked links
sakari_list_formsreadList lead forms
sakari_list_webhooksreadList webhooks
sakari_list_autorespondersreadList autoresponders
sakari_usage_statusmetaUsage status (free-tier meter)
sakari_request_featuremetaRequest a missing feature
sakari_upgrademetaUpgrade to Pro or Pro+
sakari_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per account)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with sakari_upgrade (it returns a Stripe Checkout link). Cancel any time with sakari_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running sakari_upgrade before then undoes the cancel. Or write to [email protected].

License

Source: servers/sakari/README.md at commit 4046075

Tools

23

sakari_get_account

Get account

The Sakari account these credentials belong to: name, plan, balance, default country, business info and options. API credentials are never returned. GET /v1/accounts/{accountId}.

Takes no parameters.

sakari_get_balance

Get account balance

Prepaid balance, default country, remaining segments and the price per segment. GET /v1/accounts/{accountId}/balance.

Takes no parameters.

sakari_list_contacts

List contacts

List or search contacts (partial matches on name, mobile or email; filter by tag). GET /v1/accounts/{accountId}/contacts.

Parameterstagsemaillimitmobileoffsetlast_namefirst_name

sakari_get_contact

Get contact

One contact by id: name, mobile (with validity and line type), email, lists, attributes, opt-in and blocked state. GET /v1/accounts/{accountId}/contacts/{contactId}.

Parameterscontact_idrequired

sakari_create_contact

Create contact

WRITE: create a contact. If a contact with the same mobile number exists, merge_strategy decides what happens (append, core or remove, per Sakari). A contact is not opted in to messages by this call. POST /v1/accounts/{accountId}/contacts.

Parametersemailmobilerequiredcountrylast_namefirst_namemerge_strategy

sakari_update_contact

Update contact

WRITE: change a contact's name, email or mobile. Sakari's update replaces the contact, so this reads the current contact first and sends it back whole (lists, opt-in, blocked, attributes) with only your changes applied. PUT /v1/accounts/{accountId}/contacts/{contactId}.

Parametersemailmobilecountrylast_namecontact_idrequiredfirst_name

sakari_list_messages

List messages

List messages (sent and received) with status, segments, price and timestamps; filter by contact or conversation. GET /v1/accounts/{accountId}/messages.

Parameterslimitoffsetcontact_idconversation_id

sakari_get_message

Get message

One message by id: text, direction, status, segments, price, error. GET /v1/accounts/{accountId}/messages/{messageId}.

Parametersmessage_idrequired

sakari_send_message

Send text message

WRITE: SEND REAL TEXT MESSAGES that cost account balance and cannot be recalled. Recipients: phone numbers (international format), existing contact ids, or conversation ids (max 100 in total). Only text people who opted in; Sakari enforces TCPA/CTIA rules and the sender is responsible. Confirm the recipients and the text with the user first. Placeholders like {{firstName}} are filled per contact. POST /v1/accounts/{accountId}/messages.

Parameterstextrequiredtypemedia_urlsto_numberscontact_idsconfirm_sendrequiredconversation_ids

sakari_list_conversations

List conversations

List conversations (the inbox): contact, last message, unread count, open or closed. GET /v1/accounts/{accountId}/conversations.

Parameterslimitoffset

sakari_get_conversation

Get conversation

One conversation by id. Use sakari_list_messages with conversation_id for its messages. GET /v1/accounts/{accountId}/conversations/{conversationId}.

Parametersconversation_idrequired

sakari_close_conversation

Close conversation

WRITE: mark a conversation closed in the Sakari inbox (a new inbound message reopens it). PUT /v1/accounts/{accountId}/conversations/{conversationId}/close.

Parametersconversation_idrequired

sakari_list_templates

List templates

List reusable message templates. GET /v1/accounts/{accountId}/templates.

Parametersnamelimitoffset

sakari_get_template

Get template

One message template by id. GET /v1/accounts/{accountId}/templates/{templateId}.

Parameterstemplate_idrequired

sakari_create_template

Create template

WRITE: create a reusable SMS template (does not send anything). POST /v1/accounts/{accountId}/templates.

Parametersnamerequiredtextrequired

sakari_list_campaigns

List campaigns

List message campaigns with schedule, template, status and reporting. GET /v1/accounts/{accountId}/campaigns.

Parametersnamelimitoffset

sakari_get_campaign

Get campaign

One campaign by id. GET /v1/accounts/{accountId}/campaigns/{campaignId}.

Parameterscampaign_idrequired

sakari_list_calls

List calls

Call history (voice) with direction, status, duration and contact; filter by contact, conversation, direction, status or date range. GET /v1/accounts/{accountId}/calls.

Parameterstofromlimitoffsetstatusdirectioncontact_idconversation_id

sakari_get_call

Get call

One call history record by id. GET /v1/accounts/{accountId}/calls/{callId}.

Parameterscall_idrequired

sakari_list_forms

List lead forms

Lead capture forms with active state, impressions and conversions. GET /v1/accounts/{accountId}/forms.

Parametersqlimitoffset

sakari_list_webhooks

List webhooks

Active webhook subscriptions (message event notifications). GET /v1/accounts/{accountId}/webhooks.

Takes no parameters.

sakari_list_autoresponders

List autoresponders

Autoresponders (automatic replies) configured on the account. GET /v1/accounts/{accountId}/autoresponders.

Takes no parameters.

Version history

13
  1. v1.15.4LatestNov 7, 2026
  2. v1.14.3Nov 5, 2026
  3. v1.14.2Nov 5, 2026
  4. v1.14.1Nov 4, 2026
  5. v1.14.0Nov 3, 2026
  6. v1.13.1Nov 3, 2026
  7. v1.12.0Nov 1, 2026
  8. v1.10.0Oct 31, 2026
  9. v1.9.0Oct 31, 2026
  10. v1.8.2Oct 30, 2026
  11. v1.8.0Oct 30, 2026
  12. v1.3.0Oct 26, 2026
  13. v1.0.0Oct 25, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations