# Mailsoftly — how to use (mcp.ai)

Connect your Mailsoftly account and use 20 tools for email newsletters straight from your AI agent. Connect with your own API key. Mailsoftly is an intuitive email marketing platform designed to simplify and enhance how businesses communicate with their audiences. Built with user-friendly features and advanced automation tools, Mailsoftly helps organizations to create, schedule, and manage email campaigns easily.

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

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

### Endpoints
- `POST https://api.mcp.ai/api/mailsoftly/add/contact/to/contact/list` — Tool to add an existing contact to a specific contact list. Use when you need to add a contact to a contact list in Mailsoftly.
  - body: { contact_id: integer, contact_list_id: integer }
- `POST https://api.mcp.ai/api/mailsoftly/add/custom/field/to/contact` — Tool to add a custom field value to an existing contact. Use when you need to store additional custom data on a contact record.
  - body: { contact_id: integer, custom_field_name: string, custom_field_value: string }
- `POST https://api.mcp.ai/api/mailsoftly/assign/tags/to/contact` — Tool to assign multiple tags to an existing contact at once. Skips tags if they are already assigned to the contact. Use when you need to categorize or label a contact with one or more tags in Mailsof
  - body: { tags: object[], contact_id: integer }
- `POST https://api.mcp.ai/api/mailsoftly/authenticate/firm` — Tool to validate the API key and retrieve firm details. Use when confirming credentials before making other Mailsoftly API calls.
- `POST https://api.mcp.ai/api/mailsoftly/create/contact` — Tool to create a new contact for the authenticated firm with email, first name, and last name. Use when adding new contacts to the firm's contact list.
  - body: { email: string, last_name?: string, first_name?: string }
- `POST https://api.mcp.ai/api/mailsoftly/create/contact/list` — Tool to create a new contact list for the authenticated firm. Use when organizing contacts into separate lists for targeted campaigns.
  - body: { name: string }
- `POST https://api.mcp.ai/api/mailsoftly/create/emails` — Tool to create one or more email drafts in Mailsoftly. Use when drafting emails for campaigns or communications. If contact_list_id is not provided, the system automatically creates a contact list fro
  - body: { body?: string, name?: string, subject?: string, attaches?: object[], reply_to?: string, mailLists?: object[], sender_id?: integer, recipients?: object[], contact_list_id?: integer }
- `POST https://api.mcp.ai/api/mailsoftly/create/or/update/contact` — Tool to create a new contact or update an existing contact in Mailsoftly. Use when you need to add a new contact to the system or update an existing contact's information. If contact_id is provided, t
  - body: { email: string, last_name?: string, contact_id?: integer, first_name?: string }
- `POST https://api.mcp.ai/api/mailsoftly/get/contact` — Tool to retrieve a specific contact by ID from Mailsoftly. Use when you need to fetch details about a specific contact. You can choose between basic or detailed view using the type parameter.
  - body: { type?: string, contact_id: integer }
- `POST https://api.mcp.ai/api/mailsoftly/get/contact/fields` — Tool to fetch all contact fields available for a firm, excluding hidden columns. Use when you need to retrieve the list of available contact field names and their data types.
- `POST https://api.mcp.ai/api/mailsoftly/get/contact/list` — Tool to retrieve details of a specific contact list by ID. Use when you need to fetch information about a contact list including its name and contact count.
  - body: { contact_list_id: integer }
- `POST https://api.mcp.ai/api/mailsoftly/get/contact/list/contacts` — Tool to retrieve all contacts within a specific contact list. Use when you need to fetch the members of a particular contact list.
  - body: { contact_list_id: integer }
- `POST https://api.mcp.ai/api/mailsoftly/get/contact/lists` — Tool to retrieve all contact lists for the authenticated firm. Use when you need to view all available contact lists and their details.
- `POST https://api.mcp.ai/api/mailsoftly/get/contacts` — Tool to retrieve all contacts associated with a firm. Use when you need to fetch the complete list of contacts from Mailsoftly.
- `POST https://api.mcp.ai/api/mailsoftly/get/custom/fields` — Tool to retrieve all custom fields defined for the authenticated firm. Use when you need to understand what custom field options are available for contacts in Mailsoftly.
- `POST https://api.mcp.ai/api/mailsoftly/get/email/status` — Tool to fetch the status of a specific email draft by its ID. Use when checking if a draft is ready to send or to get its current status.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/mailsoftly/get/tags` — Tool to retrieve all tags associated with the authenticated firm. Use when you need to list available tags for organizing contacts or campaigns.
- `POST https://api.mcp.ai/api/mailsoftly/search/contacts` — Tool to search for contacts matching specified criteria in Mailsoftly. Use when you need to find contacts by email, first name, or last name. At least one search parameter should be provided for meani
  - body: { email?: string, last_name?: string, first_name?: string }
- `POST https://api.mcp.ai/api/mailsoftly/send/email` — Tool to send an existing email draft that is marked as ready. Use when you need to send a prepared email draft via Mailsoftly.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/mailsoftly/update/contact` — Tool to update an existing contact's information in Mailsoftly. Use when you need to modify contact details such as name or email address.
  - body: { email?: string, last_name?: string, contact_id: integer, first_name?: string }

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

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