# Messaggio MCP

> Messaggio connects your AI agent to a single API for multi-channel messaging. It lets you send, track, and manage bulk messages across SMS, Viber, and WhatsApp using automated failover logic. You can programmatically monitor real-time delivery status, list templates, and control sender IDs for complex, reliable customer notifications.

## Overview
- **Category:** communication-messaging
- **Price:** Free
- **Tags:** bulk-sms, omnichannel-messaging, campaign-analytics, delivery-tracking, whatsapp-api, viber-messaging

## Description

**Messaggio MCP Server - Multi-Channel Messaging API**

Forget juggling twenty different APIs just to handle a text message across three channels. This server gives your AI agent one unified connection point for multi-channel messaging, covering SMS, Viber, and WhatsApp. It handles the whole mess—including automated failover logic—so you don't have to code around channel failures. You can send, track, and manage huge volumes of messages using a single set of tools.

To start, you should always run `check_messaggio_status`. This verifies the connection to the Messaggio platform before your agent tries anything else. Before you mess with actual sends, you'll want context. You can check out all active projects by calling `list_projects`, which gives you a clear list of everything configured in your account.

When it comes to managing who's sending the message, you have tools for that too. First, use `list_senders` to get a general rundown of every sender account and credential available. If you're working within specific client accounts, you can run `list_project_senders` to fetch all verified IDs tied to a specific project name or ID. You can then drill down further by calling `get_sender`, which pulls detailed info on any single sender identity you need to use.

To make sure your brand stays consistent across projects, you'll want to validate the whole setup first. Running `get_template` lets you retrieve all the full details of an available messaging template, including exactly what parameters it requires. You can also run `list_templates` if you just need a rundown of every predefined content template ready for use.

When you're ready to dispatch messages, there are three ways to go, depending on how simple or complex the communication needs to be. If you're sending one immediate message and need maximum routing flexibility, `send_message` is your play. For quick alerts that just need to be plain text SMS—no fancy templates needed—you use `send_simple_sms`. When you’ve got a massive list or campaign going down, `send_bulk` sends multiple messages using defined campaign parameters.

Monitoring what goes out and what gets delivered is key. You can get an overview of recent activity by calling `list_messages`, which lists the history and metadata for everything sent through the platform. To check if a single message actually got read or delivered, you run `get_message_status`, giving you that specific, real-time delivery status tied to one message ID. You don't have to manually track every receipt; your agent handles it.

This setup lets your AI client manage high-stakes customer communications like a professional operations team would. It eliminates the headaches of managing different channels and complex failure logic by giving you a single, reliable API layer. You just tell your agent what needs sending, and it figures out the best path across SMS, Viber, or WhatsApp.

## Tools

### check_messaggio_status
Verifies the connection to the Messaggio platform before attempting any messaging actions.

### get_message_status
Retrieves specific, real-time delivery and read status for a single message ID.

### get_sender
Fetches detailed information about a specific sender account or identity.

### get_template
Retrieves the full details of an available messaging template, including required parameters.

### list_messages
Lists the history and metadata for recent messages sent through the platform.

### list_project_senders
Fetches all verified sender IDs associated with a specific project name or ID.

### list_projects
Retrieves a list of all active projects configured in your Messaggio account.

### list_senders
Provides a general list of all available sender accounts and credentials.

### list_templates
Lists all predefined messaging templates that can be used for content creation.

### send_bulk
Sends multiple messages to a large group or list using defined campaign parameters.

### send_message
Dispatches a single, immediate message using the most flexible routing rules.

### send_simple_sms
Quickly sends a basic text-only SMS message without complex template or channel logic.

## Prompt Examples

**Prompt:** 
```
Send a message to '79001234567' trying WhatsApp first, then SMS.
```

**Response:** 
```
Configuring the multi-channel message with prioritized routing...
```

**Prompt:** 
```
Check the status of my last 3 sent messages.
```

**Response:** 
```
Retrieving the real-time delivery and read status for your messages...
```

**Prompt:** 
```
List all verified sender IDs for the project 'PROJ-123'.
```

**Response:** 
```
Fetching the list of senders associated with the specified project...
```

## Capabilities

### Dispatch multi-channel messages
Send bulk messages across SMS, Viber, and WhatsApp through a single API call.

### Monitor delivery status
Retrieve real-time status on whether a message was delivered or read by the recipient.

### Manage sender identities
List and retrieve specific sender IDs for different projects to ensure brand consistency.

### Handle bulk sending campaigns
Send large batches of messages using defined templates or simple text payloads.

### Retrieve project metadata
List available projects and template details before executing a send action.

## Use Cases

### Critical System Alerts
The ops engineer needs to notify a user immediately about system downtime. They ask their agent to 'Alert User X'. The agent runs `send_message`, which automatically attempts WhatsApp (fastest) and falls back to SMS if the primary channel fails, guaranteeing the message gets through.

### Post-Sale Followup Campaigns
The marketing team wants to send a 'How Was Your Experience?' survey. They use `send_bulk` with templates and define a priority list: Viber first for rich media, then SMS if the user doesn't open the message within 24 hours.

### Verification of Sender Credentials
Before launching a campaign, the support team runs `list_project_senders` to verify all active sender IDs are linked to 'Project Alpha'. This prevents sending messages from an unauthorized or inactive number.

### Checking Message History
A manager needs to audit last week's alerts. They run `list_messages` and filter by date, getting a clear record of what was sent, when it failed, and why.

## Benefits

- Reliable delivery through failover. Your agent can try WhatsApp first, then automatically fall back to SMS if the message fails or isn't read using `send_message`.
- Full visibility into messaging performance. Use `get_message_status` and `list_messages` to track real-time read receipts and delivery failures.
- Centralized sender management. Instead of worrying about credentials, you use tools like `list_project_senders` to manage all required sender IDs under a single project context.
- Campaign readiness. The `send_bulk` tool handles large-scale marketing efforts, letting your agent process message lists and send campaigns efficiently.
- Template control. Use `get_template` to ensure all outbound messages adhere to pre-approved content rules and formatting.

## How It Works

The bottom line is: your AI client sends a message payload once, and Messaggio handles all the complex routing, failure logic, and status tracking internally.

1. Connect your Messaggio account using the secure setup instructions provided. This authenticates the connection between your agent and the messaging platform.
2. The agent calls a sending tool (e.g., `send_message`) and defines the recipient, content, and prioritized channels (e.g., 'try WhatsApp first').
3. Messaggio processes the request, attempting delivery via the primary channel; if that fails or times out, it automatically falls back to the next available channel listed in the priority queue.

## Frequently Asked Questions

**How do I check message status using Messaggio MCP Server?**
You use the `get_message_status` tool. This function retrieves real-time delivery and read status for a specific message ID, letting you know if the recipient opened it or if it failed.

**Which tool should I use for sending simple texts?**
Use `send_simple_sms` when you just need to send a basic text alert and don't require template logic, rich media, or multi-channel routing. It’s the quickest way out.

**How do I handle failover messaging with Messaggio MCP Server?**
The `send_message` tool allows you to define channel priority lists. You can tell your agent to attempt delivery via one channel, and if that fails, automatically try the next channel listed.

**What is needed before running a bulk campaign?**
Before calling `send_bulk`, you should use `list_projects` to confirm your target project exists. This ensures your send job runs under the correct, authorized context.

**How do I verify connectivity using the `check_messaggio_status` tool?**
This tool confirms if your AI agent can talk to Messaggio's API. Running this check verifies the connection health and ensures you haven't hit any immediate rate limits or credential issues.

**How do I see what organizational scopes are available using `list_projects`?**
The `list_projects` tool shows every project scope linked to your account. This is useful for defining which groups of messages or recipients you want your agent to manage.

**What information can I pull about message formats using the `get_template` tool?**
You retrieve detailed data on existing templates, including required variables and permissible content types. This helps your agent ensure any outgoing message follows company formatting rules before sending.

**How do I retrieve a history of past communications using the `list_messages` tool?**
This tool fetches comprehensive metadata for messages you've sent or received. You can audit timestamps, recipients, and overall message outcomes to build usage reports.

**What is failover routing?**
It's the ability to automatically try alternative channels (like SMS) if the primary channel (like WhatsApp) fails or the message isn't read.

**Can the agent check if a message was read?**
Yes, by using the get_messages_status tool, the agent can retrieve the 'read' status for supported channels like Viber and WhatsApp.

**Does it support templates?**
Yes, you can configure WhatsApp and Viber templates in the Messaggio dashboard and have the agent trigger them via the send tool.