Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi Constant Contact con un clic, poi punta il tuo client AI (Claude, ChatGPT, Copilot o Cursor) all'endpoint MCP generato. Niente Docker, niente git clone, nessuna esperienza di sviluppo richiesta.
In breve
Lavora con un account Constant Contact da qualsiasi agente AI: contatti con il loro consenso email, liste, tag, campi personalizzati e segmenti, modifiche massive a liste e tag, campagne email create dal tuo HTML con anteprima e invio di prova, e i report di campagne, link e singoli contatti. API V3 con accesso OAuth; la pianificazione dell'invio e le eliminazioni sono disattivate all'installazione.
Prova a chiedere
Prompt di esempio per Constant Contact
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
💡 Niente installazione? Vai direttamente su cloud.anythingmcp.com. Accedi, clicca Connectors → Constant Contact, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
Constant Contact + ChatGPT
Lavora con un account Constant Contact da qualsiasi agente AI: contatti con il loro consenso email, liste, tag, campi personalizzati e segmenti, modifiche massive a liste e tag, campagne email create dal tuo HTML con anteprima e invio di prova, e i report di campagne, link e singoli contatti. API V3 con accesso OAuth; la pianificazione dell'invio e le eliminazioni sono disattivate all'installazione.
Prerequisiti
Le istruzioni di setup complete sono incluse nel connettore stesso (visibili nello store quando lo selezioni). Le variabili d'ambiente richieste sono:
CONSTANT_CONTACT_CLIENT_ID, CONSTANT_CONTACT_CLIENT_SECRET (compilato da Authorize with Provider: CONSTANT_CONTACT_REFRESH_TOKEN)
Step 1 — Ottieni le credenziali
La configurazione richiede circa 10 minuti. Registri una tua applicazione nel portale sviluppatori di Constant Contact e accedi con l'account che vuoi collegare.
- Apri il portale sviluppatori V3 su https://app.constantcontact.com/pages/dma/portal e accedi con le credenziali Constant Contact di quell'account. Le nuove applicazioni sono private: finché Constant Contact non approva un'applicazione, solo l'utente che l'ha creata può autorizzarla.
- Fai clic su New Application e dalle un nome (compare nella schermata di consenso). Scegli Authorization Code Flow and Implicit Flow e un tipo di refresh token: Rotating Refresh Tokens (consigliato) o Long Lived Refresh Tokens. Creala.
- Apri l'applicazione con Edit e aggiungi come redirect URI
<your AnythingMCP URL>/api/mcp-oauth/callback, su AnythingMCP Cloudhttps://cloud.anythingmcp.com/api/mcp-oauth/callback, carattere per carattere. - Fai clic su Generate Client Secret. Il secret viene mostrato una sola volta. Salva l'applicazione.
- Incolla l'API Key dell'applicazione (è il client ID OAuth) in
CONSTANT_CONTACT_CLIENT_IDe il secret inCONSTANT_CONTACT_CLIENT_SECRET. Lascia vuotoCONSTANT_CONTACT_REFRESH_TOKENe installa. - Nella pagina del connettore fai clic su Authorize with Provider e accedi a Constant Contact. Il connettore chiede gli scope
account_read contact_data campaign_data offline_access(offline_accessè quello che restituisce un refresh token). - Esegui
constant_contact_get_account_summary: mostra l'organizzazione e conferma l'accesso.
Un access token dura 24 ore e si rinnova da solo con il refresh token. Con i refresh token a rotazione ogni rinnovo restituisce un nuovo refresh token e il precedente smette di funzionare, quindi non usare il token salvato altrove; con quelli di lunga durata lo stesso token continua a valere. Entrambi scadono dopo 180 giorni di inutilizzo: in quel caso autorizza di nuovo. Quello che l'AI può fare dipende anche dai privilegi dell'utente Constant Contact che ha effettuato l'accesso (constant_contact_get_user_privileges).
Cosa legge: il riepilogo dell'account, gli indirizzi mittente dell'account con il loro stato di conferma e i privilegi dell'utente collegato. I contatti filtrati per email, stato, liste, tag, segmento o date di creazione, modifica e disiscrizione, con il permesso email, i dettagli di iscrizione e disiscrizione e, su richiesta, liste, tag, campi personalizzati, telefoni, indirizzi e note; il numero di contatti per stato di consenso. Le liste con il numero di iscritti, i tag con il numero di contatti, i campi personalizzati e i segmenti con i loro criteri. Le attività in background e il loro avanzamento. Le campagne email con le loro attività, oggetto, mittente, destinatari e HTML di un'email, un'anteprima HTML, la pianificazione e lo storico degli invii. Report: risultati delle campagne recenti (invii, aperture, clic, inoltri, disiscrizioni, bounce, segnalazioni di spam), statistiche per campagna e per attività, clic per link, i contatti dietro ogni numero e lo storico email e i tassi di apertura e clic di un singolo contatto.
Cosa scrive: aggiunge o aggiorna contatti (constant_contact_create_or_update_contact lavora per email, cambia solo i campi inviati ed è la scelta sicura; constant_contact_update_contact sostituisce l'intero contatto, quindi l'AI lo legge prima), crea e rinomina liste, tag e campi personalizzati, aggiunge e toglie contatti da liste e tag in blocco, crea bozze di campagne email dal tuo HTML, ne imposta i destinatari, le rinomina, invia email di prova e annulla un invio pianificato. Le modifiche massive girano in background e restituiscono un activity_id che l'AI segue con constant_contact_get_activity finché lo stato è completed.
Creare un'email: constant_contact_create_email_campaign crea una bozza dal tuo HTML (email con codice personalizzato, format_type 5). L'HTML deve contenere [[trackingImage]] perché le aperture siano tracciate, e mittente e indirizzo di risposta devono essere indirizzi confermati presi da constant_contact_list_account_emails. Poi constant_contact_update_email_campaign_activity imposta contact_list_ids o segment_ids; sostituisce l'attività, quindi l'AI la legge prima e reinvia tutti i campi. Controlla il risultato con constant_contact_get_email_preview e constant_contact_send_test_email (fino a 5 indirizzi per prova, 50 destinatari di prova al giorno per account).
Disattivati all'installazione: constant_contact_schedule_email_campaign_activity (invia a tutti i contatti delle liste e non si può fermare una volta partito l'invio), constant_contact_delete_contact e constant_contact_delete_contact_list. Un admin del workspace li attiva quando servono al team. Con la pianificazione attiva, l'AI ti mostra oggetto, mittente, destinatari e orario e pianifica solo dopo il tuo sì.
Consenso: aggiungi contatti solo se hanno accettato di ricevere email dall'azienda e non impostare mai permission_to_send su explicit per chi non ha dato il consenso. I contatti disiscritti non possono essere reiscritti tramite API senza una loro azione. Un contatto può stare al massimo in 50 liste.
Formati dei dati: gli id di contatti, liste, tag, campi personalizzati, campagne e attività delle campagne sono UUID; gli id dei segmenti sono interi. Una campagna ha più attività: report, anteprime, prove e pianificazioni vogliono il campaign_activity_id dell'attività primary_email, non il campaign_id. Gli orari sono ISO 8601 in UTC (2026-10-30T14:05:00.000Z). Il current_status di una campagna è Draft, Scheduled, Executing, Done, Error o Removed; permission_to_send è explicit, implicit, not_set, pending_confirmation, temp_hold o unsubscribed. I conteggi dei report sono contatti unici salvo diversa indicazione, e i tassi sono percentuali.
Paginazione: le liste contengono _links.next.href finché ci sono altre pagine. Contatti, liste, tag, campi personalizzati, attività e campagne usano il valore cursor= di quel link come cursor; report e segmenti il valore next= come next. L'AI mantiene gli altri filtri uguali tra una pagina e l'altra.
Limiti: 10.000 richieste al giorno per applicazione (azzerate alle 00:00 UTC) e 4 richieste al secondo; oltre l'uno o l'altro l'API risponde 429 (quota_exceeded o throttled).
Errori comuni: 401 indica un token scaduto o revocato: fai di nuovo clic su Authorize with Provider e verifica che API key e secret appartengano alla stessa applicazione. All'accesso, un errore di redirect significa che la redirect URI non coincide esattamente. 403 è uno scope o un privilegio utente mancante (constant_contact_get_user_privileges mostra quale). 404 è un id sconosciuto. 409 è un'email, una lista, un tag o un nome di campagna già esistente. 400 spiega l'input non valido in error_key e error_message. Un 202 da constant_contact_list_contacts con un segmento significa che il risultato è ancora in preparazione: richiedi di nuovo.
Il connettore non copre eventi, campagne SMS, post social o endpoint per partner, e non crea email con l'editor drag-and-drop.
Step 2 — Installa l'adapter
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
Step 3 — Aggiungi il connettore in ChatGPT
L'URL del tuo server: in AnythingMCP apri MCP Servers → il server su cui si trova questo connettore e copia il suo URL (
https://cloud.anythingmcp.com/mcp/…). Usalo ovunque questa guida mostraYOUR_SERVER_ID.
ChatGPT aggiunge i server MCP come plugin dalla pagina Plugins, sul web e nei piani a pagamento. La modalità sviluppatore non serve più. In un workspace Business possono farlo solo admin e owner; in Enterprise ed Edu un amministratore può concedere il permesso Create plugins with MCPs.
- Vai su chatgpt.com/plugins, clicca + e poi Add custom MCP server.
- Inserisci un nome, ad esempio Name:
Constant Contact. - In Connection inserisci come Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDe lascia Authentication su OAuth. - Seleziona I understand and want to continue, poi Create as a plugin. Quando ChatGPT lo chiede, accedi ad AnythingMCP e consenti l'accesso.
- Installa il nuovo plugin dai tuoi plugin personali, poi digita @ in una chat e selezionalo.
Tool disponibili
| 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 |
Esempi di prompt
- "Come sono andate le nostre ultime tre campagne email? Confronta aperture, clic, disiscrizioni e bounce."
- "Aggiungi [email protected] alla lista Newsletter con nome Anna. Si è iscritta dal nostro sito."
- "Chi ha cliccato il link ai prezzi nella campagna della settimana scorsa? Elenca gli indirizzi email."
- "Crea una bozza di campagna da questo HTML per la lista Clienti VIP e prima di tutto mandami una prova."
- "Assegna il tag webinar-2026 a tutti i contatti della lista Webinar ottobre e dimmi quando la modifica massiva è finita."
FAQ
Il piano free di ChatGPT funziona con i server MCP personalizzati? OpenAI documenta i server MCP personalizzati solo per i piani a pagamento; il piano Free non è nell'elenco.
Prossimi passi
- Landing del connettore
- Collegare a Claude
- Collegare a Cursor
- Collegare a Gemini
- Collegare a Meta Muse
- Collegare a Microsoft Copilot
Questa guida ti è stata utile?