Skip to main content
Glama
kanopi

Campaign Monitor MCP Server

by kanopi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CM_SCOPESNoScopes requested during OAuth flow
CM_API_KEYNoFallback API key (HTTP Basic auth) used when no OAuth refresh token is available
CM_CLIENT_IDNoOAuth application client ID from Campaign Monitor
CM_TOKEN_STORENoPath to the token store file (default: ~/.campaign-monitor-mcp/tokens.json)
CM_REDIRECT_URINoOAuth redirect URI (default: http://127.0.0.1:53682/callback)http://127.0.0.1:53682/callback
CM_CLIENT_SECRETNoOAuth application client secret from Campaign Monitor
CM_REFRESH_TOKENNoOAuth refresh token obtained from npm run auth
CM_ENABLED_CATEGORIESNoComma-separated list of categories to limit exposed tools (e.g., campaigns,lists,subscribers)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
cm_list_clientsA

List all clients in your Campaign Monitor account.

cm_get_billing_detailsA

Get the account's billing details and credit balance.

cm_list_countriesA

Get the list of valid country names accepted by the API.

cm_list_timezonesA

Get the list of valid timezone names accepted by the API.

cm_get_system_dateA

Get the current date and time in the account's timezone.

cm_list_adminsA

List all (active or invited) administrators on the account.

cm_get_adminA

Get details for a specific administrator by email address.

cm_add_adminB

Add a new administrator to the account.

cm_update_adminB

Update an administrator's email address and/or name.

cm_delete_adminA

⚠️ Remove an administrator's access from the account.

cm_get_account_primary_contactA

Get the account's primary contact email address.

cm_set_account_primary_contactA

Set the account's primary contact to an existing administrator.

cm_create_external_sessionC

Initiate an external single-sign-on login session for a member, returning a URL to the Campaign Monitor UI.

cm_create_clientB

Create a new client in the account.

cm_get_clientA

Get full details for a client, including API key and billing settings.

cm_delete_clientA

⚠️ Permanently delete a client from the account.

cm_get_client_listsA

Get all subscriber lists belonging to a client.

cm_get_lists_for_emailA

Find all of a client's lists that a specific email address is subscribed to.

cm_get_client_segmentsA

Get all segments across all of a client's lists.

cm_get_client_suppression_listB

Get the client's suppression list (paged).

cm_suppress_emailsB

Add one or more email addresses to a client's suppression list.

cm_unsuppress_emailA

Remove an email address from a client's suppression list.

cm_get_client_templatesA

Get all templates belonging to a client.

cm_set_client_basicsA

Update a client's basic details (company name, country, timezone).

cm_set_client_payg_billingA

Configure pay-as-you-go (PAYG) billing settings for a client.

cm_set_client_monthly_billingC

Configure monthly billing settings for a client.

cm_transfer_creditsA

Transfer email credits to or from a client (negative to take credits back).

cm_list_peopleA

List all (active or invited) people for a client.

cm_get_personA

Get details for a specific person on a client by email.

cm_add_personB

Add a new person to a client account.

cm_update_personB

Update an existing person on a client account.

cm_delete_personB

⚠️ Delete a person from a client account.

cm_get_client_primary_contactA

Get a client's primary contact email address.

cm_set_client_primary_contactB

Set a client's primary contact to an existing person.

cm_get_client_tagsA

Get all campaign tags for a client with their campaign counts.

cm_get_client_sent_campaignsA

Get a client's sent campaigns.

cm_get_client_scheduled_campaignsA

Get a client's currently scheduled campaigns.

cm_get_client_draftsA

Get a client's draft campaigns.

cm_get_sending_domainsA

Get all sending domains for a client and their verification status.

cm_add_sending_domainB

Add a new sending domain to a client.

cm_delete_sending_domainA

⚠️ Remove a sending domain from a client.

cm_copy_sending_domainB

Copy a verified sending domain from another client to this client.

cm_authenticate_sending_domainB

Verify/authenticate the DNS records for a client's sending domain.

cm_create_campaignB

Create a draft campaign from HTML/text content for a client.

cm_create_campaign_from_templateB

Create a draft campaign from a saved template for a client.

cm_send_campaignA

⚠️ Send a draft campaign immediately or schedule it. SendDate 'Immediately' sends now; otherwise provide a date in the client's timezone (YYYY-MM-DD HH:MM).

cm_send_campaign_previewA

Send a preview/test of a draft campaign to specific recipients.

cm_unschedule_campaignA

Cancel a scheduled campaign and return it to draft status.

cm_delete_campaignA

⚠️ Permanently delete a campaign (draft, scheduled, or sent) from the account.

cm_get_campaign_summaryA

Get a campaign's overall performance summary (opens, clicks, bounces, etc.).

cm_get_campaign_email_client_usageA

Get the email clients used to open a campaign.

cm_get_campaign_lists_and_segmentsA

Get the lists and segments a campaign was sent to.

cm_get_campaign_recipientsA

Get the paged list of recipients a campaign was sent to.

cm_get_campaign_opensA

Get paged campaign opens with timestamps and geolocation.

cm_get_campaign_clicksA

Get paged campaign link clicks with URLs, timestamps and geolocation.

cm_get_campaign_bouncesA

Get paged campaign bounces with bounce type and reason.

cm_get_campaign_unsubscribesB

Get paged campaign unsubscribes with timestamps.

cm_get_campaign_spam_complaintsB

Get paged spam complaints for a campaign.

cm_create_listB

Create a new subscriber list for a client.

cm_get_listB

Get a list's details and configuration.

cm_update_listB

Update a list's settings.

cm_delete_listA

⚠️ Permanently delete a list and all its subscribers.

cm_get_list_statsC

Get subscriber statistics for a list.

cm_get_custom_fieldsA

Get all custom fields defined on a list.

cm_create_custom_fieldC

Create a new custom field on a list.

cm_update_custom_fieldB

Update a custom field's name and preference-center visibility.

cm_update_custom_field_optionsA

Update the selectable options of a multi-valued custom field.

cm_delete_custom_fieldA

⚠️ Delete a custom field from a list.

cm_get_active_subscribersA

Get a list's active subscribers (paged, optionally since a date).

cm_get_unconfirmed_subscribersA

Get a list's unconfirmed subscribers (paged).

cm_get_unsubscribed_subscribersB

Get a list's unsubscribed subscribers (paged).

cm_get_bounced_subscribersA

Get a list's bounced subscribers (paged).

cm_get_deleted_subscribersA

Get a list's deleted subscribers (paged).

cm_get_list_segmentsB

Get all segments defined on a list.

cm_get_list_webhooksA

Get all webhooks configured on a list.

cm_create_webhookB

Create a webhook on a list for subscribe/deactivate/update events.

cm_delete_webhookA

⚠️ Delete a webhook from a list.

cm_test_webhookB

Send a test event to a webhook to verify its endpoint.

cm_activate_webhookB

Activate (enable) a webhook on a list.

cm_deactivate_webhookA

Deactivate (disable) a webhook on a list.

cm_create_segmentB

Create a new segment on a list with the given rule groups.

cm_update_segmentA

Update a segment's title and replace its rule groups.

cm_add_segment_rulegroupA

Add a rule group to an existing segment without removing current rules.

cm_get_segmentA

Get a segment's name, list ID, and active subscriber count.

cm_get_segment_subscribersA

Get the active subscribers matching a segment's rules (paged).

cm_clear_segment_rulesA

⚠️ Clear all rules and rule groups from a segment.

cm_delete_segmentC

⚠️ Delete a segment from its list.

cm_add_subscriberB

Add (or resubscribe) a subscriber to a list.

cm_update_subscriberA

Update an existing subscriber's details (identified by current email).

cm_import_subscribersC

Bulk-add many subscribers to a list in a single request.

cm_get_subscriberA

Get a subscriber's details including state and custom fields.

cm_get_subscriber_historyB

Get a subscriber's campaign and workflow email activity history.

cm_unsubscribe_subscriberB

Unsubscribe an active subscriber from a list.

cm_delete_subscriberB

⚠️ Mark a subscriber as deleted from a list.

cm_get_templateA

Get the basic details of a template (name, preview URLs, screenshot).

cm_create_templateB

Create a new template for a client from hosted HTML (and optional ZIP of assets).

cm_update_templateA

Update an existing template's name and file URLs.

cm_copy_templateA

Copy a template to a nominated destination client.

cm_delete_templateB

⚠️ Delete a template.

cm_list_smart_emailsB

List smart transactional emails, optionally filtered by status and client.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kanopi/campaign-monitor-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server