# SureContact — how to use (mcp.ai)

Connect your SureContact account and use 26 tools for marketing automation straight from your AI agent. Connect with your own API key. SureContact is a marketing automation and CRM platform for managing contacts, companies, deals, campaigns, lists, forms, purchases, reports, and related workflows.

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

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

### Endpoints
- `POST https://api.mcp.ai/api/surecontact/create/campaign/draft` — Create a campaign in draft status without sending or scheduling email. Optionally configure content, sender details, tracking, and recipient filters for later review in SureContact.
  - body: { name: string, subject?: string, reply_to?: string, from_name?: string, from_email?: string, track_opens?: boolean, html_content?: string, preview_text?: string, track_clicks?: boolean, template_uuid?: string, exclude_tag_uuids?: string[], include_tag_uuids?: string[], exclude_list_uuids?: string[], include_list_uuids?: string[] }
- `POST https://api.mcp.ai/api/surecontact/create/landing/page/draft` — Create a landing page in draft status without publishing it or making a public URL live. Optionally initialize the draft from page-builder design JSON or an existing page template.
  - body: { name: string, description?: string, design_json?: object|string[], template_uuid?: string }
- `POST https://api.mcp.ai/api/surecontact/create/segment` — Create a tag or contact list. A dynamic list continuously evaluates its filters; a static list is manually managed.
  - body: { name: string, color?: string, filters?: object, list_type?: string, description?: string, segment_type: string }
- `POST https://api.mcp.ai/api/surecontact/create/task` — Create an actionable workspace task linked to one or more contacts and optionally assign it. Workspace notification settings may notify the assignee.
  - body: { title: string, due_date?: string, description?: string, contact_uuids: string[], task_type_uuid?: string, assigned_to_uuid?: string, reminder_offset_minutes?: integer }
- `POST https://api.mcp.ai/api/surecontact/enroll/contact/in/sequence` — Enroll one contact in an active sequence by UUID or email. This irreversible operation is asynchronous and can trigger sequence actions, including real external email, shortly after the request is acc
  - body: { contact_uuid?: string, contact_email?: string, sequence_uuid: string }
- `POST https://api.mcp.ai/api/surecontact/get/campaign/performance` — Get campaign details, live sending progress, or one page of per-contact delivery and engagement results without changing campaign state.
  - body: { view?: string, cursor?: string, opened?: boolean, search?: string, status?: string, clicked?: boolean, per_page?: integer, campaign_uuid: string }
- `POST https://api.mcp.ai/api/surecontact/get/contact` — Retrieve one contact by UUID or email address without changing it.
  - body: { email?: string, contact_uuid?: string }
- `POST https://api.mcp.ai/api/surecontact/get/report` — Read one SureContact analytics report for a selected date range: overview, contact growth, email sending, email engagement, link clicks, unsubscribes, bounces, ecommerce revenue, products, or campaign
  - body: { limit?: integer, source?: string, status?: string, end_date?: string, group_by?: string, date_range?: string, start_date?: string, bounce_type?: string, filter_type?: string, filter_uuid?: string, report_type: string, compare_with?: string, campaign_uuid?: string, compare_end_date?: string, compare_start_date?: string }
- `POST https://api.mcp.ai/api/surecontact/list/campaigns` — Search and page through email campaigns by lifecycle status without changing them.
  - body: { cursor?: string, search?: string, status?: string, sort_by?: string, per_page?: integer, sort_order?: string }
- `POST https://api.mcp.ai/api/surecontact/list/contact/timeline` — Page through either notes or activities for one contact, newest first, without changing the timeline.
  - body: { days?: integer, cursor?: string, to_date?: string, per_page?: integer, from_date?: string, entry_type: string, contact_uuid: string, activity_type?: string }
- `POST https://api.mcp.ai/api/surecontact/list/contacts` — Search and page through contacts in the connected workspace without changing them.
  - body: { cursor?: string, search?: string, per_page?: integer }
- `POST https://api.mcp.ai/api/surecontact/list/form/submissions` — Search and page through submissions captured by one form without changing them.
  - body: { cursor?: string, search?: string, status?: string, to_date?: string, per_page?: integer, form_uuid: string, from_date?: string }
- `POST https://api.mcp.ai/api/surecontact/list/marketing/assets` — List one page of forms, email templates, or landing pages available for campaigns and lead capture.
  - body: { cursor?: string, search?: string, status?: string, sort_by?: string, per_page?: integer, asset_type: string, sort_order?: string, template_type?: string }
- `POST https://api.mcp.ai/api/surecontact/list/purchases` — Page through tracked purchases with optional contact, status, and source filters.
  - body: { cursor?: string, source?: string, status?: string, per_page?: integer, contact_uuid?: string }
- `POST https://api.mcp.ai/api/surecontact/list/segments` — List tags or lists used to segment contacts, with search and archive filtering where supported.
  - body: { cursor?: string, search?: string, archived?: string, per_page?: integer, segment_type: string }
- `POST https://api.mcp.ai/api/surecontact/list/tasks` — Page through workspace tasks without changing completion or assignment state.
  - body: { cursor?: string, per_page?: integer }
- `POST https://api.mcp.ai/api/surecontact/list/workflows` — List automations or email sequences available in the workspace without starting them.
  - body: { cursor?: string, search?: string, status?: string, per_page?: integer, workflow_type: string }
- `POST https://api.mcp.ai/api/surecontact/log/contact/interaction` — Create a note or activity on a contact's timeline. This permanently adds workspace-visible history attributed to the API-key owner.
  - body: { title?: string, content: string, metadata?: object, entry_type: string, contact_uuid: string, activity_type?: string }
- `POST https://api.mcp.ai/api/surecontact/record/purchase` — Record an external purchase in SureContact without charging a payment method. Identifying the buyer by email may create a new contact.
  - body: { status?: string, currency?: string, discount?: number, metadata?: object, order_id: string, products?: object[], tax_amount?: number, coupon_code?: string, contact_uuid?: string, purchased_at?: string, total_amount: number, contact_email?: string, transaction_id?: string, shipping_amount?: number }
- `POST https://api.mcp.ai/api/surecontact/send/email` — Queue one email for immediate asynchronous delivery to one external recipient. Executing this action sends a real external email and may create engagement tracking events; it does not create a draft o
  - body: { subject?: string, reply_to?: string, from_name?: string, html_body?: string, variables?: object, from_email?: string, track_opens?: boolean, contact_uuid?: string, track_clicks?: boolean, contact_email?: string, template_uuid?: string, smtp_configuration_uuid?: string }
- `POST https://api.mcp.ai/api/surecontact/set/contact/status` — Change a contact's deliverability or subscription status. Setting unsubscribed, bounced, invalid, or complained can stop future messaging.
  - body: { status: string, contact_uuid: string }
- `POST https://api.mcp.ai/api/surecontact/set/task/completion` — Mark a task done or reopen it as not done. This immediately changes the task's completion state.
  - body: { completed: boolean, task_uuid: string }
- `POST https://api.mcp.ai/api/surecontact/start/contact/automation` — Start an active automation for one contact. This irreversible operation is asynchronous and can trigger actions, including real external email, shortly after the request is accepted; it does not wait 
  - body: { contact_uuid: string, automation_uuid: string }
- `POST https://api.mcp.ai/api/surecontact/unenroll/contact/from/sequence` — Synchronously cancel a contact's active executions in a sequence and mark its subscriber state as cancelled. The response reports cancelled_executions; zero means the idempotent request found no activ
  - body: { contact_uuid?: string, contact_email?: string, sequence_uuid: string }
- `POST https://api.mcp.ai/api/surecontact/update/contact/memberships` — Attach or detach one or more tags or lists from a contact. This immediately changes segmentation and can affect campaign or automation targeting.
  - body: { operation: string, contact_uuid: string, resource_type: string, resource_uuids: string[] }
- `POST https://api.mcp.ai/api/surecontact/upsert/contact` — Create a contact when the email is new or update the existing contact with supplied fields. Supplied tag and list UUIDs are appended and never replace existing memberships.
  - body: { email: string, phone?: string, source?: string, status?: string, company?: string, language?: string, metadata?: object, timezone?: string, job_title?: string, last_name?: string, tag_uuids?: string[], first_name?: string, list_uuids?: string[], custom_fields?: object }

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

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