# Dynosend — MCP server on mcp.ai > Connect your Dynosend account and use 18 tools for email straight from your AI agent. Connect with your own API key. Dynosend is an email marketing platform for managing audiences and contacts, operating campaigns, sending transactional messages, and tracking customer events. By: mcp.ai · official Page: https://mcp.ai/dynosend ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_dynosend?ms=1787293620000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/dynosend/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/dynosend/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/dynosend/skill.md Postman collection (v2.1): https://mcp.ai/dynosend/postman.json ## Tools - dynosend_add_email_to_blacklist(email: string) — Permanently add an email address to the Dynosend blacklist. This cannot be undone through the Dynosend API because Dynosend exposes no removal operation. - dynosend_add_tags_to_contact(tags: string[], email?: string, contact_uid?: string, audience_uid: string) — Append one or more tags to a contact without replacing its existing tags. - dynosend_check_blacklist(email: string) — Check whether an email address is on the connected Dynosend account's blacklist and return its timestamp and reason when available. - dynosend_create_contact(tags?: string[], email: string, audience_uid: string, custom_fields?: object, ignore_double_opt_in?: boolean) — Create a contact in an audience, optionally assigning tags and audience-defined custom fields. Can bypass double opt-in when explicitly requested. - dynosend_delete_contact(email?: string, contact_uid?: string, audience_uid: string) — Permanently delete one contact from an audience for GDPR/CCPA erasure. This destructive operation cannot be undone. - dynosend_find_duplicate_contacts(email: string) — Find contacts that use the same email address across all audiences in the connected Dynosend account. - dynosend_get_audience(audience_uid: string) — Get one audience's configuration, custom-field definitions, contact information, and subscription statistics by audience UID. - dynosend_get_campaign(campaign_uid: string) — Get one campaign's configuration and delivery, open, click, spam, bounce, and unsubscribe insights. - dynosend_get_contact(email?: string, contact_uid?: string, audience_uid: string) — Get one contact in an audience by contact UID or email address. - dynosend_list_audiences() — List audiences available to the connected Dynosend account, including the UID needed by audience and contact tools. - dynosend_list_campaigns() — List campaigns in the connected Dynosend account, including status and the campaign UID used by campaign tools. - dynosend_list_contacts(page?: integer, per_page?: integer, audience_uid: string) — Return one page of contacts in a Dynosend audience, including contact UIDs, subscription status, tags, and audience-defined custom-field values. - dynosend_record_contact_event(email?: string, event_name: string, contact_uid?: string, audience_uid: string) — Record an application event for a contact in an audience. Dynosend stores the event persistently for automations and segmentation, and its API does not provide an operation to delete recorded events. - dynosend_send_transactional_message(subject?: string, html_body?: string, recipient: string, text_body?: string, custom_tags?: object[], content_mode: string, custom_headers?: object[], transactional_uid: string) — Send a configured Dynosend transactional message. This immediately sends email and may create the recipient as a new Dynosend contact if the address is unknown. - dynosend_set_campaign_delivery_state(state: string, campaign_uid: string) — Pause a sending campaign or resume a paused campaign by setting its delivery state to paused or sending. Resuming can send queued emails to campaign recipients; this does not start a ready campaign. - dynosend_set_contact_subscription_status(email?: string, status: string, contact_uid?: string, audience_uid: string) — Set a contact's subscription status to subscribed or unsubscribed in an audience. - dynosend_start_campaign(campaign_uid: string) — Start a ready broadcast campaign. This immediately sends email to all campaign recipients and cannot be undone. - dynosend_update_contact(tags?: string[], new_email?: string, contact_uid?: string, audience_uid: string, current_email?: string, custom_fields?: object) — Update a contact's email, replace its complete tag set, or set audience-defined custom fields. ## Example prompts - "What can I do in Dynosend?" - "Show me a summary of my Dynosend account" ## Links Docs: https://mcp.ai/docs/mcps/dynosend Website: https://mcp.ai/mcps/dynosend