# SendPulse MCP

> SendPulse MCP Server manages your entire email marketing and automation stack using AI conversations. Connect it to your favorite client (Claude, Cursor, etc.) to handle mailing lists, manage contacts, schedule campaigns, or check account balance—all without opening a single tab.

## Overview
- **Category:** marketing-automation
- **Price:** Free
- **Tags:** email-campaigns, mailing-lists, contact-management, marketing-tools, automation

## Description

You connect your **SendPulse** account to any AI client, and it handles your whole email marketing stack through conversation. You don't have to open a single tab or click around; you just talk to your agent about what needs doing.

### Managing Your Audience Lists

You can build out your mailing lists from scratch with `create_address_book`, which sets up a brand-new, empty list for whatever purpose you need. If you gotta change the name or description of an existing list, use `update_address_book`. When a list is totally dead and you want it gone forever, run `delete_address_book`.

The system lets you see every mailing list you have running with `list_address_books`. For contacts, you can pull detailed profiles using `get_contact_info` for anyone in an address book. You've got full control over data hygiene: you can use `add_contacts` to drop new people into any specified address book, or you can clean up old junk records by running `delete_contacts` on a whole group of contacts.

Controlling who stays and who goes is key. If someone needs to be removed from your main list, run `unsubscribe_contact`. You also have specific tools for managing opt-outs: you can mark a contact for removal from the SMTP unsubscribe roster with `add_smtp_unsubscribe`, or check out everyone currently on that mandatory exclusion list using `list_smtp_unsubscribes`.

### Building and Running Campaigns

Need to send an email blast? You start by generating and setting up a whole new campaign using `create_campaign`. When the dust settles, you can pull detailed performance numbers for any past outreach using `get_campaign_stats`, so you know exactly what worked. Your agent pulls a list of every campaign you've ever set up or run via `list_campaigns`.

For direct communication outside of big campaigns, you send an email immediately with `send_smtp_email` through the SMTP protocol. You can also pull a roster of all emails sent using this method by running `list_smtp_emails`, and check specifics on any single transaction via `get_smtp_email_details`. Furthermore, your agent handles automated conversations: you can initiate a specific chatbot interaction flow for one contact with `run_chatbot_flow`, or just send a quick direct message to a configured chatbot contact using `send_chatbot_message`.

### CRM and Contact Management

Your agent lets you handle contacts like they're in an integrated CRM. You can create brand-new records for people with `create_crm_contact`, or set up new deals in your pipeline using `create_crm_deal`. You get a full view of all saved leads by calling `list_crm_contacts`, and check out the list of active opportunities managed within the CRM by running `list_crm_deals`.

If you need to know what stages your sales process uses, `list_crm_pipelines` shows you every stage defined in your setup. You're also not limited to basic contacts; you can manage entire pipelines and deal records through these tools.

### Account Oversight and Admin Tasks

When it comes to the backend, your agent keeps everything straight. Use `get_balance` to see your current usage balance across all services—Email, SMTP, and Push. You can get general account owner details by running `get_user_info`, or see who else has access to the SendPulse organization account using `get_invited_users`. 

For bots, you can list every chatbot configured in your SendPulse account with `list_chatbots`.

This comprehensive set of tools lets you manage everything from creating new address books and updating their settings (`update_address_book`) to removing old lists using `delete_address_book`, handling individual contact data, managing multi-stage deals, and running complex automated flows—all within a single chat conversation.

## Tools

### add_contacts
Adds new contacts to any specified address book.

### add_smtp_unsubscribe
Marks a contact for removal from the SMTP unsubscribe list.

### get_balance
Retrieves the current usage balance for all services (Email, SMTP, Push).

### create_address_book
Creates a brand-new, empty mailing list within SendPulse.

### create_campaign
Generates and sets up an entirely new email marketing campaign.

### create_crm_contact
Creates a new contact record within the integrated CRM system.

### create_crm_deal
Sets up a new deal record in your customer relationship management (CRM) pipeline.

### delete_address_book
Permanently removes an existing mailing list from your account.

### delete_contacts
Removes specified contacts from a given address book, cleaning up old data.

### get_campaign_stats
Pulls detailed performance statistics for a specific campaign.

### get_chatbot_stats
Gets usage and interaction stats for your SendPulse chatbot flow.

### get_contact_info
Retrieves detailed profile information for a contact from an address book.

### get_smtp_email_details
Fetches specific information about a sent email transaction via SMTP.

### get_invited_users
Lists all users who have been granted access to the SendPulse organization account.

### list_address_books
Lists all existing mailing lists (address books) in your account.

### list_campaigns
Fetches a list of all campaigns you have created or run.

### list_chatbots
Lists the chatbots configured within your SendPulse account.

### list_crm_contacts
Retrieves a list of contacts saved in the integrated CRM system.

### list_crm_deals
Fetches a list of deals managed within your CRM pipeline.

### list_crm_pipelines
Lists all the stages and pipelines defined in your CRM setup.

### list_smtp_emails
Provides a list of previously sent emails using SMTP credentials.

### list_smtp_unsubscribes
Retrieves the current list of contacts on the SMTP unsubscribe roster.

### run_chatbot_flow
Initiates and executes a specific chatbot interaction flow for one contact.

### send_chatbot_message
Sends a direct message to a configured chatbot contact.

### send_smtp_email
Sends an email immediately using the SMTP protocol, bypassing campaign systems.

### unsubscribe_contact
Removes a specific contact from a designated address book or list.

### update_address_book
Modifies the name, description, or settings of an existing mailing list.

### get_user_info
Retrieves general account details and ownership information for the SendPulse account.

## Prompt Examples

**Prompt:** 
```
Show me my SendPulse account info and current balance.
```

**Response:** 
```
I've retrieved your account details. Your account is under 'Marketing Team' (Email: admin@company.com). Your current Email service balance is $45.20, and you have 5,000 SMTP credits remaining.
```

**Prompt:** 
```
List all my mailing lists and create a new one called 'Leads 2024'.
```

**Response:** 
```
You currently have 3 address books: 'Newsletter', 'Customers', and 'Old Leads'. I have successfully created the new address book 'Leads 2024' with ID 987654.
```

**Prompt:** 
```
Get the list of my recent email campaigns.
```

**Response:** 
```
Fetching your campaigns... I found your most recent ones: 'Summer Sale' (Sent), 'Product Update' (Draft), and 'Weekly Digest' (Scheduled). Would you like more details on any of these?
```

## Capabilities

### Manage Contact Lists
Create, read, update, and delete address books (mailing lists), keeping your audience data structured in SendPulse.

### Build and Monitor Campaigns
Generate new email campaigns or retrieve performance metrics for existing outreach using `create_campaign` and `get_campaign_stats`.

### Perform Contact Operations
Add, delete, or fetch specific details for contacts within an address book, ensuring data hygiene across your lists.

### Administer Account Settings
Check service balances (`get_balance`) and review team access by listing invited users or viewing account owner details.

### Execute Direct Messaging
Send specific emails via SMTP (`send_smtp_email`) or run automated chatbot flows for individual contacts.

## Use Cases

### Onboarding a new product line.
The goal: Send an announcement to 5,000 key contacts. The process: Instead of manually segmenting the list in the GUI, you ask your agent to use `list_crm_contacts` to filter users by 'Product Interest: High', and then pipe those IDs into a new address book using `create_address_book`. Finally, run `create_campaign` targeting only that new group.

### Auditing compliance after a data leak.
The problem: You need to confirm which contacts are unsubscribed and who has access. The solution: Your agent runs `list_smtp_unsubscribes` for the full roster, then uses `get_invited_users` to check internal team permissions. This gives you a clean compliance report in minutes.

### Tracking lead flow from marketing to sales.
The scenario: A new lead signs up and needs immediate attention. Your agent runs `create_crm_contact` with the basic details, then uses `get_contact_info` on that record to pull out historical activity data before flagging it for a sales rep.

### Fixing an outdated mailing list.
The issue: A segment of old leads needs to be archived. The fix: You ask your agent to `list_address_books` first, identify the correct book, and then run `delete_contacts` for all records older than 18 months. This keeps the main list clean.

## Benefits

- Stop switching tabs. You can check campaign status or pull list data just by asking your agent. Use `get_campaign_stats` to get performance numbers without leaving your coding environment.
- Keep your audience clean instantly. Need to remove inactive leads? Run `delete_contacts` on a specific address book in one prompt, rather than manually cleaning the spreadsheet.
- Know your limits before you send anything big. Before running a major push, use `get_balance` to confirm if you have enough Email or SMTP credits remaining.
- Build out complex workflows. You can create a new list (`create_address_book`) and then immediately populate it by listing contacts with `list_crm_contacts`, all in sequence.
- Go beyond simple mailing. Use the dedicated tools to send direct emails via SMTP (`send_smtp_email`) or run full chatbot interactions (`run_chatbot_flow`) for targeted engagement.

## How It Works

The bottom line is you get to manage complex marketing tasks by talking to your AI client instead of navigating multiple dashboards.

1. Subscribe to the SendPulse MCP Server and connect it to your preferred AI client.
2. Enter your unique SendPulse API Key into the connection settings.
3. Ask your agent a task in plain language (e.g., 'List all campaigns sent last month'). The agent runs the necessary tools, retrieves the data, and gives you the result.

## Frequently Asked Questions

**How do I list my mailing lists using the SendPulse MCP Server?**
You use `list_address_books`. This tool reads and returns a list of all address books currently set up in your account. It’s useful for seeing what segments you already manage.

**What is the difference between `create_campaign` and `send_smtp_email`?**
`create_campaign` sets up a structured, trackable marketing initiative through SendPulse's system. `send_smtp_email`, however, sends a single email immediately using raw SMTP credentials, bypassing campaign tracking features.

**Can I check my API balance with the SendPulse MCP Server?**
Yep. Run `get_balance`. This tool pulls your current usage figures across all services—Email, SMTP, and Push—so you know exactly what you're spending.

**How do I update an existing mailing list?**
You use the `update_address_book` tool. This lets you change the name or settings of a list without having to delete and recreate it entirely.

**What happens if I use `get_user_info` with incorrect credentials?**
The server returns a specific authentication error message. This means your AI client cannot validate the API key you provided. You need to check that key for typos or ensure it still has active permissions within SendPulse.

**When I use `create_crm_contact`, what data fields are required?**
You must provide at minimum an email address and a name. The tool supports additional optional fields like job title or company, but those aren't necessary for the contact record to save successfully.

**Am I limited when running bulk commands like `add_contacts`?**
Yes, there are rate limits in place to prevent abuse. If you try to add too many contacts at once, the API will temporarily block further requests. Wait a few minutes and try your batch again.

**How does `run_chatbot_flow` maintain conversation history?**
The tool manages session context internally for each flow run. You don't need to manually resend past messages; the system keeps track of the chat thread so the AI agent knows what was discussed previously.

**How can I check if I have enough credits for a new campaign?**
You can use the `get_balance` tool. It returns the current balance for your main account and specific services like Email, SMTP, and Push notifications.

**Is it possible to add multiple contacts to a mailing list at once?**
Yes! The `add_contacts` tool allows you to pass a JSON array of email objects to bulk-add subscribers to any of your address books.

**Can I see the details of a specific subscriber using their email address?**
Certainly. Use the `get_contact_info` tool by providing the Address Book ID and the specific email address to retrieve their metadata and status.