Labsco
MCP SERVER

MisarMail

by mrgulshanyadav

Send transactional mail, run campaigns and drip sequences, and work out why the last send landed in spam — without leaving the assistant.

Email: Mailboxes & DeliveryVerified
Summary
Everything that actually reaches a real inbox is a separate, deliberate call.

create_campaign only drafts, create_automation starts paused, and the irreversible steps are annotated so a client can prompt before running them — which matters when the failure mode is a real send to a real list. Sandbox mode is the other half of that: it captures messages instead of delivering them while you get a template or a drip sequence right. If mail is already going astray, start at get_deliverability_score for the grade and the reasons behind it, then let check_dmarc hand you the exact DNS record to publish.

What it is

MisarMail's MCP server, covering the whole platform: transactional sending, a unified inbox, marketing campaigns, contacts, templates, automations, A/B tests, analytics and deliverability tooling. Alongside the tools it ships prompts your client shows as slash-commands and read-only resources an agent can attach without spending a call. It runs locally over stdio or as a remote streamable-HTTP endpoint at https://api.misar.io/mail/mcp.

What you get
  • Transactional and inbox: send_email from a verified sender, list_emails with full-text search over subject and body, get_email, reply_to_email with the threading headers derived from the original, archive_email, and validate_email for syntax, MX records, disposable domains and role accounts
  • Campaigns are deliberately two steps: create_campaign only drafts, get_campaign shows the content, audience and the sent, opened, clicked, bounced and complained counts, and send_campaign is what actually delivers — now or at scheduled_at
  • Contacts: list_contacts, create_contact, update_contact, import_contacts up to 5,000 in one call with per-row results showing which rows were rejected and why, and get_contact_score for engagement tier and churn risk — or the lowest-engagement contacts when you name none
  • Templates carry {{variable}} placeholders and render_template returns the substituted HTML and subject, so personalisation can be checked before anything is sent
  • Automations are created paused: create_automation takes a trigger and ordered steps, get_automation returns every step with its delay and completion stats, toggle_automation starts enrolling contacts
  • A/B tests send a sample percentage first and select_ab_test_winner delivers the winner to the audience held back; generate_subject_lines produces the variants to test
  • Deliverability is a full shelf: get_deliverability_score returns 0-100 with a letter grade and the factors dragging it down, run_deliverability_audit covers SPF/DKIM/DMARC, domain reputation, list hygiene, content signals and blocklists, check_dmarc reports the exact record to publish for any domain, get_warmup_status gives today's remaining send capacity, and add_domain, verify_domain and configure_inbound_domain handle the DNS
  • Analytics: get_analytics by day, week or month, generate_report as campaign_performance, engagement_funnel, cohort_analysis or send_time_heatmap, plus get_revenue_attribution and get_monetization_stats. Sandbox mode intercepts sends rather than delivering them, and list_sandbox_sends shows what was captured
Requirements

Runs over stdio as npx -y @misarmail/mcp@latest, or as a remote server at https://api.misar.io/mail/mcp with Authorization: Bearer msk_…. Two ways in: set MISARMAIL_API_KEY from mail.misar.io/developers, or start with no key and call the login tool, which opens the consent screen and saves the returned key to ~/.misarmail/config.json. MISARMAIL_BASE_URL points the client at a self-hosted instance. Discovery works without credentials; every action needs them. MIT.

Setup effort

One command plus a key — npx -y @smithery/cli install misar/misarmail-mcp --client claude, then supply credentials