# UniOne MCP

> UniOne connects your AI agent directly to a high-deliverability email infrastructure. Send single transactional emails or run bulk campaigns using saved templates. It handles everything from real-time webhooks for delivery tracking to managing suppression lists, all through natural conversation.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** transactional-email, email-delivery, smtp, bulk-email, template-management, deliverability

## Description

You connect your AI agent directly to UniOne's email infrastructure. You handle everything from firing off individual messages to running massive campaigns without touching multiple dashboards; you just talk to the server. 

### Sending Emails (Transactional and Bulk)

If you gotta send a single, raw transactional message, you use `send_email`. This function lets your agent pass in specific HTML content and target one or more recipients right away. For bigger blasts or messages that need consistent branding, you'll use `send_template`. That tool takes the variables from a pre-built template and fills 'em out before sending.

### Managing Email Templates

Your agent gives you full control over your brand assets. You can see every email you've saved by running `list_templates`, which outputs all available templates in your account. If you need to build something new or tweak an existing one, you use `set_template` to create or update the content and variables for a specific template ID. Need to check what’s inside? Running `get_template` retrieves the full metadata and the actual content details for any template. If you mess up and want to clear out old drafts, `delete_template` removes that saved email template from your account entirely.

### Configuring Webhooks and Tracking Events

The server lets your agent track exactly what happens when an email lands. You can view all the event hooks currently running using `list_webhooks`. To check the specific settings—like the destination URL or which events it monitors—you run `get_webhook` for a particular hook ID. If you need to set up new tracking, you use `set_webhook`, configuring an endpoint to listen for delivery events like opens or clicks. When you’re done with a webhook configuration and don't want it running anymore, `delete_webhook` wipes that setup clean.

### Keeping Sender Reputation Clean (Suppression Lists)

To keep your sender score high and prevent bounces from ruining your reputation, you manage the suppression list right in your conversation. You can get a full rundown of emails that bounced or were suppressed by running `list_suppression`. If an email address starts sending trouble, you use `set_suppression` to add it to the block list immediately, stopping future sends. 

### Other Utility Functions

When your workflow needs deep technical visibility, these tools help out. You can check current webhook settings with `get_webhook`, and if you want to delete an old one, use `delete_webhook`. The system also lets you get all the specific details on a given webhook configuration using `get_webhook`.

## Tools

### delete_template
Removes a saved email template from your account.

### delete_webhook
Deletes an existing webhook configuration.

### get_template
Retrieves the full metadata and content details for a specific email template.

### get_webhook
Fetches all the current settings and destination URLs for a specific webhook.

### list_suppression
Retrieves a list of emails that are currently suppressed or bounced.

### list_templates
Lists all available email templates stored in your UniOne account.

### list_webhooks
Provides a list of every webhook you have configured.

### send_email
Sends a single, raw transactional email to one or more recipients using HTML content.

### send_template
Sends an email by filling in the variables of a pre-defined template.

### set_suppression
Adds a specified email address to your suppression list, preventing future sends.

### set_template
Creates or updates an existing email template with new content and variables.

### set_webhook
Configures a new webhook endpoint to track specific delivery events.

## Prompt Examples

**Prompt:** 
```
List all email templates in my UniOne account.
```

**Response:** 
```
I've retrieved your templates. You have 4 active templates: 'Welcome Email', 'Password Reset', 'Order Receipt', and 'Monthly Newsletter'. Which one would you like to inspect?
```

**Prompt:** 
```
Send the 'welcome_01' template to 'user@example.com'.
```

**Response:** 
```
Email sent successfully! I've triggered the 'welcome_01' template to user@example.com. The delivery ID is JOB-88231. Shall I track the open status for you?
```

**Prompt:** 
```
Check the suppression list for any recent bounces.
```

**Response:** 
```
I've fetched the suppression list. I found 2 recent entries: 'old@example.com' (Hard Bounce) and 'spam@test.com' (Unsubscribed). Shall I add another email to this list?
```

## Capabilities

### Send Emails (Transactional & Bulk)
The agent sends individual or mass emails using either raw HTML content or saved templates.

### Manage Email Templates
You can list, create, update, and retrieve metadata for all your branded email templates.

### Configure Webhooks & Events
The agent sets up webhooks to track events like opens or clicks, and lets you view existing configurations.

### Maintain Suppression Lists
You monitor bounces and unsubscribes using the suppression list tools to keep your sender reputation clean.

## Use Cases

### Onboarding a New SaaS User
A user signs up, triggering a critical sequence. Instead of having the developer write three separate endpoints, they ask their agent: 'Send the welcome email using template XYZ to {user@email.com}. Then track opens.' The agent calls `send_template` and configures the necessary webhook via `set_webhook`, completing the entire flow.

### Analyzing a Failed Campaign
Marketing Ops runs a campaign but sees poor open rates. They ask their agent to check two things: 'List all templates' and 'list suppression.' The agent returns both lists, allowing them to immediately verify if the template was correct or if they are sending too frequently to unengaged users.

### Debugging a Notification System
A developer finds that password resets aren't working. They ask their agent: 'Get details for the password reset webhook.' The agent calls `get_webhook`, revealing an incorrect destination URL, saving hours of debugging time.

### Updating Branding Across All Alerts
The brand guidelines change. Instead of manually updating every email template in the web UI, the Product Manager tells the agent: 'Update all templates to use the new logo and footer.' The agent calls `set_template` multiple times to enforce consistency.

## Benefits

- Send emails without copy-pasting variables. When you use `send_template`, the agent handles merging user data into branded content, guaranteeing consistency for every recipient.
- Keep your sender reputation high. Before running a bulk send, ask the agent to run `list_suppression`. This immediately shows bounced or unsubscribed addresses, preventing hard bounces and protecting your score.
- Track events in real time. Use `set_webhook` and `get_webhook` to ensure that when an email is opened or clicked, the data is pushed instantly into a system you can actually use for follow-up automation.
- Build notification pipelines fast. Instead of writing complex code just to send a simple alert, your agent uses tools like `send_email`, letting you focus on logic, not infrastructure.
- Never lose template visibility. With `list_templates` and `get_template`, you can instantly see every available branded communication asset—from welcome messages to annual reports.

## How It Works

The bottom line is: you control complex email workflows—sending, tracking, updating rules—by talking to your agent instead of clicking through a dashboard.

1. First, subscribe to this server and provide your UniOne API Key. Then, select your desired region (eu1 or us1).
2. Next, reference the email action you need—for example, 'Send a welcome email using template XYZ' or 'List all webhooks'.
3. The agent executes the necessary tool calls (e.g., `send_template` or `list_webhooks`) and returns the status, delivery ID, or requested data.

## Frequently Asked Questions

**How do I send a bulk email using UniOne MCP Server?**
You use the `send_template` tool. You provide the template name and a list of recipients, and the agent handles iterating through the batch while applying variables.

**Can I track if an email was opened using UniOne MCP Server?**
Yes, you must configure webhooks first by calling `set_webhook`. This tells UniOne to send real-time delivery events (like 'opened') back to your system.

**What's the difference between `send_email` and `send_template` in UniOne MCP Server?**
`send_email` sends raw HTML content that you write fresh every time. `send_template` is better; it fills variables into a pre-approved, branded template, guaranteeing consistency.

**How do I manage bounce addresses with UniOne MCP Server?**
Use the `list_suppression` tool to see recent bounces. If you find an address that shouldn't be blocked, use `set_suppression` to add it back.

**Do I need developer tools to set up UniOne MCP Server?**
Yes, the server exposes API functions like `list_webhooks` and `set_webhook`. This means you interact with it via code or an agent that runs those specific tool calls.

**How do I use the `get_webhook` tool to check webhook status and events?**
The `get_webhook` tool pulls detailed information about a specific configured webhook. You can confirm if it's active, what URL it points to, and review its last few triggered delivery events for troubleshooting.

**When I use the `set_template` tool, how does UniOne validate my HTML content?**
UniOne validates your template structure before saving. If you provide invalid or malformed HTML syntax, the API call fails and returns a specific error code detailing exactly where the script needs fixing.

**If I send many emails using `send_email`, are there any rate limits I need to know about?**
UniOne supports high-volume sending, but exceeding certain message thresholds within a short timeframe will trigger temporary throttling. The system reports these limitations directly in the response headers.

**Can I send an email using an existing template ID?**
Yes! Use the `send_template` tool. Provide the Template ID and an array of recipient objects (with their email addresses) to trigger the delivery instantly.

**How do I see which email addresses have been suppressed?**
Run the `list_suppression` query. The agent will retrieve a list of unsubscribed or bounced email addresses managed by your UniOne account.

**Is it possible to update an email template via AI?**
Absolutely. Use the `set_template` action. You can provide the ID, name, subject, and the new HTML body to save changes to your template library.