Skip to main content
Glama
lieox

SendPulse WhatsApp MCP

by lieox

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SENDPULSE_ACCOUNTSNoSeveral accounts, as JSON: {"brand_a":{"id":"...","secret":"..."},"brand_b":{...}}. Every tool then takes an account argument. Ignored when SENDPULSE_CLIENT_ID and SENDPULSE_CLIENT_SECRET are set.
SENDPULSE_CLIENT_IDNoSendPulse API Client ID from Settings > API > Client credentials. Used with SENDPULSE_CLIENT_SECRET for a single account.
SENDPULSE_READ_ONLYNoSet to 1 to expose only the 10 read tools. Sending, tagging, flows and campaigns are not registered at all.
SENDPULSE_CLIENT_SECRETNoSendPulse API Client Secret from Settings > API > Client credentials. Used with SENDPULSE_CLIENT_ID for a single account.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
sendpulse_list_botsA

List all connected WhatsApp bots for an account. Use this first to get bot IDs.

sendpulse_get_bot_statsB

Get subscriber counts and message statistics for a specific bot.

sendpulse_get_contactA

Get a WhatsApp contact's details by their contact ID.

sendpulse_get_contacts_by_tagB

Get all contacts that have a specific tag.

sendpulse_create_contactB

Create a new WhatsApp contact by phone number.

sendpulse_send_messageA

Send a message to a contact. Only works within the 24-hour messaging window after the contact last messaged. Use sendpulse_send_template outside that window.

sendpulse_send_templateA

Send a pre-approved WhatsApp template to a contact. Works outside the 24-hour window. Templates must be approved in Meta Business Manager.

sendpulse_send_template_by_phoneA

Send a pre-approved WhatsApp template directly by phone number without needing a contact ID.

sendpulse_set_contact_variableB

Set one or more custom variables on a contact.

sendpulse_set_contact_tagsB

Add one or more tags to a contact.

sendpulse_set_contact_nameC

Update the display name of a WhatsApp contact in SendPulse.

sendpulse_remove_contact_tagC

Remove a specific tag from a contact.

sendpulse_pause_contact_automationA

Pause all automated flows for a contact for a specified number of minutes (e.g. while a human agent is handling the chat).

sendpulse_resume_contact_automationB

Resume automated flows for a contact, cancelling any active pause.

sendpulse_disable_contactB

Disable a contact so they stop receiving bot messages.

sendpulse_enable_contactA

Re-enable a previously disabled contact.

sendpulse_list_chatsB

List all active chats for a WhatsApp bot.

sendpulse_get_chat_messagesC

Get message history for a contact.

sendpulse_list_flowsB

List all automation flows configured for a bot.

sendpulse_run_flowC

Trigger a specific automation flow for a contact.

sendpulse_run_flow_by_triggerC

Trigger an automation flow for a contact using a keyword trigger.

sendpulse_send_campaignB

Send a broadcast message to all bot subscribers. Optionally schedule with send_at or filter recipients.

sendpulse_send_template_campaignB

Send a pre-approved WhatsApp template to all bot subscribers as a campaign.

sendpulse_list_tagsB

List all contact tags defined for a bot.

sendpulse_list_variablesB

List all custom contact variables defined for a bot.

sendpulse_list_triggersB

List all keyword triggers configured for a bot's flows.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 26 tools

Disambiguation4/5

Most tools have clearly distinct resource+action purposes, but several pairs can be confused: send_campaign vs send_template_campaign, send_template vs send_template_by_phone, and run_flow vs run_flow_by_trigger. Descriptions clarify the differences, so an agent can recover, but selection requires careful reading.

Naming Consistency5/5

All tool names follow a consistent sendpulse_ prefix plus snake_case verb_noun/verb_noun_qualifier pattern (e.g., sendpulse_create_contact, sendpulse_get_contacts_by_tag, sendpulse_set_contact_variable). No mixed conventions or vague naming.

Tool Count3/5

At 26 tools, the surface is heavy for a WhatsApp bot-management server, and some pairs feel like variants of the same operation (run_flow/run_flow_by_trigger, enable/disable contact, send_campaign/send_template_campaign). It is not extreme, but the count is borderline bloated.

Completeness4/5

Core lifecycle operations are covered: contacts (create/get/enable/disable/tag/variable/name/pause/resume), messaging and templates, campaigns, flows, triggers, chats, bots, and stats. Minor gaps exist, such as no hard delete-contact operation and no direct listing of templates or campaigns, but agents can work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues