# EmailOctopus — how to use (mcp.ai)

Connect your EmailOctopus account and use 20 tools for email newsletters straight from your AI agent. Connect with your own API key. EmailOctopus is an email marketing platform founded in 2015, offering affordable and intuitive solutions for individuals and businesses to connect with their subscribers.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_emailoctopus?ms=1787291280000`
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. `emailoctopus_create_contact`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/emailoctopus`
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/emailoctopus/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/emailoctopus/create/contact` — This tool creates a new contact in EmailOctopus. The tool will add a contact to a specified list with the provided information.
  - body: { tags?: string[], fields?: object, status?: string, list_id: string, email_address: string }
- `POST https://api.mcp.ai/api/emailoctopus/create/field` — Tool to create a new custom field on an EmailOctopus mailing list. Use when you need to add additional data fields beyond the default Email, First Name, and Last Name fields.
  - body: { tag: string, type: string, label: string, list_id: string, fallback?: string }
- `POST https://api.mcp.ai/api/emailoctopus/create/list` — Creates a new mailing list in EmailOctopus for organizing and managing email contacts. The list is created with default fields (Email address, First name, Last name) and can be used to add contacts, s
  - body: { name: string }
- `POST https://api.mcp.ai/api/emailoctopus/create/tag` — Tool to create a new tag on an EmailOctopus mailing list. Use when you need to add a new tag for contact segmentation and filtering purposes.
  - body: { tag: string, list_id: string }
- `POST https://api.mcp.ai/api/emailoctopus/delete/contact` — Permanently deletes a contact from a specified EmailOctopus list. This action is irreversible - once deleted, the contact and all associated data will be removed from the list. Use this for list manag
  - body: { list_id: string, contact_id: string }
- `POST https://api.mcp.ai/api/emailoctopus/delete/field` — Permanently deletes a custom field from a specified EmailOctopus list. This action is irreversible - once deleted, the field and all associated data will be removed from the list. Use this for list cu
  - body: { tag: string, list_id: string }
- `POST https://api.mcp.ai/api/emailoctopus/delete/list` — This tool allows you to delete an existing mailing list from your EmailOctopus account. Once a list is deleted, it cannot be recovered, and all contacts within the list will be permanently removed. No
  - body: { list_id: string }
- `POST https://api.mcp.ai/api/emailoctopus/delete/tag` — Tool to delete a tag from a mailing list in EmailOctopus. Use when you need to remove an existing tag that is no longer needed for contact organization or segmentation.
  - body: { tag: string, list_id: string }
- `POST https://api.mcp.ai/api/emailoctopus/get/all/lists` — This tool retrieves all the mailing lists associated with the EmailOctopus account.
  - body: { limit?: integer, starting_after?: string }
- `POST https://api.mcp.ai/api/emailoctopus/get/contact` — Tool to retrieve details of a specific contact from an EmailOctopus list. Use when you need to fetch contact information including email, fields, tags, and subscription status.
  - body: { list_id: string, contact_id: string }
- `POST https://api.mcp.ai/api/emailoctopus/get/list` — Retrieves details of a specific mailing list by ID. Use when you need to fetch list information, including its name, fields, tags, contact counts, and opt-in settings.
  - body: { list_id: string }
- `POST https://api.mcp.ai/api/emailoctopus/get/recent/campaigns` — This tool retrieves a list of recent campaigns from the EmailOctopus account.
  - body: { limit?: integer, starting_after?: string }
- `POST https://api.mcp.ai/api/emailoctopus/list/contacts` — Tool to retrieve contacts from an EmailOctopus list. Returns a paginated list of contacts with optional filtering by tag, status, and date ranges.
  - body: { tag?: string, limit?: integer, status?: string, list_id: string, created_at_gte?: string, created_at_lte?: string, starting_after?: string, last_updated_at_gte?: string, last_updated_at_lte?: string }
- `POST https://api.mcp.ai/api/emailoctopus/list/tags` — Tool to retrieve all tags from a mailing list. Use when you need to see what tags are available on a specific list for contact segmentation.
  - body: { limit?: integer, list_id: string, starting_after?: string }
- `POST https://api.mcp.ai/api/emailoctopus/unsubscribe/contact` — Unsubscribes a contact from an EmailOctopus mailing list. This tool updates the contact's subscription status to 'unsubscribed', which stops them from receiving future emails from the specified list. 
  - body: { list_id: string, contact_id: string }
- `POST https://api.mcp.ai/api/emailoctopus/update/contacts/batch` — Tool to update multiple contacts in an EmailOctopus list in a single batch operation. Use when you need to efficiently update multiple contacts at once with changes to their email, fields, status, or 
  - body: { list_id: string, contacts: object[] }
- `POST https://api.mcp.ai/api/emailoctopus/update/field` — Updates an existing custom field on an EmailOctopus list including its label, tag, type, and fallback value. Use this action to modify field properties or rename field tags. Note that changing the tag
  - body: { tag: string, type: string, label: string, list_id: string, fallback?: string, current_tag: string }
- `POST https://api.mcp.ai/api/emailoctopus/update/list` — Tool to update an existing mailing list's name in EmailOctopus. Use when you need to rename a list.
  - body: { name: string, list_id: string }
- `POST https://api.mcp.ai/api/emailoctopus/update/tag` — Tool to update an existing tag on a mailing list. Use when you need to rename a tag.
  - body: { tag: string, list_id: string, new_tag: string }
- `POST https://api.mcp.ai/api/emailoctopus/upsert/contact` — Tool to create or update a contact in EmailOctopus. If the contact does not exist, it will be created. If the contact already exists, it will be updated. Use when you need to ensure a contact exists w
  - body: { tags?: object, fields?: object, status?: string, list_id: string, email_address: string }

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

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