# EmailOctopus MCP

> EmailOctopus MCP connects your email marketing platform directly to your AI agent. You can manage lists, track performance, and run complex subscriber workflows using natural language commands. Get full API control over campaign reporting and contact management without navigating a single web interface.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** emailoctopus, email-marketing, automation-api, subscribers-management, email-lists, campaign-reports, newsletter-automation, mcp

## Description

You're used to logging into an email service to check list health or see how well last month's newsletter did. This MCP changes that. Instead of clicking through tabs, exporting CSV files, and manually updating segments, you talk directly to your agent. You can ask it to compile a performance report for specific campaigns or instantly add new leads to multiple lists based on criteria. It handles the whole contact journey—from initial list creation to triggering complex automated sequences. When you connect this MCP via Vinkius, your AI client becomes your dedicated marketing coordinator, giving you instant operational visibility into every subscriber and campaign metric.

## Tools

### add_contact_to_list
Adds a brand new contact to any specified email list.

### create_email_list
Creates and initializes a completely new subscriber list in the system.

### remove_contact_from_list
Deletes a specific contact from a list, opting them out or archiving their membership.

### get_campaign_details
Retrieves specific information about an email campaign, including its status and setup details.

### get_contact_details
Fetches all specific information about one single contact record.

### get_list_details
Retrieves the overall metadata and structure for a specified subscriber list.

### get_campaign_summary_report
Generates a performance report showing key metrics like open rate and click-through data for past campaigns.

### list_email_campaigns
Retrieves a complete index of every sent and draft email campaign you own.

### list_contacts_in_list
Lists all subscribers in an email list, with options to filter by current status or tags.

### list_email_lists
Provides an index of all available subscriber lists, so you know what's out there.

### trigger_automation_for_contact
Starts an automated customer journey for a person after they've been added to the system.

### update_contact_profile
Modifies specific data points or tags for an existing contact record.

## Prompt Examples

**Prompt:** 
```
List all my email subscriber lists in EmailOctopus.
```

**Response:** 
```
I've retrieved your email marketing lists. You have 3 active lists: 'Weekly Newsletter' (ID: l_123), 'Product Updates' (ID: l_456), and 'Lead Magnet'. Which one should we manage?
```

**Prompt:** 
```
Add subscriber 'john.doe@example.com' to list 'l_123' with tag 'Customer'.
```

**Response:** 
```
Done! John Doe has been successfully added to the 'Weekly Newsletter' list (ID: l_123) and tagged as a 'Customer'. Your team can now track their engagement in the dashboard.
```

**Prompt:** 
```
Show me the report summary for campaign ID 'c_987'.
```

**Response:** 
```
Fetching report... Campaign c_987 ('Spring Promo') has a 22% open rate and a 4% click-through rate so far. Total successful deliveries: 1,200. Shall I check for any bounced addresses?
```

## Capabilities

### Manage entire subscriber lists
Create new email lists, view existing list metadata, and programmatically add or remove subscribers.

### Run deep performance reports
Retrieve detailed campaign data, including open rates and click-through metrics for any historical promotion.

### Update contact profiles on the fly
Change an existing subscriber's details or update their custom tags without accessing their profile page.

### Trigger complex customer journeys
Start automated workflows for a specific person, mimicking a multi-step onboarding sequence when needed.

### Audit current list memberships
List all contacts within a given email list and filter them by status or tag.

## Use Cases

### Auditing List Integrity
A team member needs to verify if an important segment of 'Beta Testers' was correctly added to the mailing list. They ask the agent to use `list_contacts_in_list` and filter by the 'Beta Tester' tag, instantly confirming membership count instead of clicking through hundreds of users.

### Post-Campaign Analysis
The marketing lead ran a major product launch campaign. They ask for the results, prompting the agent to execute `get_campaign_summary_report`. The report immediately surfaces the click-through rate and total successful deliveries.

### Lead Onboarding from CRM
A new lead is entered into your system via Salesforce. Instead of manually finding their list, the agent uses `add_contact_to_list` to place them in 'New Leads' and then immediately runs `trigger_automation_for_contact` to start a welcome email sequence.

### Auditing Campaign History
The account owner wants an overview of all marketing efforts. They ask the agent to use `list_email_campaigns`, getting a full, searchable index of every promotion run over the last year.

## Benefits

- Stop manual data exports. Instead of pulling subscriber counts into a spreadsheet, you can simply ask the agent to run `list_contacts_in_list` and get immediate numbers for segmentation checks.
- Never miss campaign metrics again. You get full reporting by using `get_campaign_summary_report`, which pulls open rates and click data directly into your conversation context.
- Keep your audience current. When a contact's role changes, you don't update them in the UI; you use `update_contact_profile` to change their tags instantly.
- Automate complex follow-up sequences. If a lead hits a certain milestone, you can trigger an entire automated journey using `trigger_automation_for_contact`, without leaving your main workflow.
- Maintain list hygiene effortlessly. You can tell the agent to check for and remove outdated or bounced users from a list using `remove_contact_from_list`.

## How It Works

The bottom line is, you pass your credentials once, and your AI agent handles all the complex data calls for you.

1. Subscribe to this MCP in the Vinkius catalog.
2. Retrieve your API Key from your EmailOctopus settings (Integrations > API).
3. Pass the key and run commands through any MCP-compatible client.

## Frequently Asked Questions

**How do I check campaign performance using get_campaign_summary_report?**
You simply tell your agent to run `get_campaign_summary_report` for the desired ID. It pulls metrics like open rates and click-through data immediately, so you don't have to guess or look up old dashboards.

**Can I add a contact using add_contact_to_list?**
Yes, `add_contact_to_list` handles adding new contacts. You just need to provide the email address and specify which list they should be placed in.

**What tools do I use to see all my lists?**
Use `list_email_lists`. This tool provides an index of every single subscriber list you have created, making it easy to know what segments are available for your next campaign.

**How do I update a contact's profile? (update_contact_profile)**
`update_contact_profile` modifies an existing person's data. You tell the agent which contact to change and what specific field or tag needs updating.

**What do I need to consider when using the `create_email_list` tool?**
You must specify a unique name and description for the new list. The MCP requires these fields to ensure your lists are properly categorized within EmailOctopus. This prevents naming conflicts, so always plan your list structure before calling this tool.

**If I use `remove_contact_from_list`, what happens if the contact is already deleted or never existed?**
The system handles these cases gracefully and will return an error code indicating the resource wasn't found. You don't need to worry about causing a failure; the tool simply reports that the specified action could not be performed for that contact.

**Does `trigger_automation_for_contact` require any setup outside of this MCP?**
Yes, you must ensure the API trigger is enabled within your EmailOctopus account settings. The tool relies on this external setting to start complex customer journeys for a contact. Check your platform's integration documentation first.

**How can I refine my search results when using `list_contacts_in_list`?**
You pass filter parameters like 'status' or 'tag' directly into the tool request. This lets you narrow down results, for example, showing only contacts marked as 'Unsubscribed' or those with a specific tag.

**How do I find my EmailOctopus API Key?**
Log in to your account, navigate to **Integrations** > **API**, and click **Create Key** to generate your unique access token.

**Can I update custom fields for a contact?**
Yes! The `update_contact_profile` tool allows you to modify tags and any custom data fields associated with a subscriber.

**How do I check the performance of a sent campaign?**
Use the `get_campaign_summary_report` tool with a campaign ID to retrieve real-time metrics including open and click rates.