100+ integrations are ready to connect to your AI.Connect your first MCP

Constant Contact MCP server for your AI

Import a trade-show list and tag it, draft a campaign and send yourself a test, schedule it for Tuesday morning, and compare opens and clicks across last month's sends.

PopMCPConstant Contact

Import these 300 trade-show leads into a new Expo 2026 list and tag them Expo

Supported Constant Contact tools

Every Constant Contact V3 call for your own account, from contacts and campaigns to bulk activities and reports, plus the account events PopMCP can watch.

122 tools in the full catalog: 67 read and 55 write. 50 load by default, and the rest are found with tool search.

constant_contact_add_contacts_to_lists

Add Contacts to Lists.

constant_contact_add_tags_to_contacts

Add Tags to Contacts.

constant_contact_export_contacts

Export Contacts to a File.

constant_contact_export_contacts_csv

Export contacts as CSV text in one call: starts the export (everyone, or only list_ids, or one segment_id), waits up to 40 seconds for it and returns the file (cut at 150,000 characters).

constant_contact_get_activity

Get an Activity Status.

constant_contact_import_contacts_json

Import Contacts using a JSON Payload.

constant_contact_list_activities

Get Activity Status Collection.

constant_contact_remove_contacts_from_lists

Remove Contacts from Lists.

constant_contact_remove_tags_from_contacts

Remove Tags from Contacts.

constant_contact_wait_for_activity

Wait for a bulk activity (an import, export, list or tag change, or bulk delete) to finish, checking every 3 seconds for up to timeout_seconds (default 30, at most 50).

constant_contact_campaign_report

Email campaign performance in one table: for each campaign its name, sent date, sends, delivered, opens and open rate, clicks and click rate, bounces and opt-outs, plus totals over all of them.

constant_contact_get_email_campaign_stats

Get an Email Campaign Stats Report.

constant_contact_get_email_clicks_report

Get an Email Clicks Report.

constant_contact_get_email_opens_report

Get an Email Opens Report.

constant_contact_list_email_campaign_summaries

Get an Email Campaigns Summary Report.

constant_contact_create_email_campaign

Create a New Email Campaign.

constant_contact_create_email_draft

Create an email campaign draft ready to review in one call: creates it from a subject and HTML (open tracking added; the sender defaults to the account's confirmed address and organization name), sets its recipients (contact_list_ids or one segment_id) and, when test_emails are given, sends a test to them.

constant_contact_get_email_campaign

Get Details About a Single Email Campaign.

constant_contact_get_email_campaign_activity

Get a Single Email Campaign Activity.

constant_contact_list_email_campaigns

Get a Collection of Email Campaigns.

constant_contact_update_email_campaign_activity

Update An Email Campaign Activity.

constant_contact_list_events

Get a collection of events.

constant_contact_create_contact

Create a Contact.

constant_contact_create_or_update_contact

Create or Update a Contact.

constant_contact_delete_contact

A Contact.

constant_contact_get_account_summary

Get a Summary of Account Details.

constant_contact_get_contact

Get a Contact.

constant_contact_get_contact_counts

Get Contact Consent Counts.

constant_contact_get_user_privileges

Get User Privileges.

constant_contact_list_account_emails

Get a Collection of Account Email Addresses.

constant_contact_list_contacts

Get Contacts Collection.

constant_contact_update_contact

Update a Contact.

constant_contact_create_list

Create a List.

constant_contact_create_segment

Create a Segment.

constant_contact_delete_list

A List.

constant_contact_get_email_campaign_preview

Get the HTML Preview of an Email Campaign Activity.

constant_contact_get_list

Get a List.

constant_contact_get_segment

Get a Segment's Details.

constant_contact_list_lists

Get Lists Collection.

constant_contact_list_segments

Get all Segments.

constant_contact_schedule_email_campaign

Create an Email Campaign Activity Schedule.

constant_contact_send_test_email

Test Send an Email Campaign Activity.

constant_contact_unschedule_email_campaign

An Email Campaign Activity Schedule.

constant_contact_update_list

Update a List.

constant_contact_create_custom_field

Create a custom_field.

constant_contact_create_tag

Create a Tag.

constant_contact_list_custom_fields

Get custom_fields Collection.

constant_contact_list_tags

Get Details for All Tags.

constant_contact_get_contact_activity_summary

Get Contact Action Summary.

constant_contact_list_automations

List All Automations.

constant_contact_bulk_delete_contacts

Contacts in Bulk.

constant_contact_bulk_delete_custom_fields

Custom Fields.

constant_contact_bulk_delete_lists

Contact Lists.

constant_contact_bulk_delete_tags

Tags.

constant_contact_get_contacts_export_file

Retrieve Exported Contacts File.

constant_contact_import_contacts_csv

Import Contacts using a CSV File.

constant_contact_get_email_bounces_report

Get an Email Bounces Report.

constant_contact_get_email_campaign_activity_stats

Get an Email Campaign Activity Stats Report.

constant_contact_get_email_did_not_opens_report

Get an Email Did Not Opens Report.

constant_contact_get_email_forwards_report

Get an Email Forwards Report.

constant_contact_get_email_links_report

Get an Email Links Report.

constant_contact_get_email_optouts_report

Get an Email Opt-outs Report.

constant_contact_get_email_sends_report

Get an Email Sends Report.

constant_contact_get_email_unique_opens_report

Get an Email Unique Opens Report.

constant_contact_create_resend_to_non_openers

A Resend to Non-openers Campaign Activity.

constant_contact_delete_email_campaign

An Email Campaign.

constant_contact_delete_resend_to_non_openers

A Resend to Non Openers Activity.

constant_contact_get_resend_to_non_openers

Get Details for a Resend to Non-openers Campaign Activity.

constant_contact_list_email_campaign_id_xrefs

Get a Collection of V2 and V3 API Email Campaign Identifiers.

constant_contact_rename_email_campaign

Update an Email Campaign Name.

constant_contact_check_in_event_tickets

Check in event tickets.

constant_contact_copy_event

Copy an existing event.

constant_contact_create_event

Create a new event.

constant_contact_get_event

Get details for a single event.

constant_contact_get_event_registration

Get registration details for an event.

constant_contact_list_event_registrations

Get a list of registrations for an event.

constant_contact_undo_event_ticket_check_in

Undo event ticket check-in.

constant_contact_update_event

Update an event.

constant_contact_update_event_registration_payment_status

Update payment status for event registrations.

constant_contact_update_event_registration_status

Update status for event registrations.

constant_contact_add_account_email

Add an Account Email Address.

constant_contact_add_physical_address

The Physical Address for the Account.

constant_contact_get_company_logo

Get the Company Logo for the Account.

constant_contact_get_contact_sms_engagement_history

Get SMS Engagement History for a Contact.

constant_contact_get_physical_address

Get the Physical Address for the Account.

constant_contact_list_contact_id_xrefs

Get a collection of V2 and V3 API contact IDs.

constant_contact_resubscribe_contact

Resubscribe a Contact.

constant_contact_update_account_summary

Update Account Details.

constant_contact_update_company_logo

Update the Company Logo for the Account.

constant_contact_update_physical_address

Update the Physical Address for an Account.

constant_contact_delete_segment

A Segment.

constant_contact_get_email_campaign_schedule

Get an Email Campaign Activity Schedule.

constant_contact_get_email_campaign_send_history

Get the Send History of an Email Campaign Activity.

constant_contact_get_landing_page_opens_report

Get a Contacts Opens Landing Page Report.

constant_contact_get_landing_page_sms_optins_report

Get a Unique Contacts SMS Opt-In Landing Page Report.

constant_contact_get_landing_page_unique_adds_report

Get a Unique Contacts Adds Landing Page Report.

constant_contact_get_landing_page_unique_clicks_report

Get a Unique Contacts Clicks Landing Page Report.

constant_contact_get_landing_page_unique_opens_report

Get a Unique Contacts Opens Landing Page Report.

constant_contact_get_landing_page_unique_updates_report

Get a Unique Contacts Updates Landing Page Report.

constant_contact_list_list_id_xrefs

Get a collection of V2 and V3 API List IDs.

constant_contact_rename_segment

Rename a Segment.

constant_contact_update_segment

Update a Segment.

constant_contact_delete_custom_field

A custom_field.

constant_contact_delete_tag

A Tag.

constant_contact_get_custom_field

Get a custom_field.

constant_contact_get_tag

Get Tag Details.

constant_contact_update_custom_field

Update a custom field.

constant_contact_update_tag

Update a Tag.

constant_contact_create_automation

Create an Automation.

constant_contact_create_social_post

Create a social media post.

constant_contact_get_automation

Retrieve an Automation.

constant_contact_get_campaign_performance

Get Campaign Performance Statistics.

constant_contact_get_contact_activity_details

Get Contact Activity Details.

constant_contact_get_contact_open_click_rates

Get Average Open and Click Rates.

constant_contact_list_social_connections

Get social network connections.

constant_contact_list_social_hashtag_groups

Get hashtag groups.

constant_contact_list_social_profiles

Get social media profiles.

constant_contact_update_automation

Update an Automation.

constant_contact_create_ab_test

Create an A/B Test for an Email Campaign Activity.

constant_contact_delete_ab_test

An A/B Test for an Email Campaign Activity.

constant_contact_get_ab_test

Get A/B Test Details for an Email Campaign Activity.

constant_contact_list_sms_campaign_summaries

Get an SMS Campaigns Summary Report.

Connect Constant Contact to Claude, ChatGPT and Claude Code

Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the Constant Contact side.

In Constant Contact's developer portal click New Application, choose Authorization Code Flow and Implicit Flow, add PopMCP's Redirect URI, copy the app's client ID and a generated client secret into PopMCP, then sign in with the account that made the app.

API key (client ID)xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Client secret••••••••••••3f7a
Authorize PopMCP on Constant ContactAuthorize

Then just ask for the work

  • “Import these 300 trade-show leads into a new Expo 2026 list and tag them Expo”

    • create_list
    • import_contacts_json
    • wait_for_activity
    • add_tags_to_contacts
  • “Draft our October newsletter for the Customers list and send a test to me and sam@northwind.co”

    • list_lists
    • create_email_draft
  • “How did every campaign we sent in September do on opens, clicks and opt-outs?”

    • campaign_report
  • “Export everyone in the Lapsed Customers segment as a CSV”

    • list_segments
    • export_contacts_csv

Use Constant Contact from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Constant Contact MCP server questions

What teams ask before putting Constant Contact behind an AI client.

What Constant Contact credentials does the MCP server need?

The API Key (client ID) and client secret of an app you create in Constant Contact's V3 developer portal. V3 accepts OAuth sign-ins only, so after pasting both you click Sign in with Constant Contact and approve access on Constant Contact's own page. PopMCP asks for account_read, account_update, contact_data, campaign_data and offline_access, the last one so the connection keeps working without signing in again. Constant Contact shows the client secret once, and PopMCP stores it encrypted.

Why can my app only connect the Constant Contact account that created it?

New Constant Contact apps are private: only the user who created the app can authorize it until Constant Contact approves it, which you start by calling their support on 866-289-2101. For your own account that changes nothing, because you create the app and connect in the same session. An agency connecting client accounts either asks for approval or has each client create an app. Each connection is locked to the account that signed in.

How many API calls can the AI make in Constant Contact?

Constant Contact allows 10,000 requests per day and 4 per second for each API key, and the daily count resets at midnight UTC. The limit belongs to your app, so every account connected through it shares one budget. Over it, calls return 429 with quota_exceeded or throttled. Bulk tools save calls: import_contacts_json loads many contacts at once, add_tags_to_contacts tags a whole list, and export_contacts_csv exports a list or segment in one request.

Can the AI build and send an email campaign?

Yes. create_email_draft makes a draft from a subject and HTML, adds the open tracking Constant Contact needs, uses the account's confirmed sender when none is given, sets the recipient lists or a segment, and can send a test to up to five addresses. Nothing goes to your contacts until schedule_email_campaign runs, which sends at the time you give or immediately with scheduled_date 0. unschedule_email_campaign returns a scheduled email to draft.

Why does an import or tag change say it is still processing?

Constant Contact runs imports, exports, list and tag changes and bulk deletes as background activities, and the call returns an activity_id rather than a result. wait_for_activity checks it every 3 seconds for up to 50 seconds, and get_activity reads its state once, with any per-row errors. Large jobs can take minutes, so the AI calls it again until the state is completed. The Bulk job finished trigger fires when one ends.

Which Constant Contact events can PopMCP watch?

10 in total. Polling picks up a contact added, a contact's details or list memberships changing, a contact unsubscribing, an email campaign created, edited, scheduled or sent, and an SMS campaign sent. Change detection catches an email campaign going out, a bulk job finishing or failing, a new contact list and a newly confirmed sender address. One threshold fires when the number of contacts you can email falls below the level you set.

Do I have to run or host the Constant Contact MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect Constant Contact to Claude Code?

Connect Constant Contact in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Constant Contact on the consent screen. The Constant Contact tools are then available in that session, and no Constant Contact credential is stored on your machine.

Why do only 50 of the 122 tools load by default?

Loading 122 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 50-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 122 here. A trigger is something PopMCP watches for you: 10 Constant Contact events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Constant Contact.

Connect Constant Contact to your AI in minutes

Launch a hosted MCP endpoint for Constant Contact, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP