Sáltate la instalación. Funcionando en menos de 2 minutos.
Inicia una prueba gratuita en cloud.anythingmcp.com, añade Constant Contact con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.
Resumen
Trabaja con una cuenta de Constant Contact desde cualquier agente de IA: contactos con su consentimiento de email, listas, etiquetas, campos personalizados y segmentos, cambios masivos de listas y etiquetas, campañas de email creadas desde tu HTML con vista previa y envío de prueba, e informes de campañas, enlaces y contactos concretos. API V3 con inicio de sesión OAuth; programar un envío y los borrados vienen desactivados.
Prueba a pedir
Prompts de ejemplo para Constant Contact
Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.
Claude es IA y puede equivocarse. Verifica siempre las respuestas.
💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → Constant Contact, pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin
git clone, sin servidor local.
Constant Contact
Trabaja con una cuenta de Constant Contact desde cualquier agente de IA: contactos con su consentimiento de email, listas, etiquetas, campos personalizados y segmentos, cambios masivos de listas y etiquetas, campañas de email creadas desde tu HTML con vista previa y envío de prueba, e informes de campañas, enlaces y contactos concretos. API V3 con inicio de sesión OAuth; programar un envío y los borrados vienen desactivados.
Configuración
La configuración lleva unos 10 minutos. Registras tu propia aplicación en el portal para desarrolladores de Constant Contact e inicias sesión con la cuenta que quieres conectar.
- Abre el portal para desarrolladores V3 en https://app.constantcontact.com/pages/dma/portal e inicia sesión con el usuario de Constant Contact de esa cuenta. Las aplicaciones nuevas son privadas: hasta que Constant Contact aprueba una aplicación, solo el usuario que la creó puede autorizarla.
- Haz clic en New Application y ponle un nombre (aparece en la pantalla de consentimiento). Elige Authorization Code Flow and Implicit Flow y un tipo de refresh token: Rotating Refresh Tokens (recomendado) o Long Lived Refresh Tokens. Créala.
- Abre la aplicación con Edit y añade como redirect URI
<your AnythingMCP URL>/api/mcp-oauth/callback, en AnythingMCP Cloudhttps://cloud.anythingmcp.com/api/mcp-oauth/callback, carácter por carácter. - Haz clic en Generate Client Secret. El secreto solo se muestra una vez. Guarda la aplicación.
- Pega la API Key de la aplicación (es el client ID de OAuth) en
CONSTANT_CONTACT_CLIENT_IDy el secreto enCONSTANT_CONTACT_CLIENT_SECRET. Deja vacíoCONSTANT_CONTACT_REFRESH_TOKENe instala. - En la página del conector haz clic en Authorize with Provider e inicia sesión en Constant Contact. El conector pide los scopes
account_read contact_data campaign_data offline_access(offline_accesses el que devuelve un refresh token). - Ejecuta
constant_contact_get_account_summary: muestra la organización y confirma el inicio de sesión.
Un access token dura 24 horas y se renueva solo con el refresh token. Con refresh tokens rotativos cada renovación devuelve un refresh token nuevo y el anterior deja de funcionar, así que no uses el token guardado en ningún otro sitio; con los de larga duración el mismo token sigue valiendo. Los dos caducan tras 180 días sin uso: entonces vuelve a autorizar. Lo que puede hacer la IA depende también de los privilegios del usuario de Constant Contact que inició sesión (constant_contact_get_user_privileges).
Qué lee: el resumen de la cuenta, las direcciones de remitente de la cuenta con su estado de confirmación y los privilegios del usuario conectado. Contactos filtrados por email, estado, listas, etiquetas, segmento o fechas de alta, cambio y baja, con su permiso de email, los datos de alta y baja y, si se piden, listas, etiquetas, campos personalizados, teléfonos, direcciones y notas; el número de contactos por estado de consentimiento. Listas con su número de miembros, etiquetas con su número de contactos, campos personalizados y segmentos con sus criterios. Actividades en segundo plano y su progreso. Campañas de email con sus actividades, el asunto, remitente, destinatarios y HTML de un email, una vista previa HTML, la programación y el historial de envíos. Informes: resultados de las campañas recientes (envíos, aperturas, clics, reenvíos, bajas, rebotes, denuncias de spam), estadísticas por campaña y por actividad, clics por enlace, los contactos detrás de cada cifra y el historial de emails y las tasas de apertura y clic de un contacto.
Qué escribe: añade o actualiza contactos (constant_contact_create_or_update_contact trabaja por email, cambia solo los campos enviados y es la opción segura; constant_contact_update_contact sustituye el contacto entero, por eso la IA lo lee antes), crea y renombra listas, etiquetas y campos personalizados, mete y saca contactos de listas y etiquetas de forma masiva, crea borradores de campañas de email desde tu HTML, fija sus destinatarios, los renombra, envía emails de prueba y cancela un envío programado. Los cambios masivos se ejecutan en segundo plano y devuelven un activity_id que la IA sigue con constant_contact_get_activity hasta que el estado es completed.
Crear un email: constant_contact_create_email_campaign crea un borrador desde tu propio HTML (email de código personalizado, format_type 5). El HTML debe contener [[trackingImage]] para que se cuenten las aperturas, y el remitente y la dirección de respuesta deben ser direcciones confirmadas de constant_contact_list_account_emails. Después constant_contact_update_email_campaign_activity fija contact_list_ids o segment_ids; sustituye la actividad, por eso la IA la lee antes y vuelve a enviar todos los campos. Revisa el resultado con constant_contact_get_email_preview y constant_contact_send_test_email (hasta 5 direcciones por prueba, 50 destinatarios de prueba al día por cuenta).
Desactivadas al instalar: constant_contact_schedule_email_campaign_activity (envía a todos los contactos de las listas y no se puede retirar una vez empezado el envío), constant_contact_delete_contact y constant_contact_delete_contact_list. Un admin del workspace las activa cuando el equipo las necesita. Con la programación activada, la IA te muestra asunto, remitente, destinatarios y hora y programa solo después de tu sí.
Consentimiento: añade contactos solo si aceptaron recibir emails de la empresa y nunca pongas permission_to_send en explicit para personas que no dieron su alta. Los contactos dados de baja no se pueden volver a suscribir por la API sin una acción suya. Un contacto puede estar como máximo en 50 listas.
Formatos de datos: los ids de contactos, listas, etiquetas, campos personalizados, campañas y actividades de campaña son UUID; los ids de segmento son enteros. Una campaña tiene varias actividades: informes, vistas previas, pruebas y programaciones usan el campaign_activity_id de la actividad primary_email, no el campaign_id. Las horas van en ISO 8601 en UTC (2026-10-30T14:05:00.000Z). El current_status de una campaña es Draft, Scheduled, Executing, Done, Error o Removed; permission_to_send es explicit, implicit, not_set, pending_confirmation, temp_hold o unsubscribed. Las cifras de los informes son contactos únicos salvo que el informe diga otra cosa, y las tasas son porcentajes.
Paginación: las listas traen _links.next.href mientras haya más páginas. Contactos, listas, etiquetas, campos personalizados, actividades y campañas usan el valor cursor= de ese enlace como cursor; informes y segmentos, el valor next= como next. La IA mantiene los demás filtros iguales entre páginas.
Límites: 10.000 peticiones al día por aplicación (se reinician a las 00:00 UTC) y 4 por segundo; si se supera cualquiera, la API responde 429 (quota_exceeded o throttled).
Errores frecuentes: 401 indica un token caducado o revocado: vuelve a hacer clic en Authorize with Provider y comprueba que la API key y el secreto son de la misma aplicación. Al iniciar sesión, un error de redirección significa que la redirect URI no coincide exactamente. 403 es un scope o un privilegio de usuario que falta (constant_contact_get_user_privileges muestra cuál). 404 es un id desconocido. 409 es un email, lista, etiqueta o nombre de campaña duplicado. 400 explica la entrada no válida en error_key y error_message. Un 202 de constant_contact_list_contacts con un segmento significa que el resultado aún se está preparando: vuelve a pedirlo.
El conector no cubre eventos, campañas SMS, publicaciones en redes sociales ni endpoints de partners, y no crea emails con el editor de arrastrar y soltar.
Requisitos previos: CONSTANT_CONTACT_CLIENT_ID, CONSTANT_CONTACT_CLIENT_SECRET (lo rellena Authorize with Provider: CONSTANT_CONTACT_REFRESH_TOKEN)
Instalar el conector localmente
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Abre http://localhost:3000/connectors/store, elige Constant Contact e introduce las variables listadas en los Requisitos previos.
Herramientas disponibles
| Tool | What it does |
|---|---|
constant_contact_get_account_summary | Account details of the connected Constant Contact account: organization name, contact email and phone, website, time zone, country, state… |
constant_contact_list_account_emails | Email addresses of the account with their confirm status (CONFIRMED or UNCONFIRMED) and roles |
constant_contact_get_user_privileges | Privileges of the Constant Contact user who authorized the connector (for example contacts:write, campaign:send, ui:campaign:metrics) |
constant_contact_list_contacts | Search contacts, newest changes not guaranteed first |
constant_contact_get_contact | One contact by id with its email permission, opt-in and opt-out details and, with include, its lists, tags, custom fields, phone numbers… |
constant_contact_get_contact_counts | Total number of contacts in the account and how many are in each email consent state (explicit, implicit, pending confirmation… |
constant_contact_create_contact | Create a new contact |
constant_contact_create_or_update_contact | Add a contact by email address or update the existing one, and add it to one or more lists |
constant_contact_update_contact | Replace a contact's data |
constant_contact_delete_contact | Delete a contact |
constant_contact_list_contact_lists | Contact lists of the account with list_id, name, description, favorite flag and, with include_membership_count, the number of members |
constant_contact_get_contact_list | One contact list by id, optionally with its number of members |
constant_contact_create_contact_list | Create a contact list |
constant_contact_update_contact_list | Rename a list or change its description or favorite flag |
constant_contact_delete_contact_list | Delete a contact list and its memberships (the contacts stay in the account) |
constant_contact_add_contacts_to_lists | Add contacts to one or more lists as a background activity |
constant_contact_remove_contacts_from_lists | Remove contacts from one or more lists as a background activity (the contacts stay in the account) |
constant_contact_list_tags | Tags of the account with tag_id, name, tag_source and, with include_count, the number of tagged contacts |
constant_contact_get_tag | One tag by id, optionally with the number of contacts that carry it |
constant_contact_create_tag | Create a tag |
constant_contact_update_tag | Rename a tag |
constant_contact_add_tags_to_contacts | Put one or more tags on contacts as a background activity |
constant_contact_remove_tags_from_contacts | Take one or more tags off contacts as a background activity (the tags themselves stay) |
constant_contact_list_custom_fields | Custom contact fields of the account with custom_field_id, label, name, type and, for select fields, the choices |
constant_contact_get_custom_field | One custom field by id with its label, name, type, metadata and select choices |
constant_contact_create_custom_field | Create a custom contact field |
constant_contact_list_segments | Segments (saved contact filters) of the account with segment_id, name and dates |
constant_contact_get_segment | One segment with its criteria (segment_criteria as JSON text) |
constant_contact_list_activities | Background activities (bulk list and tag changes, imports, exports, deletes) with their state and percent done, newest first |
constant_contact_get_activity | Status of one background activity: state (initialized, processing, completed, cancelled, failed, timed_out), percent_done, counts and any… |
constant_contact_list_email_campaigns | Email campaigns of the account with campaign_id, name, current_status (Draft, Scheduled, Executing, Done, Error, Removed), type and created… |
constant_contact_get_email_campaign | One email campaign with its status and campaign_activities: each with campaign_activity_id and role (primary_email is the email itself… |
constant_contact_get_email_campaign_activity | One email campaign activity: subject, from and reply-to, preheader, format_type, current_status, the contact_list_ids or segment_ids it… |
constant_contact_create_email_campaign | Create a draft email campaign from your own HTML (custom code email, format_type 5) |
constant_contact_update_email_campaign_activity | Change a draft (or sent, for some fields) primary_email activity: subject, sender, HTML, preheader, footer address and the audience… |
constant_contact_rename_email_campaign | Rename an email campaign (the internal name, not the subject) |
constant_contact_get_email_preview | HTML preview of an email campaign activity, with contact and custom field variables filled from the account owner's data, plus the preview… |
constant_contact_send_test_email | Send a test of an email campaign activity to up to 5 addresses (50 test recipients a day per account) |
constant_contact_get_email_schedule | Scheduled send time of an email campaign activity; an empty array when it is not scheduled |
constant_contact_schedule_email_campaign_activity | Send an email campaign activity to its lists or segment, now (scheduled_date "0") or at a time |
constant_contact_unschedule_email_campaign_activity | Cancel the schedule of an email campaign activity in SCHEDULED status; it goes back to its previous status (usually DRAFT) |
constant_contact_get_email_send_history | Each time an email campaign activity was sent: date, number of contacts, the lists or segments used, and whether the send completed or… |
constant_contact_list_email_campaign_summaries | Results of sent email campaigns, last sent first: per campaign the unique sends, opens, clicks, forwards, unsubscribes (optouts), bounces… |
constant_contact_get_email_campaign_stats | Stats for one or more email campaigns: counts (sends, opens, clicks, forwards, optouts, bounces, abuse, not opened) and percents (open… |
constant_contact_get_email_campaign_activity_stats | Stats for up to 10 email campaign activities: counts per tracked action and the campaign each belongs to |
constant_contact_get_email_links_report | Links in an email campaign activity with the number of unique contacts who clicked each and the link action. url_id from here filters the… |
constant_contact_get_email_tracking_report | Contacts behind an email campaign activity's numbers, most recent first: who it was sent to, who opened (every open or unique opens), who… |
constant_contact_get_contact_activity_details | What one contact did with your emails and landing pages, newest first: sends, opens, clicks, bounces, unsubscribes, forwards and landing… |
constant_contact_get_contact_activity_summary | The emails sent to one contact in a date range (up to the 200 most recent campaigns) with what the contact did with each: opens, clicks… |
constant_contact_get_contact_open_click_rates | Average open and click rate of one contact over a date range of up to 5 years, with the number of emails counted |
Ejemplos de prompts
- "¿Qué tal funcionaron nuestras tres últimas campañas de email? Compara aperturas, clics, bajas y rebotes."
- "Añade [email protected] a la lista Newsletter con el nombre Anna. Se suscribió en nuestra web."
- "¿Quién hizo clic en el enlace de precios de la campaña de la semana pasada? Dame sus emails."
- "Crea un borrador de campaña con este HTML para la lista Clientes VIP y antes de nada envíame una prueba."
- "Pon la etiqueta webinar-2026 a todos los contactos de la lista Webinar octubre y avísame cuando termine el cambio masivo."
Siguientes pasos
¿Te ha sido útil esta guía?