Constant Contact MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Constant Contact MCP ServerShow me my recent email campaigns"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Constant Contact MCP Server
A comprehensive Model Context Protocol (MCP) server for the Constant Contact API v3, providing full access to email marketing, campaign management, contact management, analytics, and automation features.
š Features
Complete API Coverage
Campaigns: Create, edit, clone, schedule, send email campaigns
Contacts: Manage contacts with full CRUD operations, import/export, and advanced search
Lists: Create and manage contact lists with member management
Segments: Build dynamic audience segments with advanced filtering
Tags: Organize contacts with custom tagging system
Templates: Access and manage email templates
Landing Pages: Create and publish landing pages
Reporting: Access campaign analytics, engagement metrics, and bounce reports
Social Media: Schedule and manage social posts
17 Interactive React Applications
Full-featured UI components for visual interaction with Constant Contact data:
Campaign Builder & Dashboard
Contact Management Grid & Detail Views
List Manager with Drag-and-Drop
Segment Builder with Visual Filtering
Tag Manager
Template Gallery
Landing Page Grid
Analytics Dashboards
Import Wizard
Social Media Manager
And more...
Related MCP server: mcp-mautic
š¦ Installation
npm install -g @mcpengine/constant-contact-serverOr use directly with npx:
npx @mcpengine/constant-contact-serverš§ Configuration
Environment Variables
Create a .env file in your project root:
CONSTANT_CONTACT_API_KEY=your_api_key_here
CONSTANT_CONTACT_ACCESS_TOKEN=your_access_token_hereGetting API Credentials
Create a new application
Note your API Key
Complete OAuth2 flow to get Access Token
Store both in your
.envfile
š ļø Available Tools
Campaign Tools (campaigns-tools.ts)
constant-contact-create-campaign
Create a new email campaign.
Parameters:
name(required): Campaign namefrom_name(required): Sender namefrom_email(required): Sender email addressreply_to_email(required): Reply-to email addresssubject(required): Email subject linehtml_content(required): HTML email contentpreheader_text(optional): Preview text
Example:
{
"name": "Spring Sale 2024",
"from_name": "Acme Store",
"from_email": "sales@acme.com",
"reply_to_email": "support@acme.com",
"subject": "šø Spring Sale - 30% Off Everything!",
"html_content": "<html>...</html>",
"preheader_text": "Limited time offer"
}constant-contact-list-campaigns
List all campaigns with optional filtering.
Parameters:
status(optional): Filter by status (DRAFT, SCHEDULED, EXECUTING, DONE, ERROR, REMOVED)limit(optional): Maximum number of results (default: 50)
constant-contact-get-campaign
Get detailed information about a specific campaign.
Parameters:
campaign_id(required): Campaign ID
constant-contact-update-campaign
Update an existing campaign.
Parameters:
campaign_id(required): Campaign IDname(optional): New campaign namefrom_name(optional): New sender namefrom_email(optional): New sender emailreply_to_email(optional): New reply-to emailsubject(optional): New subject linehtml_content(optional): New HTML content
constant-contact-delete-campaign
Delete a campaign.
Parameters:
campaign_id(required): Campaign ID
constant-contact-schedule-campaign
Schedule a campaign for future delivery.
Parameters:
campaign_id(required): Campaign IDscheduled_date(required): ISO 8601 timestamp (e.g., "2024-03-15T10:00:00Z")
constant-contact-send-test-email
Send a test email to specified addresses.
Parameters:
campaign_id(required): Campaign IDemail_addresses(required): Array of recipient emailspersonal_message(optional): Custom message for test email
constant-contact-clone-campaign
Clone an existing campaign.
Parameters:
campaign_id(required): Source campaign IDnew_name(required): Name for cloned campaign
Contact Tools (contacts-tools.ts)
constant-contact-create-contact
Create a new contact.
Parameters:
email_address(required): Contact email addressfirst_name(optional): First namelast_name(optional): Last namejob_title(optional): Job titlecompany_name(optional): Company namephone_number(optional): Phone numberlist_memberships(optional): Array of list IDs to add contact to
constant-contact-list-contacts
List contacts with optional filtering.
Parameters:
first_name(optional): Filter by first namelast_name(optional): Filter by last nameemail(optional): Filter by emaillist_id(optional): Filter by list membershiplimit(optional): Maximum results
constant-contact-get-contact
Get detailed contact information.
Parameters:
contact_id(required): Contact ID
constant-contact-update-contact
Update contact information.
Parameters:
contact_id(required): Contact IDemail_address(optional): New emailfirst_name(optional): New first namelast_name(optional): New last namejob_title(optional): New job titlecompany_name(optional): New company namephone_number(optional): New phone numberlist_memberships(optional): Updated list memberships
constant-contact-delete-contact
Delete a contact.
Parameters:
contact_id(required): Contact ID
constant-contact-import-contacts
Import contacts from CSV data.
Parameters:
csv_data(required): CSV formatted contact datalist_ids(required): Array of list IDs to add contacts tofile_name(required): Name for the import file
List Tools (lists-tools.ts)
constant-contact-create-list
Create a new contact list.
Parameters:
name(required): List namedescription(optional): List descriptionfavorite(optional): Mark as favorite (boolean)
constant-contact-list-lists
Get all contact lists.
Parameters:
limit(optional): Maximum resultsinclude_count(optional): Include member count
constant-contact-get-list
Get list details including member count.
Parameters:
list_id(required): List ID
constant-contact-update-list
Update list information.
Parameters:
list_id(required): List IDname(optional): New list namedescription(optional): New descriptionfavorite(optional): Update favorite status
constant-contact-delete-list
Delete a list.
Parameters:
list_id(required): List ID
constant-contact-add-contacts-to-list
Add contacts to a list.
Parameters:
list_id(required): List IDcontact_ids(required): Array of contact IDs
constant-contact-remove-contacts-from-list
Remove contacts from a list.
Parameters:
list_id(required): List IDcontact_ids(required): Array of contact IDs
Segment Tools (segments-tools.ts)
constant-contact-create-segment
Create a dynamic audience segment.
Parameters:
name(required): Segment namefilter_criteria(required): JSON filter criteria objectdescription(optional): Segment description
constant-contact-list-segments
List all segments.
Parameters:
limit(optional): Maximum results
constant-contact-get-segment
Get segment details and member count.
Parameters:
segment_id(required): Segment ID
constant-contact-update-segment
Update segment configuration.
Parameters:
segment_id(required): Segment IDname(optional): New segment namefilter_criteria(optional): Updated filter criteriadescription(optional): New description
constant-contact-delete-segment
Delete a segment.
Parameters:
segment_id(required): Segment ID
Tag Tools (tags-tools.ts)
constant-contact-create-tag
Create a new tag.
Parameters:
name(required): Tag namedescription(optional): Tag description
constant-contact-list-tags
List all tags.
Parameters:
limit(optional): Maximum results
constant-contact-get-tag
Get tag details and contact count.
Parameters:
tag_id(required): Tag ID
constant-contact-update-tag
Update tag information.
Parameters:
tag_id(required): Tag IDname(optional): New tag namedescription(optional): New description
constant-contact-delete-tag
Delete a tag.
Parameters:
tag_id(required): Tag ID
constant-contact-tag-contacts
Add tags to contacts.
Parameters:
tag_id(required): Tag IDcontact_ids(required): Array of contact IDs
constant-contact-untag-contacts
Remove tags from contacts.
Parameters:
tag_id(required): Tag IDcontact_ids(required): Array of contact IDs
Template Tools (templates-tools.ts)
constant-contact-list-templates
List all email templates.
Parameters:
type(optional): Filter by template typelimit(optional): Maximum results
constant-contact-get-template
Get template details and HTML content.
Parameters:
template_id(required): Template ID
Landing Page Tools (landing-pages-tools.ts)
constant-contact-create-landing-page
Create a new landing page.
Parameters:
name(required): Page namehtml_content(required): HTML contentdescription(optional): Page description
constant-contact-list-landing-pages
List all landing pages.
Parameters:
status(optional): Filter by status (DRAFT, ACTIVE, INACTIVE)limit(optional): Maximum results
constant-contact-get-landing-page
Get landing page details and analytics.
Parameters:
page_id(required): Landing page ID
constant-contact-update-landing-page
Update landing page.
Parameters:
page_id(required): Page IDname(optional): New page namehtml_content(optional): Updated HTMLstatus(optional): New status
constant-contact-delete-landing-page
Delete a landing page.
Parameters:
page_id(required): Page ID
constant-contact-publish-landing-page
Publish a landing page (make it live).
Parameters:
page_id(required): Page ID
Reporting Tools (reporting-tools.ts)
constant-contact-get-campaign-stats
Get comprehensive campaign statistics.
Parameters:
campaign_id(required): Campaign ID
constant-contact-list-bounce-reports
List bounce reports for a campaign.
Parameters:
campaign_id(required): Campaign IDbounce_code(optional): Filter by bounce code
constant-contact-get-click-stats
Get click-through statistics.
Parameters:
campaign_id(required): Campaign ID
constant-contact-get-open-stats
Get email open statistics.
Parameters:
campaign_id(required): Campaign ID
Social Media Tools (social-tools.ts)
constant-contact-schedule-social-post
Schedule a social media post.
Parameters:
content(required): Post contentplatforms(required): Array of platforms (FACEBOOK, TWITTER, LINKEDIN)scheduled_date(required): ISO 8601 timestampimage_url(optional): Image URL
constant-contact-list-social-posts
List scheduled and published social posts.
Parameters:
status(optional): Filter by statuslimit(optional): Maximum results
constant-contact-delete-social-post
Delete a scheduled social post.
Parameters:
post_id(required): Social post ID
šØ React Applications
Campaign Management
campaign-builder: Full-featured drag-and-drop campaign editor
campaign-dashboard: Overview of all campaigns with metrics
campaign-detail: Detailed campaign view with analytics
Contact Management
contact-dashboard: Contact overview with search and filters
contact-detail: Individual contact view with activity history
contact-grid: Sortable, filterable contact table
import-wizard: Step-by-step contact import interface
List & Segment Management
list-manager: Create and manage contact lists
segment-builder: Visual segment creation with filter builder
tag-manager: Tag creation and assignment interface
Content & Templates
template-gallery: Browse and preview email templates
landing-page-grid: Manage landing pages
Analytics & Reporting
report-dashboard: High-level analytics overview
report-detail: Detailed campaign performance
engagement-chart: Visual engagement metrics
bounce-report: Bounce analysis and management
Social Media
social-manager: Schedule and manage social posts
š Usage with Claude Desktop
Add to your Claude Desktop configuration:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"constant-contact": {
"command": "npx",
"args": ["-y", "@mcpengine/constant-contact-server"],
"env": {
"CONSTANT_CONTACT_API_KEY": "your_api_key",
"CONSTANT_CONTACT_ACCESS_TOKEN": "your_access_token"
}
}
}
}š” Example Use Cases
1. Create and Send a Campaign
User: "Create a welcome email campaign for new subscribers"
Claude uses:
1. constant-contact-create-campaign - Create campaign
2. constant-contact-send-test-email - Test it
3. constant-contact-schedule-campaign - Schedule delivery2. Segment Audience
User: "Create a segment of contacts who opened my last 3 campaigns"
Claude uses:
1. constant-contact-list-campaigns - Get recent campaigns
2. constant-contact-get-campaign-stats - Get engagement data
3. constant-contact-create-segment - Create dynamic segment3. Import and Organize Contacts
User: "Import these 100 contacts and add them to my VIP list"
Claude uses:
1. constant-contact-import-contacts - Import CSV
2. constant-contact-create-list - Create VIP list
3. constant-contact-add-contacts-to-list - Add imported contactsšļø Architecture
constant-contact/
āāā src/
ā āāā main.ts # MCP server entry point
ā āāā clients/
ā ā āāā constant-contact.ts # API client with rate limiting
ā āāā tools/
ā ā āāā campaigns-tools.ts # 8 campaign tools
ā ā āāā contacts-tools.ts # 6 contact tools
ā ā āāā lists-tools.ts # 7 list tools
ā ā āāā segments-tools.ts # 5 segment tools
ā ā āāā tags-tools.ts # 6 tag tools
ā ā āāā templates-tools.ts # 2 template tools
ā ā āāā landing-pages-tools.ts # 6 landing page tools
ā ā āāā reporting-tools.ts # 4 reporting tools
ā ā āāā social-tools.ts # 3 social media tools
ā āāā ui/
ā āāā react-app/ # 17 interactive applications
āāā package.json
āāā tsconfig.jsonš Tool Count
Total Tools: 47 MCP tools across 9 categories
React Apps: 17 interactive user interfaces
API Coverage: 95%+ of Constant Contact v3 API
š Rate Limiting & Best Practices
The server includes built-in rate limiting:
Automatic retry with exponential backoff
Request queuing to prevent API throttling
Configurable rate limits per endpoint
š”ļø Error Handling
All tools include comprehensive error handling:
API errors with detailed messages
Validation errors for required parameters
Network error recovery
Rate limit detection and handling
š¦ API Limits
Constant Contact API limits:
10 requests per second
10,000 requests per day (varies by plan)
Contact import: 40,000 contacts per import
š License
MIT
š¤ Contributing
Contributions welcome! Please submit issues and pull requests to the mcpengine repository.
š Resources
š Support
For issues and questions:
GitHub Issues: mcpengine repository
API Issues: Constant Contact Support
Built with ā¤ļø by MCP Engine
This server cannot be deployed
Maintenance
Related MCP Connectors
- EusendOAuthdev.eusend
Send transactional email and manage domains, audiences, and broadcasts from any MCP client.
Create, schedule, and publish social posts, manage accounts, and read analytics as MCP tools.
- sendifaiOAuthcom.sendifai
335 MCP tools, 75 playbooks. AI-native CRM, email/SMS, events, OAuth.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceAI-native email marketing platform built for agents. Control campaigns, automations, contacts, templates, and analytics via MCP with OAuth authentication.265 npm162MIT
- AlicenseNot gradedqualityFmaintenanceComprehensive MCP server for the Mautic marketing automation API, providing 203 tools for managing contacts, campaigns, emails, segments, and more.2ISC
- AlicenseCqualityDmaintenanceComprehensive MCP server for Mailchimp Marketing API v3.0 with over 104 tools and 15+ React UI apps, enabling management of campaigns, audiences, ecommerce, automations, reports, and more via natural language.1001MIT
- AlicenseNot gradedqualityCmaintenanceEnables sending transactional email and campaigns, managing contacts and templates, and reading delivery reports and wallet usage from any MCP client.MIT