# eSputnik MCP

> eSputnik MCP Server handles full-scale, omnichannel marketing automation. Your AI agent can manage campaigns across Email, SMS, Web Push, and Mobile Push. Use it to send messages, retrieve contact lists, and manage complex workflows for segmenting and reaching specific customer groups.

## Overview
- **Category:** marketing
- **Price:** Free
- **Tags:** esputnik, email, sms, push, omnichannel

## Description

**eSputnik MCP Server** gives your AI client full control over your marketing campaigns. You'll use it to manage omnichannel messaging across Email, SMS, Web Push, and Mobile Push from one place. You can send messages, pull contact lists, and manage complex workflows for segmenting and reaching specific customer groups. **Your agent** handles the whole process. **It's** built to run complex marketing automation sequences. **You'll** find these tools for: **Managing Contact Segments**: **`attach_to_group`** adds specified contacts to a designated eSputnik group or segment, and **`detach_from_group`** removes specified contacts from an existing group or segment. **`create_contact`** lets your agent make a brand-new contact profile, and **`get_contact`** fetches all the specific details for a single contact. **`search_contacts`** finds contacts using criteria like email or phone, while **`list_contacts`** pulls a full list of every contact in the system. **`list_groups`** shows you all the existing contact groups or segments. **Discovering and Validating Contacts**: **`list_unsubscribed`** pulls a list of all email addresses that unsubscribed from marketing emails. **Sending Multi-Channel Messages**: **`send_smart_send`** triggers a single, multi-channel message send, routing content simultaneously through SMS, Email, Web Push, and Mobile Push channels to a target audience. **Executing System Events**: **`trigger_event`** generates a system event that activates pre-configured automation workflows within eSputnik. **Monitoring Campaign Delivery**: **`get_message_status`** checks the current delivery status of a message using its unique ID. **Account Info**: **`get_account_info`** retrieves high-level metadata about your eSputnik account and organization settings.

## Tools

### attach_to_group
Adds specified contacts to a designated eSputnik group or segment.

### create_contact
Creates a brand-new contact profile record within the eSputnik system.

### detach_from_group
Removes specified contacts from an existing eSputnik group or segment.

### get_account_info
Retrieves high-level metadata about your eSputnik account and organization settings.

### get_contact
Fetches all specific details for a single, identified contact record.

### get_message_status
Checks the current delivery status of a message using its unique ID.

### list_contacts
Retrieves a full list of every contact stored in the eSputnik system.

### list_groups
Lists all existing contact groups or segments available in the eSputnik account.

### list_unsubscribed
Retrieves a list of all email addresses that have unsubscribed from marketing communications.

### search_contacts
Searches for contacts based on provided criteria like email address or phone number.

### send_smart_send
Triggers a single, multi-channel message send (SMS, Email, Web Push, etc.) to a target audience.

### trigger_event
Generates a system event that activates pre-configured automation workflows within eSputnik.

## Prompt Examples

**Prompt:** 
```
List all my contact groups in eSputnik.
```

**Response:** 
```
I've retrieved your segments. You have 3 groups: 'VIP Customers', 'Newsletter Subs', and 'Inactive Users'.
```

**Prompt:** 
```
Send an SMS saying 'Your order has shipped!' to +123456789.
```

**Response:** 
```
The SMS has been successfully dispatched to +123456789 via eSputnik.
```

**Prompt:** 
```
Add 'john@example.com' to the 'VIP Customers' list.
```

**Response:** 
```
Contact 'john@example.com' was successfully added to the 'VIP Customers' group.
```

## Capabilities

### Send Multi-Channel Messages
The agent triggers an omnichannel message send, routing content simultaneously through SMS, Email, Web Push, and Mobile Push channels.

### Manage Contact Segments
The agent adds or removes specific contacts from designated groups or segments, ensuring the right people receive the right messages.

### Discover and Validate Contacts
The agent searches for contacts using email or phone numbers, or retrieves full lists of all contacts in the system.

### Monitor Campaign Delivery
The agent checks the delivery status of a message by tracking its ID, confirming if it was delivered, bounced, or opened.

### Execute System Events
The agent triggers a specific system event, which initiates pre-built workflows or automation rules within eSputnik.

## Use Cases

### Re-engaging Dormant Subscribers
A marketing manager needs to re-engage users who haven't opened emails in 6 months. They ask their agent to find all contacts using `search_contacts` with specific filters, check their status using `get_contact`, and then trigger a high-priority follow-up sequence by calling `send_smart_send` targeting the whole list.

### Onboarding a New Client Group
A sales ops team needs to move a handful of new leads into the 'Platinum Tier' segment. They instruct their agent to first call `list_groups` to confirm the 'Platinum Tier' ID, then use `create_contact` for each new user, and finally use `attach_to_group` to officially segment them.

### Handling Campaign Failure Mid-Run
A campaign fails because the target group needs to be updated. The agent first calls `list_groups` to find the correct segment name, then calls `detach_from_group` for the wrong contacts, and finally calls `attach_to_group` to correct the list before re-running `send_smart_send`.

### Running a Post-Sale Audit
The team needs to confirm the status of a large batch of messages sent last week. They use `get_message_status` with the batch IDs to confirm delivery success, and then call `list_unsubscribed` to make sure no one was accidentally included in the next send.

## Benefits

- **Go beyond basic sends.** Use `send_smart_send` to send a message across SMS, Email, and Web Push simultaneously. This means you hit the user on multiple channels without writing complex API calls yourself.
- **Segment contacts instantly.** Instead of manually updating groups, your agent calls `attach_to_group` or `detach_from_group` to put people into the exact segment needed for the campaign run.
- **Build automated sequences.** You don't just send a message; you build a flow. If the agent calls `trigger_event`, it activates complex, pre-built workflows (like 'wait 2 days, then send SMS') that keep your campaigns running.
- **Maintain data hygiene.** Quickly check who's opted out by calling `list_unsubscribed`. This prevents your agent from accidentally sending messages to invalid or unsubscribed addresses.
- **Improve debugging.** When a campaign fails, use `get_message_status` to check the delivery status. You immediately see if the message was delivered, bounced, or if the recipient never opened it.
- **Find people fast.** If you only know a partial detail, use `search_contacts` to find the contact record, then use `get_contact` to pull all their details for the next step.

## How It Works

The bottom line is you use your AI client to run multi-step marketing processes by calling specific eSputnik tools sequentially.

1. Tell your AI agent the goal: e.g., 'Send a welcome sequence to all new leads in the 'VIP' group.'
2. The agent calls `list_groups` to find the 'VIP' group ID, then calls `attach_to_group` to ensure the target contacts are correctly assigned, and finally calls `send_smart_send` with the campaign payload.
3. The agent receives confirmation of the campaign launch, and can subsequently call `get_message_status` to track the delivery progress.

## Frequently Asked Questions

**How do I check if a message sent via eSputnik was delivered?**
You use the `get_message_status` tool. This function takes the message ID and returns the delivery status, telling you if it was delivered, bounced, or if the user opened it.

**How do I add a contact to a specific group using eSputnik MCP Server?**
Call the `attach_to_group` tool. You pass the contact ID and the group ID, and the system immediately adds them to the segment for targeted messaging.

**What is the difference between `list_contacts` and `search_contacts`?**
`list_contacts` fetches every single contact record in the system. `search_contacts` is better because it lets you narrow down the list using criteria like an email or phone number.

**Can I send messages via SMS and Email at the same time?**
Yes, you use `send_smart_send`. This single tool triggers an omnichannel broadcast, sending the content simultaneously across multiple channels.

**How do I find all the groups I can send messages to in eSputnik MCP Server?**
Use the `list_groups` tool. This retrieves a list of all available contact segments, allowing you to select the precise target audience for your campaign.

**What tools do I use to manage contact lists and segments in eSputnik MCP Server?**
You use `list_contacts` to get a full roster, `search_contacts` to narrow the list, and `list_groups` to see your available segments. These tools let you manage who receives your messages.

**How do I ensure a message reaches a specific contact using the `send_smart_send` tool?**
The `send_smart_send` tool triggers an omnichannel message send across Email, SMS, and Web Push. It handles the delivery logic so your message hits the right channel automatically.

**If I need to perform a workflow action, which tool should I use to trigger it in eSputnik MCP Server?**
Use the `trigger_event` tool. This generates a system event that kicks off predefined workflows or automations within your eSputnik account.

**Can I send transactional SMS messages via the AI agent?**
Yes! You can specify the recipient's phone number and the message content, and the AI will trigger the eSputnik SMS endpoint.

**How do I query my contact segments?**
Ask the agent to 'List all contact groups'. It will retrieve your active segments directly from the eSputnik API.

**Does it support adding new contacts dynamically?**
Absolutely. You can request the AI to add an email or phone number to your active directory instantly.