send_smsLABSCO SUMMARY
The limits that will bite you are specific, and they are documented.
Dialling stops at 21:44 São Paulo time and resumes at 08:00. SMS Flash rules out URLs entirely. Webhooks are delivered once and never retried. None of that is visible from the tool list, and all of it decides whether a campaign an agent fires actually lands.
What it is
An MCP server for LigueLead, a Brazilian CPaaS. It sends SMS and SMS Flash campaigns, uploads and sends voice audio, and builds and sends RCS messages — plain text, media, rich cards and carousels.
What you get
- send_sms sends an SMS or SMS Flash campaign to Brazilian phone numbers
- Voice — upload_voice_audio takes MP3 or WAV, list_voice_uploads and get_voice_upload manage what is stored, send_voice_message runs the campaign against a phone list
- RCS templates — create_rcs_template_text, create_rcs_template_media, create_rcs_template_card, create_rcs_template_carousel for 2 to 10 cards, and list_rcs_templates
- send_rcs sends a campaign from a registered template id, or as a freeform message
- Numbers are accepted three ways: national (11 digits), international with a plus and the country code (14 characters), or the country code without the plus (13)
- Costs are stated up front — 1 SMS credit for the first 160 characters and one more per additional 152, to a 1,600-character maximum; voice is 1 credit up to 30 seconds and 2 beyond
Requirements
The npm package @liguelead/mcp-server. LIGUELEAD_API_TOKEN and LIGUELEAD_APP_ID come from the LigueLead dashboard under Integrações → API Token. TRANSPORT selects the transport and defaults to http; set it to stdio for Claude Desktop, Claude Code or Cursor, or run the server remotely so the credentials never reach the client. Voice files are capped at 50 MB, and dialling runs 08:00–21:44 America/São_Paulo with later requests queued until 08:00. SMS Flash does not allow URLs in the message body. A failed webhook delivery is not retried.
Setup effort
One command plus a key — npx -y @liguelead/mcp-server, then supply credentials
USE CASES
Sending an SMS campaign from chat
One call to a list of Brazilian numbers, with the credit cost per message known in advance.
Running a voice campaign from a recording
Upload the MP3 or WAV once, then dial a list with it inside the permitted window.
Sending a rich message with buttons
Register a card template, then send it to a list by template id.
Sending a carousel
Build a two-to-ten card carousel template and send the campaign from it.
Reusing a template you already registered
List what exists rather than creating a near-duplicate every send.
11 tools
Listed in project docs. Your client may show a different list.
list_voice_uploadsget_voice_uploadupload_voice_audiosend_voice_messagelist_rcs_templatescreate_rcs_template_textcreate_rcs_template_mediacreate_rcs_template_cardcreate_rcs_template_carouselsend_rcsBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation.
Requires
- npx on PATH
- LIGUELEAD_API_TOKEN in your environment
- LIGUELEAD_APP_ID in your environment
Where it runs
All 5 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y @liguelead/mcp-serverMCP Clients
Claude Desktop, Cursor, Windsurf
{
"mcpServers": {
"liguelead": {
"command": "npx",
"args": [
"-y",
"@liguelead/mcp-server"
],
"env": {
"LIGUELEAD_API_TOKEN": "<YOUR_LIGUELEAD_API_TOKEN>",
"LIGUELEAD_APP_ID": "<YOUR_LIGUELEAD_APP_ID>",
"TRANSPORT": "stdio"
}
}
}
}Claude Code
claude mcp add -s user liguelead -e LIGUELEAD_API_TOKEN=<YOUR_LIGUELEAD_API_TOKEN> -e LIGUELEAD_APP_ID=<YOUR_LIGUELEAD_APP_ID> -e TRANSPORT=stdio -- npx -y @liguelead/mcp-serverAny MCP client — remote
{
"mcpServers": {
"liguelead": {
"command": "npx",
"args": [
"mcp-remote",
"<YOUR_SERVER_URL>/mcp"
]
}
}
}LigueLead does not host this server: <YOUR_SERVER_URL> is the address of your own deployment. The README deploys it with Docker from a clone (docker build -t liguelead-mcp . then docker run -d -p 3000:3000 -e LIGUELEAD_API_TOKEN=<YOUR_LIGUELEAD_API_TOKEN> -e LIGUELEAD_APP_ID=<YOUR_LIGUELEAD_APP_ID> liguelead-mcp) or on Railway / Render (connect the repository, set LIGUELEAD_API_TOKEN and LIGUELEAD_APP_ID, build with npm install && npm run build, start with npm start). Streamable HTTP (TRANSPORT=http) is the default transport there, and the credentials stay on the server, so this client entry carries none.