Misar Docs
MisarMailMisar.BlogMisarReachMisarPostMisar.DevMisar PlatformMisar IdentityMisar Posts API
Mcp

MCP Tools Reference

Complete reference for all 36 MisarMail MCP tools — inputs, required fields, and example responses.

All tools are exposed by the misar-mail MCP server. Authentication is handled automatically via MISARMAIL_API_KEY. All responses are JSON strings.

Send

send_email

Send a transactional email.

Required: from, to, subject

ParameterTypeDescription
fromobject{ email: string (required), name?: string }
toarrayRecipients [{ email, name? }] — 1–100 addresses
ccarrayCC [{ email, name? }] — max 50
bccarrayBCC [{ email, name? }] — max 50
reply_toobject{ email, name? }
subjectstringMax 998 chars
htmlstringHTML body — max 500 KB
textstringPlain text body — max 500 KB
alias_idstringRoute via a specific SMTP pool
idempotency_keystringPrevent duplicate sends — max 128 chars
tagsarrayTracking tags — max 10, each max 64 chars
metadataobjectCustom key-value pairs — max 20 pairs

Campaigns

list_campaigns

List campaigns with optional status filter.

ParameterTypeDescription
pagenumberPage number (default: 1)
limitnumberMax 50 (default: 20)
statusstringdraft | scheduled | sending | sent | paused | cancelled

get_campaign

Required: campaign_id

ParameterTypeDescription
campaign_idstringCampaign UUID

create_campaign

Required: name, subject, fromName, fromEmail

ParameterTypeDescription
namestringCampaign name — max 100 chars
subjectstringSubject line — max 255 chars
fromNamestringSender display name
fromEmailstringSender email address
replyTostringReply-to address
bodyHtmlstringHTML body — max 500 KB
bodyTextstringPlain text body
templateIdstringTemplate UUID
segmentIdstringContact segment UUID
scheduledAtstringISO 8601 future datetime

send_campaign

Required: campaign_id

ParameterTypeDescription
campaign_idstringCampaign UUID to send immediately

Contacts

list_contacts

ParameterTypeDescription
pagenumberPage (default: 1)
limitnumberMax 100 (default: 20)
statusstringsubscribed | unsubscribed | bounced | complained
searchstringSearch by email, first name, or last name

create_contact

Required: email

ParameterTypeDescription
emailstringContact email address
firstNamestringFirst name
lastNamestringLast name
statusstringsubscribed | unsubscribed (default: subscribed)
sourcestringSource identifier — max 255 chars
tagsarrayTags to assign — max 50
customFieldsobjectCustom key-value pairs — max 50 keys

import_contacts

Required: contacts

ParameterTypeDescription
contactsarrayArray of { email (required), firstName?, lastName?, status?, tags? }

Analytics

get_analytics

ParameterTypeDescription
campaign_idstringUUID for per-campaign stats; omit for account-level
startDatestringYYYY-MM-DD (default: 30 days ago)
endDatestringYYYY-MM-DD (default: today)
groupBystringday | week | month (default: day)

Templates

list_templates

ParameterTypeDescription
pagenumberPage (default: 1)
limitnumberMax 50 (default: 20)
typestringmarketing | transactional | automation

create_template

Required: name, subject, bodyHtml

ParameterTypeDescription
namestringTemplate name — max 100 chars
descriptionstringOptional description — max 1000 chars
subjectstringSubject line — max 255 chars
bodyHtmlstringHTML body — max 500 KB
bodyTextstringPlain text fallback
templateTypestringmarketing | transactional | automation
variablesarrayVariable names used in template — max 100

render_template

Required: template_id

ParameterTypeDescription
template_idstringTemplate UUID
variablesobjectKey-value pairs for {{variable}} substitution

Validation

validate_email

Validate one or up to 500 email addresses. Checks syntax, MX records, SMTP reachability, disposable/role addresses. Deducts credits.

ParameterTypeDescription
emailstringSingle address (use this OR emails, not both)
emailsarrayBatch up to 500 addresses
options.skip_smtpbooleanSkip SMTP check (faster, less accurate)

Sandbox

list_sandbox_sends

No parameters. Returns up to 50 most recent sandbox test sends. Sandbox sends do not deliver real email.

clear_sandbox

No parameters. Clears all sandbox send records for the authenticated user.


AI

generate_subject_lines

Generate AI-optimized subject lines. Rate-limited to 10 req/min.

Required: topic

ParameterTypeDescription
topicstringCampaign topic or content summary — 5–500 chars
tonestringprofessional | casual | urgent | playful | informative (default: professional)
audiencestringTarget audience description — max 200 chars
countnumberNumber of suggestions — 1–10 (default: 5)
brandstringBrand name for context — max 100 chars

A/B Testing

list_ab_tests

ParameterTypeDescription
pagenumberPage (default: 1)
limitnumberMax 50 (default: 20)
typestringcampaign | subject

create_ab_test

Required: campaign_id, variant

ParameterTypeDescription
campaign_idstringCampaign UUID
variantstringVariant label — 1–5 chars, e.g. "B"
test_typestringcontent | subject | send_time | from_name | preheader
subjectstringVariant subject (for subject test)
preheaderstringVariant preheader — max 255 chars
body_htmlstringVariant HTML — max 500 KB
from_namestringVariant sender name — max 100 chars
send_percentnumberAudience % for variant — 1–99 (default: 50)
auto_select_winnerbooleanAuto-select winner after wait
winner_wait_hoursnumberHours before auto-select — 1–168 (default: 4)

select_ab_test_winner

Required: test_id, winner_variant

ParameterTypeDescription
test_idstringA/B test UUID
winner_variantstringVariant label to declare winner
metricstringopens | clicks | revenue | conversions (default: opens)

Inbox

list_inbox_conversations

List unified-inbox conversations, ordered by last activity.

ParameterTypeDescription
statusstringactive | closed | snoozed (default: active)
intentstringFilter by detected intent
channelstringFilter by channel (e.g. email)
qstringSearch by lead email or name
limitnumberMax 100 (default: 50)
offsetnumberPagination offset (default: 0)

get_inbox_conversation_messages

Required: conversation_id

ParameterTypeDescription
conversation_idstringConversation UUID — returns all messages chronologically

categorize_inbox_emails

Required: email_ids

ParameterTypeDescription
email_idsarrayArray of email UUIDs (1–100) — AI intent + category detection

Automations

list_automations

ParameterTypeDescription
pagenumberPage (default: 1)
limitnumberMax 50 (default: 20)
statusstringactive | paused | draft

get_automation

Required: automation_id

ParameterTypeDescription
automation_idstringAutomation UUID — returns trigger + steps

toggle_automation

Required: automation_id, active

ParameterTypeDescription
automation_idstringAutomation UUID
activebooleantrue to activate, false to pause

Domains

list_domains

ParameterTypeDescription
pagenumberPage (default: 1)
limitnumberMax 50 (default: 20)

add_domain

Required: domain

ParameterTypeDescription
domainstringDomain name to add — e.g. mail.example.com

verify_domain

Required: domain_id

ParameterTypeDescription
domain_idstringDomain UUID — triggers DNS verification check

Forms

list_forms

ParameterTypeDescription
pagenumberPage (default: 1)
limitnumberMax 50 (default: 20)
statusstringactive | inactive

get_form

Required: form_id

ParameterTypeDescription
form_idstringForm UUID — returns form config + embed code

get_form_submissions

Required: form_id

ParameterTypeDescription
form_idstringForm UUID
pagenumberPage (default: 1)
limitnumberMax 50 (default: 20)

Integrations

list_integrations

ParameterTypeDescription
pagenumberPage (default: 1)
limitnumberMax 50 (default: 20)

get_integration

Required: integration_id

ParameterTypeDescription
integration_idstringIntegration UUID

toggle_integration

Required: integration_id, enabled

ParameterTypeDescription
integration_idstringIntegration UUID
enabledbooleantrue to enable, false to disable

Marketplace

list_marketplace_items

ParameterTypeDescription
categorystringtemplate | integration | addon
searchstringSearch query
pagenumberPage (default: 1)
limitnumberMax 50 (default: 20)

get_marketplace_item

Required: item_id

ParameterTypeDescription
item_idstringMarketplace item ID — returns pricing and full details

Looking for lead finding, prospecting, or multi-channel outreach? Those features live in MisarReach (reach.misar.io), not MisarMail.