# OneWaySMS MCP

> OneWaySMS connects your AI agent to a high-speed gateway for sending SMS messages across Asia Pacific. Send bulk alerts, single texts, or Unicode messages—all from conversation. It tracks delivery status and lets you monitor credit balances instantly.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** onewaysms, sms-gateway, business-messaging, bulk-sms, unicode-sms, delivery-tracking, sms-api, messaging-orchestration, mcp

## Description

**OneWaySMS** connects your AI agent to a high-speed gateway, letting you handle all your SMS messaging across Asia Pacific directly from your chat window. You don't gotta log into some separate dashboard; your agent handles the whole shebang right where you are working.

### **Sending Messages: Single Texts and Bulk Alerts**

*   You send a standard text to one number with `send_sms`. It's simple, direct communication for when you need to talk to just one person. 
*   Need to hit a crowd? Use `send_bulk_sms` to fire the same message out simultaneously to multiple recipients in a single action—perfect for mass alerts or notifications.
*   Got special characters or emojis? You'll use `send_unicode_sms`. This tool sends texts that support Unicode, making sure those fancy symbols actually get through. The system notes that this is still limited by character count per credit, so keep it tight.
*   For dedicated account functions like user authentication or account recovery, the agent executes `send_otp`, sending a one-time verification code straight via SMS.

### **Tracking Status and Credits**

When you send anything out, tracking is key. You'll use these tools to see exactly what happened with every message:
*   To check if a specific alert got delivered—and when—you run `get_delivery_report` using the unique Message ID.
*   For live status updates on any transaction, you feed the agent the Transaction ID (MTID) and use `get_transaction_status`. That tells you exactly where the message is in real-time. 
*   Before you launch a campaign, always run `get_credit_balance` to see your remaining SMS credits. You gotta know how many messages you've got left.

### **System Health and Configuration**

Your agent doesn't just send texts; it manages the whole connection for you. If things look sketchy or you need to troubleshoot, these tools give you visibility:
*   To verify if the gateway is even online, your agent calls `check_api_connectivity`. It tells you right away if the link to the SMS API is working and ready.
*   If you're running into connection issues, `get_gateway_settings` shows you the current configuration for the API and all regional gateway settings. That helps you figure out what's broken.
*   Want to know what rules apply? You use `get_sms_usage_policy` to retrieve limits on character counts and specific rules set up for different regions. It keeps your messaging compliant.
*   You can also see which sender IDs you're allowed to use by calling `list_available_sender_ids`, so you always send messages from the right source.

### **The Bottom Line**

Your AI client handles all this complexity. Instead of logging into some confusing web portal, your agent acts like a dedicated operations assistant inside your chat window. You ask it to do something—send ten texts, check the status on message ABC-123, or see if you've got enough credits—and it runs the right tool and gives you the straight answer. It keeps your global messaging process running without you ever leaving your conversation.

## Tools

### check_api_connectivity
Verifies if the connection to the SMS API is currently working and available for use.

### get_gateway_settings
Shows the current configuration for the API and regional gateway settings, helping you troubleshoot connectivity.

### get_credit_balance
Returns a count of your remaining SMS credits so you know how many messages you can send.

### get_delivery_report
Retrieves detailed confirmation about a specific message's delivery status using its unique ID.

### get_transaction_status
Tracks the live delivery status of a message using its unique Transaction ID (MTID).

### get_sms_usage_policy
Retrieves limits on character counts and specific rules for different geographic regions.

### list_available_sender_ids
Provides a list of sender IDs you are allowed to use when sending messages.

### send_bulk_sms
Sends the same SMS message simultaneously to multiple recipients in a single action.

### send_otp
Sends a dedicated, one-time verification code via SMS for user authentication or account recovery.

### send_sms
Sends a standard text message to a single specified recipient number.

### send_unicode_sms
Sends a text message that supports special characters and emojis, limited by character count per credit.

## Prompt Examples

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

**Response:** 
```
I've retrieved your balance. You currently have 1,250 SMS credits available. Would you like to send a broadcast message?
```

**Prompt:** 
```
Send a bulk SMS to our customer list with the message about our weekend flash sale.
```

**Response:** 
```
Bulk SMS sent successfully to 156 recipients. Transaction ID: MT-29847. Message: "Weekend Flash Sale! 40% off everything this Saturday and Sunday. Shop now at example.com/sale". 3 credits consumed per message (468 total). Current remaining balance: 4,532 credits.
```

**Prompt:** 
```
Check my current SMS credit balance and the delivery status of transaction MT-28341.
```

**Response:** 
```
Your current credit balance is 4,532 SMS credits. Transaction MT-28341 status: Delivered successfully. The message was sent to +60123456789 on May 8th at 2:15 PM and confirmed delivered at 2:15:03 PM (3 second delivery time).
```

## Capabilities

### Send single or bulk messages
Instruct the agent to send a standard text message or distribute an alert to many recipients at once.

### Track delivery status reports
Provide the unique Transaction ID (MTID) to check if a specific message was delivered successfully and when.

### Check account credit balance
Run `get_credit_balance` to see how many SMS credits you have left before sending anything.

### Send Unicode messages
Dispatch texts that include special characters or emojis using the dedicated `send_unicode_sms` tool.

### Review API and gateway settings
Access current system configurations and usage policies via tools like `get_gateway_settings`.

## Use Cases

### Running an emergency alert campaign
A regional manager needs to warn 50 store locations immediately. Instead of manually sending messages one by one, they ask their agent: 'Send a bulk SMS about the power outage.' The agent uses `send_bulk_sms` and confirms all alerts are out.

### Verifying user sign-ups
A Customer Success team needs to onboard 20 new users. They ask their agent: 'Send a verification code for the new accounts.' The agent uses `send_otp`, and they can immediately check receipt using `get_transaction_status`.

### Post-campaign performance review
A developer runs a big marketing campaign. After 24 hours, they ask the agent to 'Check delivery reports for all messages from yesterday.' The agent uses `get_delivery_report`, giving them specific failure reasons and IDs.

### Troubleshooting message failures
A user says their alert didn't go through. They provide the MTID, and the agent runs `get_transaction_status`. This immediately tells the user if it failed, why, or when exactly it was delivered.

## Benefits

- Keep everything in your chat interface. You don't have to switch apps or log into a dashboard just to check credits; run `get_credit_balance` and get the number instantly.
- Automate alerts for scale. Use `send_bulk_sms` to hit hundreds of recipients with one command, perfect for flash sales or system-wide updates.
- Don't worry about characters. The specialized `send_unicode_sms` tool lets you include emojis and special characters without breaking the message format.
- Full visibility into every send. Instead of guessing if a message went out, use `get_transaction_status` with the MTID to get confirmed delivery reports.
- System insight on demand. Use `get_gateway_settings` or `get_sms_usage_policy` to know exactly what you're allowed to send and where.

## How It Works

The bottom line is you manage all your messaging operations—sending, tracking, checking balances—without leaving your favorite AI client.

1. Subscribe to the OneWaySMS server and provide your API Username and Password from the dashboard.
2. Ask your AI client to perform a task, like 'Check my SMS credit balance' or 'Send a bulk message'.
3. The agent calls the necessary tool (e.g., `get_credit_balance`) and reports the real-time result back into the chat interface.

## Frequently Asked Questions

**How do I send a bulk SMS using the OneWaySMS MCP Server?**
You use the dedicated `send_bulk_sms` tool. Just ask your agent to 'Send an alert about the sale.' The agent handles listing recipients and sending the message in one go.

**What is the difference between send_sms and send_unicode_sms?**
Use `send_sms` for standard text characters. Use `send_unicode_sms` when you need to include special symbols, emojis, or non-Latin characters in your message.

**Can I check my credit balance before sending a big campaign?**
Yes, run the `get_credit_balance` tool first. This confirms your available credits so you don't get cut off mid-campaign.

**How do I find out why an SMS failed to deliver?**
Run `get_delivery_report` with the message’s unique Transaction ID (MTID). The report tells you exactly what went wrong and when it was last attempted.

**Before I start sending messages, how do I use `check_api_connectivity` to verify my connection?**
The tool confirms your API credentials work right away. It runs a simple test check without using credits, ensuring that the AI client can talk to OneWaySMS before you launch any campaigns.

**What should I use `get_sms_usage_policy` for regarding regional limits?**
`get_sms_usage_policy` retrieves character caps and specific rules for different geographic areas. This tool helps prevent sending messages that violate local or service-specific formatting laws.

**When should I use the `send_otp` function instead of a general message?**
Use `send_otp` when you need to send time-sensitive, one-time verification codes. This specialized tool handles the format and delivery requirements for authentication tokens automatically.

**If I need detailed historical data on what happened with a message, how do I use `get_delivery_report`?**
`get_delivery_report` pulls up comprehensive details about a specific message's journey. You get more than just 'delivered'; you see the full status log for deep auditing.

**Can my AI automatically find the delivery status for a specific SMS by its transaction ID?**
Yes! Use the `get_status` tool with the Transaction ID (MTID). Your agent will respond with the current delivery state (e.g., Delivered, Failed, or Pending) in seconds.

**How do I find my OneWaySMS API Username and Password?**
Log in to your OneWaySMS dashboard, navigate to the **API** section, and you will find your dedicated API Username and API Password (which are different from your web login).

**What is the character limit for ASCII vs Unicode messages?**
Standard ASCII messages allow up to 160 characters per SMS. Unicode messages (which support special characters and emojis) are limited to 70 characters per SMS.