# Unisender — how to use (mcp.ai)

Connect your Unisender account and use 33 tools for marketing straight from your AI agent. Connect with your own API key. UniSender is a simple and easy-to-use service for email and SMS marketing campaigns.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_unisender?ms=1787293560000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `unisender_check_email`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/unisender`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/unisender/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/unisender/check/email` — Tool to check the delivery status of emails sent via sendEmail method. Use when you need to verify email delivery status by email IDs. Statuses are stored for approximately one month. Rate limited to 
  - body: { email_id: integer[] }
- `POST https://api.mcp.ai/api/unisender/create/email/template` — Tool to create a new email template for mass campaigns in UniSender. Use when you need to create a reusable email template with customizable title, subject, body content, and sender information.
  - body: { tag?: string, body?: string, lang?: string, title: string, subject?: string, text_body?: string, sender_name?: string, sender_email?: string, generate_text?: integer }
- `POST https://api.mcp.ai/api/unisender/create/field` — Tool to create a new custom field for contact data in UniSender. Use when you need to add a custom field that can store additional contact information and be used in email message substitutions.
  - body: { name: string, field_type: string }
- `POST https://api.mcp.ai/api/unisender/create/list` — Tool to create a new contact list for organizing thematic email campaigns in UniSender. Use when you need to create a new mailing list with a unique title. The list title must be unique within the acc
  - body: { title: string, after_subscribe_url?: string, before_subscribe_url?: string }
- `POST https://api.mcp.ai/api/unisender/create/subscriber/note` — Tool to create a note for a subscriber contact in UniSender. Use when you need to add a new note to a subscriber's profile. Notes created via API have an 'origin' field set to 'api'.
  - body: { content: string, subscriber_id: integer }
- `POST https://api.mcp.ai/api/unisender/delete/field` — Tool to remove a custom field from the Unisender system. Use when you need to permanently delete a custom field and all its associated contact data.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/unisender/delete/list` — Tool to permanently delete a contact list from your UniSender account. Use when you need to remove a mailing list by its ID.
  - body: { list_id: integer }
- `POST https://api.mcp.ai/api/unisender/delete/subscriber/note` — Tool to delete a subscriber note from UniSender by its ID. Use when you need to remove a note associated with a subscriber/contact from the system.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/unisender/delete/tag` — Tool to delete a tag by its ID and remove it from all associated contacts. Use when you need to remove a tag from your UniSender account.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/unisender/delete/template` — Tool to remove a template from the UniSender account. Use when you need to permanently delete a template by its ID.
  - body: { template_id: integer }
- `POST https://api.mcp.ai/api/unisender/exclude` — Tool to remove contacts from specified lists or all lists in UniSender. Use when you need to exclude a contact (email or phone) from mailing lists. Unlike unsubscribe, exclude actually removes the con
  - body: { contact: string, list_ids?: string, contact_type?: string }
- `POST https://api.mcp.ai/api/unisender/export/contacts` — Tool to export contact data from UniSender lists for synchronization. Use when you need to export email addresses, phone numbers, and custom fields from lists. This method works asynchronously - the r
  - body: { tag?: string, email?: string, limit?: integer, phone?: string, offset?: integer, list_id?: integer, notify_url?: string, field_names?: string[], email_status?: string, phone_status?: string }
- `POST https://api.mcp.ai/api/unisender/get/campaign/status` — Tool to check the current status of a campaign in UniSender. Use when you need to verify campaign progress or completion status. Returns detailed status information including creation time and start t
  - body: { campaign_id: integer }
- `POST https://api.mcp.ai/api/unisender/get/campaigns` — Tool to retrieve list of campaigns from Unisender within a specified date range. Use when you need to fetch email campaign information with optional filtering by date and pagination support. Returns u
  - body: { to?: string, from?: string, limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/unisender/get/contact` — Tool to get information about a single contact from UniSender. Use when you need to retrieve detailed contact data including email/phone status, custom fields, list memberships, and engagement statist
  - body: { email?: string, contact_id?: integer, include_lists?: integer, include_fields?: integer, include_details?: integer }
- `POST https://api.mcp.ai/api/unisender/get/contact/field/values` — Tool to retrieve custom field values for a specific contact identified by email address. Use when you need to get additional field data associated with a contact. You can optionally specify which fiel
  - body: { email: string, field_ids: string }
- `POST https://api.mcp.ai/api/unisender/get/fields` — Tool to retrieve all custom user-defined fields for contact personalization and data management. Use when creating integrations to map fields between systems or to retrieve available custom fields for
- `POST https://api.mcp.ai/api/unisender/get/lists` — Tool to retrieve all existing mailing lists associated with the account. Use when you need to get list IDs and titles before sending emails or SMS to a list, or to display available contact lists.
- `POST https://api.mcp.ai/api/unisender/get/messages` — Tool to retrieve list of all messages with body and attachments. Use when you need complete message information including content and attachments, unlike listMessages which returns only metadata.
  - body: { limit?: integer, offset?: integer, date_to: string, date_from: string }
- `POST https://api.mcp.ai/api/unisender/get/sender/domain/list` — Tool to retrieve information about sender domains and their DKIM status. Use when you need to check which domains are registered for sending emails and their verification status.
  - body: { username: string }
- `POST https://api.mcp.ai/api/unisender/get/tags` — Tool to retrieve all custom tags/labels for contact segmentation. Use when you need to list all available tags in the Unisender account.
- `POST https://api.mcp.ai/api/unisender/get/template` — Tool to retrieve detailed information about a specific email template by its ID. Use when you need to fetch template details including metadata, content, creation details, and formatting information.
  - body: { template_id: integer }
- `POST https://api.mcp.ai/api/unisender/get/templates` — Tool to retrieve list of all templates with full content including body. Use when you need complete template information including raw_body and body fields, unlike listTemplates which returns template
  - body: { type?: string, limit?: integer, offset?: integer, date_to?: string, date_from?: string }
- `POST https://api.mcp.ai/api/unisender/import/contacts` — Tool to bulk import contacts to UniSender with maximum 500 contacts per call. Use when you need to import multiple contacts at once with their fields, list subscriptions, and tags. Supports creating n
  - body: { data: string[][], field_names: string[], overwrite_tags?: integer, overwrite_lists?: integer }
- `POST https://api.mcp.ai/api/unisender/is/contact/in/lists` — Tool to check if a contact exists in specified mailing lists based on and/or conditions. Use when you need to verify whether a contact is a member of specific lists. The condition parameter allows che
  - body: { email: string, list_ids: string, condition?: string }
- `POST https://api.mcp.ai/api/unisender/list/messages` — Tool to list all messages without body and attachments. Use when you need to browse available messages created via API or web interface.
  - body: { limit?: integer, offset?: integer, date_to?: string, date_from?: string }
- `POST https://api.mcp.ai/api/unisender/list/templates` — Tool to list email templates without body content. Use when you need to browse available templates created via API or web interface.
  - body: { to?: string, from?: string, type?: string, limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/unisender/subscribe` — Tool to add contacts to one or multiple mailing lists with optional tags and field values. Use when you need to subscribe a contact (email and/or phone) to Unisender lists. This method adds contacts i
  - body: { name?: string, tags?: string, email: string, phone?: string, list_ids: string, overwrite?: integer, confirm_ip?: string, request_ip?: string, confirm_time?: string, double_optin?: integer, request_time?: string }
- `POST https://api.mcp.ai/api/unisender/unsubscribe` — Tool to unsubscribe contacts from mailing lists in UniSender. Use when a contact initiates opt-out from campaigns. This marks contacts as 'unsubscribed' rather than excluding them - the active status 
  - body: { contact: string, list_ids?: string, contact_type: string }
- `POST https://api.mcp.ai/api/unisender/update/email/template` — Tool to update an existing email template for mass campaigns. Use when you need to modify template properties like title, subject, body content, sender information, or language settings. Only the fiel
  - body: { body?: string, lang?: string, title?: string, list_id?: integer, subject?: string, text_body?: string, wrap_type?: string, categories?: string, sender_name?: string, template_id: integer, sender_email?: string, generate_text?: integer }
- `POST https://api.mcp.ai/api/unisender/update/field` — Tool to modify parameters of an existing custom field in UniSender. Use when you need to change field properties like name, display name, type, visibility, or display position.
  - body: { id: integer, name: string, view_pos?: integer, field_type?: string, is_visible?: integer, public_name?: string }
- `POST https://api.mcp.ai/api/unisender/update/list` — Tool to update the parameters of an existing contact list in UniSender. Use when you need to change the title, pre-subscription URL, or post-subscription URL of an existing mailing list.
  - body: { title: string, list_id: integer, after_subscribe_url?: string, before_subscribe_url?: string }
- `POST https://api.mcp.ai/api/unisender/update/subscriber/note` — Tool to update the content of an existing subscriber note in UniSender. Use when you need to edit or modify the content of a previously created note attached to a subscriber.
  - body: { id: integer, content: string }

## Example prompts
- "What can I do in Unisender?"
- "Show me a summary of my Unisender account"

## More
- Page: https://mcp.ai/unisender
- Agent spec (llms.txt): https://mcp.ai/unisender/llms.txt
- Postman collection: https://mcp.ai/unisender/postman.json
