# SMS Masivo MCP

> SMS Masivo lets you send bulk SMS campaigns across Latin America using your AI client's natural conversation flow. It handles everything from individual message sending to large-scale, multi-recipient broadcasts. You can automatically manage contacts, schedule messages for later dates, and track real-time delivery reports—all without leaving your agent interface. This server integrates high-volume communication into your workflow.

## Overview
- **Category:** communication-messaging
- **Price:** Free
- **Tags:** bulk-sms, transactional-messaging, delivery-tracking, contact-segmentation, scheduled-messaging

## Description

Yo, listen up. This **SMS Masivo** MCP Server lets your AI client handle all your bulk messaging—everything you need for campaigns across Latin America. You don't gotta jump between a bunch of dashboards; your agent does it all.

First, you wanna know if the connection's good? Use `check_smsmasivo_status` to verify the API is up and running. Need to know if you got dough left? Check your credits with `get_balance`. 

When it comes to contacts, you can build out your list by calling `create_contact` to add a new person or record. You'll see everyone already saved by pulling the full roster with `list_contacts`, and if you've set up campaign targets, `list_groups` shows those predefined groups for precision targeting.

For sending messages, you got options depending on what you need. If it’s just one number, use `send_sms`; this sends a standard SMS to an international phone number and lets you optionally track the whole thing with a campaign name. When you gotta hit multiple people at once, `send_bulk_sms` blasts the same text across a list of numbers separated by commas. If you need it delivered later, don’t worry—`schedule_sms` books that SMS for a specific future date and time using ISO 8601 formatting.

Tracking is key, right? When a message goes out, `get_delivery_report` pulls the detailed status report for that one specific message ID. If you wanna see what happened over a stretch of time, run `list_delivery_reports` to generate a full delivery status report based on a date range.

## Tools

### check_smsmasivo_status
Verifies that the API connection to SMS Masivo is active and working.

### create_contact
Adds a new recipient or contact record to your account directory.

### get_balance
Checks how many SMS credits you have available for sending messages.

### get_delivery_report
Retrieves the specific delivery status report for one single message ID.

### list_contacts
Pulls a complete list of all contacts currently saved in your account.

### list_delivery_reports
Generates a report listing delivery status for messages within a specific date range.

### list_groups
Shows all predefined contact groups you've set up for campaign targeting.

### schedule_sms
Books an SMS message to be sent automatically on a specific future date and time.

### send_bulk_sms
Sends the same text to multiple recipients at once using a comma-separated list of numbers.

### send_sms
Transmits an SMS message to one recipient number, allowing you to optionally track it with a campaign name.

## Prompt Examples

**Prompt:** 
```
Send an SMS to +573001234567 saying 'Your appointment is confirmed for tomorrow at 2 PM'.
```

**Response:** 
```
SMS sent successfully! Transmission ID: TX-20250115-001. Message delivered to +573001234567. Use the ID to check delivery status later.
```

**Prompt:** 
```
Check my SMS credit balance.
```

**Response:** 
```
Your current balance is 2,450 SMS credits. At your current send rate, this should last approximately 3 weeks.
```

**Prompt:** 
```
Send a bulk SMS to +573001234567, +573009876543, +573005551234 with the message 'Holiday sale starts tomorrow!'.
```

**Response:** 
```
Bulk SMS sent to 3 recipients! All messages dispatched successfully. Campaign: 'Holiday sale'. Transmission IDs available for delivery tracking.
```

## Capabilities

### Send Single Messages
Sends a standard SMS message to one specific international phone number.

### Execute Bulk Campaigns
Dispatches the same message content simultaneously to multiple recipients listed in a comma-separated format.

### Schedule Future Sends
Books an SMS delivery for a specific date and time using ISO 8601 formatting.

### Check Account Status
Verifies the API connection status of the SMS Masivo service.

### Manage Contacts & Groups
Creates new contacts, lists all existing contacts, or shows predefined contact groups for targeting.

### Track Delivery Reports
Retrieves detailed reports on message delivery status for specific messages or date ranges.

## Use Cases

### Onboarding new leads after a webinar
A Marketing Coordinator just ran a webinar. Instead of manually sending follow-up emails, they tell their agent: 'Send the welcome message to everyone in the 'Webinar Leads' group.' The agent calls `list_groups` first, then uses `send_bulk_sms`, automating the entire outreach process.

### Handling overdue appointment reminders
A Clinic Administrator needs to remind patients who missed an appointment next week. They tell their agent: 'Schedule a reminder for all contacts in the 'Follow-Up' group.' The agent calls `schedule_sms` with the required ISO 8601 date, guaranteeing delivery at peak time.

### Tracking sales outreach success
A Sales Rep sends a critical pitch message to a key client. They ask their agent: 'Send this and track it.' The agent calls `send_sms`, which generates a tracking ID. The rep then uses that ID with `get_delivery_report` minutes later to confirm the success.

### Re-targeting old customers on sale day
The team needs to alert all inactive users about a flash sale starting at 9 AM. They tell their agent: 'Send this message to everyone who hasn't opened an SMS in 60 days.' The agent uses `list_contacts` (after filtering) and then executes a large `send_bulk_sms` run.

## Benefits

- Stop guessing if your message went out. When you use `get_delivery_report` or `list_delivery_reports`, you get real-time confirmation of delivery status, failure codes, and timestamps for every single send.
- Never waste time on manual list building again. Use `send_bulk_sms` to blast campaigns across hundreds of numbers instantly. It handles the iteration that used to take hours.
- Need a message next month? Instead of setting a calendar reminder, just call `schedule_sms`. You tell your agent the date and time, and it takes care of the rest.
- Keep your data clean. Use `create_contact` and `list_contacts` first. This ensures that when you run a campaign via `send_bulk_sms`, you're sending to verified numbers.
- See how much credit you have before running a big send. Just call `get_balance`. It’s a quick check that prevents costly failures halfway through a major campaign.

## How It Works

The bottom line is: your AI client runs the commands; the server handles the connection and sends the messages through the provider.

1. Subscribe to the SMS Masivo server and enter your unique API key into your AI client.
2. Your agent calls a tool (e.g., `send_bulk_sms`) and passes all required variables—the message body, the recipient list, or the schedule date.
3. The MCP Server executes the command against the SMS Masivo platform, sending you confirmation and any necessary tracking IDs.

## Frequently Asked Questions

**How do I check my SMS Masivo credit balance using the send_bulk_sms tool?**
You don't use `send_bulk_sms` to check your balance. Instead, call the standalone function `get_balance`. This returns your current available SMS credits so you know if you can afford the campaign first.

**Can I schedule a message using send_sms?**
No. The `send_sms` tool sends messages instantly to a single recipient. If you need to book a message for a future date, you must use the dedicated `schedule_sms` tool and provide the required ISO 8601 format.

**What's the difference between send_bulk_sms and send_sms?**
`send_sms` is for a single number. It sends one message to one person, great for targeted alerts. `send_bulk_sms` takes a comma-separated list of numbers and blasts the same message out simultaneously.

**Do I need to run list_contacts before sending a campaign?**
While not strictly required by the API, it's good practice. Running `list_contacts` first lets you verify that your contact directory is up-to-date and shows exactly what numbers are available for use.

**How do I use the `list_delivery_reports` tool to track a range of messages?**
The tool retrieves delivery records within specified date ranges. You provide a start and end date, and it compiles all associated status updates for bulk analysis.

**What is the process for segmenting my audience using `list_groups`?**
First, use `list_groups` to see available contact groups. You then reference the resulting group IDs when calling a sending tool like `send_bulk_sms` to target only those contacts.

**How do I verify that the API connection is active using `check_smsmasivo_status`?**
This tool verifies your API key and connectivity status immediately. It confirms if your credentials work with SMS Masivo, letting you troubleshoot setup issues before sending anything.

**If I need to add a new person, should I use the `create_contact` tool?**
Yes, using `create_contact` adds a record directly into your SMS Masivo account database. This ensures the contact exists within the system for future campaign targeting.

**Can I send SMS to multiple recipients at once?**
Yes! Use `send_bulk_sms` with a comma-separated list of phone numbers in international format. All recipients receive the same message.

**How do I check if my message was delivered?**
Use `get_delivery_report` with the transmission ID returned when the SMS was sent. It shows real-time delivery status (delivered, pending, failed).

**Can I schedule messages for later?**
Yes! Use `schedule_sms` with the delivery date in ISO 8601 format (e.g., 2025-01-15T14:00:00Z). The message will be sent at the specified time.