Horizontal

WorksWork and collaborationMarketing and social

MisarMail MCP Server

Send transactional email, run campaigns, manage contacts and automations, audit deliverability.

Addresshttps://api.misar.io/mail/mcp
Claude Codeclaude mcp add --transport http misarmail-mcp https://api.misar.io/mail/mcp
For Cursor and other clients
{
  "mcpServers": {
    "misarmail-mcp": {
      "type": "http",
      "url": "https://api.misar.io/mail/mcp"
    }
  }
}

It asks for: Authorization

Watch out

Has tools that change things: 5 of them

The server itself marks these tools as deleting or overwriting data (destructiveHint): have the agent ask you before it calls them.

Test
Works: Handshake succeeded
Tools
55 tools
Handshake
735 ms
Transport
streamable-http · 2025-06-18
Tested
6 November 2026
Registry name
io.github.Misar-AI/misarmail-mcp v5.1.2
Listed
19 August 2026
Updated
19 August 2026
Website
www.misarmail.com
Source
github.com/Misar-AI/misarmail-mcp
Also as a package
1 package
The last 1 tests
WhenResultTime
2026-11-06 12:42 UTCHandshake succeeded735 ms

The 55 tools it listed

"Read only" and "Changes data" are the server's own marks. Underlined parameters are required.

  1. add_domain

    Add a sending domain and return the DNS records to publish. The domain cannot send until those records are live and verify_domain succeeds.

    domain

  2. archive_email

    Move an email to the archive folder. Reversible — the message is not deleted.

    id

  3. categorize_inbox_emails

    Run AI categorisation over a batch of inbox emails to label intent and priority. Consumes AI credits — pass only the emails you actually need triaged.

    email_ids

  4. check_dmarcRead only

    Check live SPF, DKIM, and DMARC DNS records for a domain and report alignment problems with the exact record to publish. Works for any domain, not only your own.

    domain

  5. clear_sandboxChanges data

    Delete every captured sandbox email. Affects only intercepted test messages, never real sent mail.

  6. configure_inbound_domain

    Configure inbound email routing for a subdomain so replies land in the MisarMail unified inbox. Returns the MX record to publish.

    domain subdomain webhook_url

  7. create_ab_test

    Create one A/B test variant on a campaign. The real API stores a single variant per call, so build a test by calling this once per variant (e.g. twice for a plain A/B split) using the same campaign_id and distinct `variant` labels. Each variant gets send_percent of the audience; auto_select_winner (with winner_wait_hours) can pick and send the winner automatically, or use select_ab_test_winner to do it manually.

    campaign_id variant test_type subject preheader body_html from_name send_percent send_time_a send_time_b auto_select_winner winner_wait_hours

  8. create_automation

    Create an automation workflow from a trigger, saved as a paused draft. The API's create endpoint only accepts a name and trigger — it has no fields for workflow steps or starting active; configure the step sequence in the MisarMail dashboard's visual builder, and use toggle_automation to activate once reviewed.

    name trigger trigger_config

  9. create_campaign

    Create a new email marketing campaign as a draft. Creating never sends or schedules anything — once the content and audience are confirmed, call send_campaign to send it now or schedule it for later.

    name subject from_email from_name reply_to html text template_id segment_id

  10. create_contact

    Add a single contact. Adding a contact records consent to email them — only add addresses that opted in, or the send will damage sender reputation and may breach CAN-SPAM/GDPR.

    email first_name last_name tags source custom_fields

  11. create_landing_page

    Create a hosted landing page with a single hero block (headline, subheadline, CTA). Returns the public URL. The real API stores pages as a page-builder block array with no dedicated headline/CTA fields, so this tool translates your inputs into one 'hero' block — for multi-block pages or a real CTA link, use the landing page editor in the MisarMail dashboard.

    name headline subheadline cta_text slug

  12. create_template

    Create a reusable email template. Use {{variable}} placeholders for personalisation — they are substituted at send time and previewable via render_template.

    name subject html text type variables

  13. generate_reportRead only

    Generate a structured analytics report over a date range. Report types: campaign_performance, engagement_funnel, cohort_analysis, and send_time_heatmap (best hour/day to send).

    report_type date_from date_to

  14. generate_subject_lines

    Generate AI subject-line variants for a campaign topic, optionally tuned to a tone and audience. Good input for create_ab_test.

    topic tone audience count

  15. get_analyticsRead only

    Get delivery and engagement analytics — sent, delivered, opened, clicked, bounced, and complained — for the account or one campaign, grouped by day/week/month.

    campaign_id start_date end_date period group_by

  16. get_analytics_timelineRead only

    Get a day/week/month breakdown of sent, delivered, opened, clicked, bounced, complained, replied, and unsubscribed — across every send medium (campaigns, inbox compose, API, MCP, SDKs, GraphQL, automations). The timeline counterpart to get_analytics's period totals.

    start_date end_date period group_by

  17. get_automationRead only

    Get one automation workflow in full: trigger, every step with its delay, and per-step completion stats.

    automation_id

  18. get_campaignRead only

    Get full details for one campaign: content, audience segment, schedule, and delivery statistics (sent, opened, clicked, bounced, complained).

    campaign_id

  19. get_contact_scoreRead only

    Get engagement score, engagement tier, and churn risk for one contact — or the lowest-engagement contacts across the list when contact_id is omitted. Use before a re-engagement campaign.

    contact_id

  20. get_deliverability_scoreRead only

    Get the account deliverability score (0–100) and letter grade (A–F) with the factors dragging it down. Start here when asked why emails are landing in spam.

  21. get_email

    Read the full content of a single email by ID, including headers, body, and attachments metadata. Side effect: marks the email as read.

    id

  22. get_formRead only

    Get one signup form including its fields, embed code, and redirect behaviour.

    form_id

  23. get_form_submissionsRead only

    List submissions for a signup form, including the submitted field values and timestamps.

    form_id page limit

  24. get_inbox_conversation_messagesRead only

    Get every message in one inbox conversation, oldest first, with sender and timestamps.

    conversation_id

  25. get_integrationRead only

    Get one integration's configuration, scopes, and last sync result.

    integration_id

  26. get_marketplace_itemRead only

    Get one marketplace listing with its full preview, author, and install count.

    item_id

  27. get_monetization_statsRead only

    Get newsletter monetization stats: paid subscribers, MRR, churn, and sponsorship revenue for the period.

    period

  28. get_revenue_attributionRead only

    Attribute ecommerce revenue to email — revenue per campaign, per contact, and average order value from tracked conversions.

    period campaign_id

  29. get_warmup_statusRead only

    Get IP/domain warm-up progress and today's remaining send capacity. Exceeding warm-up capacity on a new domain is the fastest way to get throttled or blocklisted.

  30. import_contactsChanges data

    Bulk-import up to 5,000 contacts in one call. By default, addresses that already exist are skipped rather than duplicated — pass update_existing: true to update them instead. Returns per-row results so you can see which rows were rejected and why.

    contacts update_existing

  31. list_ab_testsRead only

    List A/B tests with per-variant results and whether a winner has been selected yet.

    type page limit

  32. list_api_keysRead only

    List API keys on the account with their scopes and last-used time. Key secrets are never returned — only metadata.

  33. list_automationsRead only

    List automation workflows (welcome series, re-engagement, drip sequences) with their trigger type and active state.

    status page limit

  34. list_campaignsRead only

    List email marketing campaigns with their status, audience size, and headline metrics. Filter by status to find drafts ready to send or campaigns still sending.

    status page limit

  35. list_contactsRead only

    List contacts with their subscription status and engagement metrics. Filter by status to find unsubscribed or bounced addresses that should be excluded from sends.

    status search page limit

  36. list_domainsRead only

    List sending domains with verification status and their DKIM/SPF/DMARC records. Check here first when a send fails with an unverified-sender error.

    page limit

  37. list_emailsRead only

    List emails from a mailbox folder with optional full-text search across subject and body. Use this for reading the unified inbox; use list_campaigns for marketing sends.

    folder limit search

  38. list_formsRead only

    List signup forms with their embed status and conversion counts.

    status page limit

  39. list_inbox_conversationsRead only

    List unified-inbox conversations (threads) with their status and detected intent. Use this for triage; use list_emails for individual messages in a folder.

    status intent channel q limit offset

  40. list_integrationsRead only

    List connected third-party integrations and their sync status.

    page limit

  41. list_marketplace_itemsRead only

    Browse the MisarMail template marketplace for ready-made email and automation templates.

    category search page limit

  42. list_sandbox_sendsRead only

    List emails captured by sandbox mode. Sandbox intercepts sends instead of delivering them — use it to verify templates and automations without emailing anyone.

  43. list_templatesRead only

    List saved email templates with their variable placeholders, so you can pick one for a campaign or transactional send.

    type page limit

  44. render_templateRead only

    Render a template with sample variables and return the resulting HTML and subject. Use this to preview personalisation before sending anything.

    template_id variables

  45. reply_to_email

    Reply to an existing email thread. The sender address and threading headers are derived from the original message, so only the body is required.

    email_id html text

  46. run_deliverability_auditRead only

    Run a full deliverability audit across authentication (SPF/DKIM/DMARC), domain reputation, list hygiene, content signals, and blocklist status. Returns prioritized findings.

  47. select_ab_test_winnerChanges data

    Select the winning variant and send it to the remaining audience. This triggers a real send to everyone who was held back — it cannot be undone.

    test_id winner_variant metric

  48. send_campaignChanges data

    Send a campaign now, or schedule it for a future time by passing scheduled_at. This delivers real email to real recipients and cannot be undone once sending starts — confirm the audience with get_campaign first.

    campaign_id scheduled_at

  49. send_email

    Send a transactional email from a verified MisarMail account. `from.email` must match an email account you have already verified — use list_domains to check which sender domains are available. Returns the message ID and queue status.

    from to cc bcc reply_to subject html text alias_id idempotency_key tags metadata

  50. toggle_automation

    Activate or pause an automation. Activating starts enrolling contacts and sending on the configured schedule.

    automation_id active

  51. toggle_integration

    Enable or disable an integration. Disabling stops all syncing but preserves the stored credentials.

    integration_id enabled

  52. update_contactChanges data

    Update an existing contact by email address, including changing subscription status. Setting status to unsubscribed immediately excludes them from every future campaign. Does not support tags, phone, company, or job title — the API has no fields for them.

    email first_name last_name status custom_fields

  53. upgradeRead only

    Show the current MisarMail plan, how much of each quota is left, and what upgrading unlocks, with the link to upgrade. Call it any time — not only after hitting a limit. Reads only: it never changes the plan or takes payment; the user upgrades by following the link. On a local install, open=true also opens that link in the user's browser.

    open plan

  54. validate_emailRead only

    Validate an email address before sending: syntax, MX records, disposable-domain and role-account detection. Use this to protect sender reputation on imported lists.

    email

  55. verify_domain

    Re-check a domain's DNS records and mark it verified if they resolve. Safe to retry — DNS propagation can take up to 48 hours.

    domain_id

Is this yours?

Claim it to hear the moment it breaks, correct this page and add your own ways to use it.

A test is the handshake and the tool list: no tool was called. Names and descriptions are as listed by whoever registered the server; we haven't checked them.

Back to Tested MCP Servers