Constant Contact MCP server — tools & history
Constant Contact MCP server: observed open status, tool schemas, linked apps and version history.
Constant Contact
Endpoint: https://mcp.apps.constantcontact.com/public_api/mcp
Observed status: open. Checked: 2026-10-11T06:23:06+00:00.
Linked apps
- Constant Contact
Chat.Preview.Send.
Observed tools
- add_account_email_address — Use this method to add a new email address to a Constant Contact account. If the email address you are adding already exists in the account the API will return a 409 conflict error. When you add a new email address to an account, Constant Contact automatically sends an email to that address with a link to confirm it. After a user clicks that link, the account email status changes from `UNCONFIRMED` to `CONFIRMED`. You can use confirmed account email addresses in the email campaign `from_email` and `reply_to_email` headers. For more use case information, see [Add an Account Email Address](/api_guide/account_post_emails.html) in the API guide.
- add_physical_address — Use this method to add the address where the account's organization physically resides. The physical address is required to send emails and displays on the footer of every email that is sent from the account. The country (`country_code`) where the account organization resides determines whether you use the `state_code` to specify United States (`US`) and Canada (`CA`) addresses, or use the `state_name` to specify all other countries.
- bulk_import_contacts_json — Use this method to create an asynchronous background job that adds new contacts or updates existing contacts by importing a JSON payload. This method requires a request body that contains the contact data you are importing and the contact lists to which you want to add the imported contacts. A contact's data must include an `email` address and/or `sms_number`. The `sms_number` must be a US phone number to associate with the contact's SMS-enabled phone. Valid formats are `1231231234` or `123-123-1234` (the country code must be valid). Importing a new contact using this method automatically sets the contact's email `permission_to_send` property to `implicit` and the `opt_in_source` property as `Account`. Importing an existing contact only updates the contact properties you include in the request. For each contact, you can import up to three addresses and three phone numbers. International phone numbers are currently not supported. To import custom fields, prefix the custom field name with `cf:` and add it as a contact property. For example, use the property name `cf:first_name` if you have a custom field named `first_name`. The custom field must already exist in the Constant Contact account you are using. Each contact can contain up to 25 custom fields. To include a contact's `sms_number`, if the contact provided explicit permission to receive SMS messages, you must set the `sms_permission_to_send` property to `explicit` and specify the date of consent using the `sms_consent_date` column header. If explicit permission was not provided, set `sms_permission_to_send` to `not_set` (the `sms_consent_date` is not required). If the `sms_consent_date` is not set, SMS messages cannot be sent to contacts and `sms_permission_to_send` defaults to `not_set`. Valid value formats for `sms_consent_date` include MM/DD/YYYY, M/D/YYYY, YYYY/MM/DD, YYYY/M/D, YYYY-MM-DD, YYYY-M-D,M-D-YYYY, or M-DD-YYYY. The request body payload has a maximum size of 4 megabytes (MB). If the request body exceeds 4 MB, this method only imports the first 4 MB and drops the remaining data. Use the activity URL to check the status of the import activity request.
- check_campaign_schedule_readiness — Check if an email campaign activity is ready to be scheduled for sending. Returns status and scheduling URL. Only DRAFT status campaigns can be scheduled.
- create_email_campaign — Use this tool to create a new email campaign. You must include a tracking image (`[[trackingImage]]`) in the email body in order for Constant Contact to report on the email performance. The request body must contain the `name` property and the `email_campaign_activities` array. The `name` must be unique.The `email_campaign_activities` array contains the main content of your email campaign and must include `format_type`, `subject`, and `html_content` properties. This tool will automatically use the default `from_name`, `from_email`, and `reply_to_email` for the account when creating a campaign, these values do not need to be passed in. Compliance and sender preflight requirements: Quality requirement for default output: when the user asks to create an email campaign and does not explicitly request a plain or minimal draft, default to a polished, production-ready HTML marketing email, not a schema-valid stub. Treat any included HTML example as the minimum visual quality bar, not just a valid payload sample. Strong preference: generate professionally styled HTML with substantial inline CSS and a clear design system. Prefer: a background color and constrained content container, strong heading hierarchy and readable body typography, intentional spacing and section padding, card or panel structure where appropriate, styled CTA buttons and links,polished image treatment, responsive-friendly table or hybrid email-safe layout patterns, and a coherent visual layout that looks intentionally designed. Avoid as the default: barebones bodies with only one or two inline styles,placeholder-looking copy, or a simple heading-plus-paragraph structure when richer HTML is feasible from the information already available. User-discovery requirement: before creating the campaign, strongly prefer gathering enough context to make the email effective. Ask about the users business goal/campaign objective, audience, brand style, and desired call to action when that information is missing and asking is practical. Frame this as improving performance and relevance, not as a blocker. Examples: What is the business goal of this email? Who is the audience? What action do you want readers to take? Do you want it to feel promotional, editorial, or transactional? Are there brand colors, logo, product images, or offers to include? It is very important to personalize the email. If a business website is provided, use it to infer brand style, tone, colors, and destination links. If a logo or image is provided, incorporate it into the email. If neither is provided, clearly label the output as a best-effort draft. If the user has not supplied this context and immediate creation is still necessary, create the best possible polished draft using reasonable assumptions, but optimize for a credible business-ready layout rather than a minimal example. Behavioral rule: The assistant should assume the user wants a visually designed email that supports a real business objective. Visual polish does not satisfy this requirement on its own. Unless the user explicitly requests a placeholder, starter draft, mockup, or “just make something,” the assistant must collect the minimum campaign brief — goal, audience, CTA — before creating the campaign. If any of these are missing, ask first. Do not use generic filler strategy or copy as a substitute for the brief.
- create_list — Create a new contact list resource
- create_social_post — Create a new social media post campaign. In order to create an effective post you must include the post text and an image. Always use campaign text and an image unless an end user explicitly asks for a draft or placeholder campaign.Images from social media platforms or from imgur will be rendered in the response.Not all image CDNs are supported due to the CSP settings of the platfrom. If an image is not loading in the preview, upload it to Constant Contact or to imgur.Supports creating posts in DRAFT or SCHEDULED status across one or more social profiles. Use DRAFT to save without publishing, or SCHEDULED to schedule for publication at a specific time. Requires at least one profile_posts entry with target profile IDs for SCHEDULED posts. Use GET /social/profiles to retrieve available profile IDs before creating a post.
- get_campaign_html_preview — Get the HTML preview of an email campaign activity. Returns decoded HTML content ready to render, along with email metadata (subject, from email, preheader, etc.).
- get_physical_address — Use this method to get the address where the account's organization physically resides. The physical address is required to send emails and displays on the footer of every email that is sent from the account.
- public_render_subject_line_score — Render an interactive subject line score UI component that suggests better subject lines.
- rename_email_campaign — Use this method to rename an email campaign. The name is not visible to contacts. The name must be unique and cannot exceed 80 characters. You cannot rename email campaigns that have a `Removed` status.
- retrieve_email_addresses — Use this method to return a collection of email addresses for the account associated with your access token. When you [Create an Email Campaign](https://v3.developer.constantcontact.com/api_reference/index.html#!/Email_Campaigns/createEmailCampaignUsingPOST), you must use an account email address with a `CONFIRMED` status in the email campaign `from_email` and `reply_to_email` headers. Use the query parameters to filter results. You can filter using `confirm_status`, `role_code`, or `email_address`. For example, searching with `confirm_status=CONFIRMED` returns all confirmed email addresses in the account. This method only supports one query parameter at a time.
- update_email_campaign_activity — Update an email campaign activty. Required fields are from_name, from_email, reply_to_email, and subject.
- update_list — Updates an existing contact list resource, specified by `list_id`
- update_physical_address — Use this method to update the organization's physical address for the Constant Contact user account. The physical address is required to send emails and displays on the footer of every email that is sent from the account. To get the current physical address, make a GET call to `/account/summary/physical_address`. The country (`country_code`) where the account organization resides determines whether you use the `state_code` to specify United States (`US`) and Canada (`CA`) addresses, or use the `state_name` to specify all other countries. For more details, see [Put (update) the Physical Address for the Account](/api_guide/account_address_put.html). You must have the role of Account Owner assigned to update account level details.
- update_social_post — Update an existing social media post campaign. Requires the campaign_id of the post to update.Supports updating posts in DRAFT or SCHEDULED status across one or more social profiles.Use DRAFT to save without publishing, or SCHEDULED to schedule for publication at a specific time.
- upload_my_library_file — Upload an image or file to the Constant Contact MyLibrary. Image uploads must use a publicly accessible URL. Use this tool in workflows involving user submitted images to ensure that the images render correctly in the campaign. Some images may fail to be uploaded to Constant Contact. In these cases, it is reasonable to fall back on the user submitted image for campaign creation. Polls for upload completion and returns the file's id and external_url (publicly accessible CDN URL).
- user_image_upload — Display an interactive UI for uploading images to the Constant Contact MyLibrary. Use this tool when a user wants to upload an image to their Constant Contact account and does not have the image hosted on an external URL. The widget handles image selection and submission directly. The Constant Contact image ids and image urls are passed by the UI to the clients context after the user uploads the image.
Data as of 2026-10-11T06:23:06+00:00.
OpenApps records store listings and observed changes. Store ranks are not download counts; launch dates may be derived or use the first observation. Coverage gaps are shown in the interactive catalog.
REST API specification · Guide for AI clients · Manage API keys and MCP connections