MCP Server

Mailcannon

io.github.AinaLuc/mailcannon

What this MCP does

Creates and operates email outreach campaigns with contact management, sequencing, scheduling, provider configuration, spam checks, domain deliverability checks, and engagement metrics.

add_campaign_step
Add a sequence step (delay in hours, subject, body)
Input schema
{'type': 'object', 'required': ['campaignId', 'day', 'subject', 'body'], 'properties': {'day': {'type': 'number', 'description': 'Delay in hours'}, 'body': {'type': 'string'}, 'subject': {'type': 'string'}, 'campaignId': {'type': 'string'}}}
add_contact
Add a single contact
Input schema
{'type': 'object', 'required': ['email', 'firstName'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}}, 'email': {'type': 'string'}, 'title': {'type': 'string'}, 'company': {'type': 'string'}, 'lastName': {'type': 'string'}, 'firstName': {'type': 'string'}}}
add_contacts
Bulk add contacts (max 100)
Input schema
{'type': 'object', 'required': ['contacts'], 'properties': {'contacts': {'type': 'array', 'items': {'type': 'object', 'required': ['email', 'firstName'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}}, 'email': {'type': 'string'}, 'title': {'type': 'string'}, 'company': {'type': 'string'}, 'lastName': {'type': 'string'}, 'firstName': {'type': 'string'}}}}}}
add_provider
Add an email provider
Input schema
{'type': 'object', 'required': ['name', 'kind'], 'properties': {'env': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'url': {'type': 'string'}, 'args': {'type': 'array', 'items': {'type': 'string'}}, 'kind': {'enum': ['gmail', 'zoho'], 'type': 'string'}, 'name': {'type': 'string'}, 'command': {'type': 'string'}, 'transport': {'enum': ['stdio', 'sse'], 'type': 'string'}}}
check_domain_deliverability
Check SPF, DKIM, DMARC records for a domain
Input schema
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain to check (e.g. thinkandautomate.dev)'}}}
check_email_spam_score
Analyze email subject/body for spam trigger words
Input schema
{'type': 'object', 'required': ['subject', 'body'], 'properties': {'body': {'type': 'string'}, 'subject': {'type': 'string'}}}
check_step_spam_score
Check a campaign step's subject and body for spam triggers
Input schema
{'type': 'object', 'required': ['stepId'], 'properties': {'stepId': {'type': 'string'}}}
create_campaign
Create a new email campaign
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}}}
create_task
Create a new task
Input schema
{'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string'}, 'dueDate': {'type': 'string', 'description': 'ISO date (optional)'}, 'priority': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'description': {'type': 'string'}}}
delete_campaign
Delete a campaign and all its steps
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}}
delete_campaign_step
Delete a step from a campaign
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}}
delete_task
Delete a task by ID
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}}
get_deliverability
Get deliverability stats (sent, opens, bounces, replies)
Input schema
{'type': 'object', 'properties': {}}
get_setting
Get a user setting (e.g. timezone)
Input schema
{'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string'}}}
list_campaigns
List all campaigns with their steps
Input schema
{'type': 'object', 'properties': {}}
list_contacts
List all contacts
Input schema
{'type': 'object', 'properties': {}}
list_providers
List all email providers
Input schema
{'type': 'object', 'properties': {}}
list_schedules
List all scheduled campaign runs
Input schema
{'type': 'object', 'properties': {}}
list_settings
List all user settings
Input schema
{'type': 'object', 'properties': {}}
list_tags
List all unique tags across your contacts
Input schema
{'type': 'object', 'properties': {}}
list_tasks
List all tasks
Input schema
{'type': 'object', 'properties': {}}
pause_campaign
Pause a campaign — stops processing all active schedules for this campaign
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}}
process_campaigns
Process all due campaign schedules (includeFailed: true to retry failed ones)
Input schema
{'type': 'object', 'properties': {'includeFailed': {'type': 'boolean', 'description': 'Also retry failed schedules'}}}
remove_contact
Remove a contact by ID
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}}
remove_provider
Remove a provider by ID
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}}
resume_campaign
Resume a paused campaign — reactivates all paused schedules
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}}
retry_failed
Reset all failed schedules to active for retry
Input schema
{'type': 'object', 'properties': {}}
schedule_campaign
Assign contacts to a campaign and schedule it
Input schema
{'type': 'object', 'required': ['campaignId'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Filter contacts by tag (overrides contactIds)'}, 'startAt': {'type': 'string', 'description': 'ISO date (optional)'}, 'campaignId': {'type': 'string'}, 'contactIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Contact IDs (ignored if tags provided)'}, 'providerId': {'type': 'string', 'description': 'Provider ID (optional)'}}}
send_test_email
Send a test email to yourself to preview formatting
Input schema
{'type': 'object', 'required': ['subject', 'body'], 'properties': {'body': {'type': 'string'}, 'subject': {'type': 'string'}, 'providerId': {'type': 'string', 'description': 'Provider ID (optional, uses first available)'}}}
set_setting
Set a user setting (e.g. timezone to 'America/New_York')
Input schema
{'type': 'object', 'required': ['key', 'value'], 'properties': {'key': {'type': 'string'}, 'value': {'type': 'string'}}}
update_campaign
Update a campaign's name
Input schema
{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}}
update_campaign_step
Update a campaign step's day, subject, or body
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'day': {'type': 'number', 'description': 'Delay in hours'}, 'body': {'type': 'string'}, 'subject': {'type': 'string'}}}
update_contact_tags
Set tags on a contact (replaces all tags)
Input schema
{'type': 'object', 'required': ['id', 'tags'], 'properties': {'id': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}}}
update_task
Update a task's status, priority, or fields
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'enum': ['pending', 'in_progress', 'completed', 'cancelled'], 'type': 'string'}, 'dueDate': {'type': 'string'}, 'priority': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'description': {'type': 'string'}}}
Added
check_step_spam_score
Sept. 17, 2026, 12:40 p.m.
Added
retry_failed
Sept. 17, 2026, 12:40 p.m.
Added
resume_campaign
Sept. 17, 2026, 12:40 p.m.
Added
pause_campaign
Sept. 17, 2026, 12:40 p.m.
Added
check_email_spam_score
Sept. 17, 2026, 12:40 p.m.
Added
check_domain_deliverability
Sept. 17, 2026, 12:40 p.m.
Added
send_test_email
Sept. 17, 2026, 12:40 p.m.
Added
list_settings
Sept. 17, 2026, 12:40 p.m.
Added
set_setting
Sept. 17, 2026, 12:40 p.m.
Added
get_setting
Sept. 17, 2026, 12:40 p.m.
Added
delete_task
Sept. 17, 2026, 12:40 p.m.
Added
update_task
Sept. 17, 2026, 12:40 p.m.
Added
list_tasks
Sept. 17, 2026, 12:40 p.m.
Added
create_task
Sept. 17, 2026, 12:40 p.m.
Added
get_deliverability
Sept. 17, 2026, 12:40 p.m.
Added
remove_provider
Sept. 17, 2026, 12:40 p.m.
Added
list_providers
Sept. 17, 2026, 12:40 p.m.
Added
add_provider
Sept. 17, 2026, 12:40 p.m.
Added
process_campaigns
Sept. 17, 2026, 12:40 p.m.
Added
list_schedules
Sept. 17, 2026, 12:40 p.m.
Added
schedule_campaign
Sept. 17, 2026, 12:40 p.m.
Added
update_campaign_step
Sept. 17, 2026, 12:40 p.m.
Added
delete_campaign_step
Sept. 17, 2026, 12:40 p.m.
Added
update_campaign
Sept. 17, 2026, 12:40 p.m.
Added
delete_campaign
Sept. 17, 2026, 12:40 p.m.
Added
list_campaigns
Sept. 17, 2026, 12:40 p.m.
Added
add_campaign_step
Sept. 17, 2026, 12:40 p.m.
Added
create_campaign
Sept. 17, 2026, 12:40 p.m.
Added
list_tags
Sept. 17, 2026, 12:40 p.m.
Added
update_contact_tags
Sept. 17, 2026, 12:40 p.m.