Misar IO Docs

Tools & Prompts Reference

Complete reference for all 32 MCP tools and 5 guided prompts exposed by the MisarMail MCP server.

Tools & Prompts Reference

The MisarMail MCP server exposes 32 tools and 5 guided prompts. All tools require Authorization: Bearer msk_YOUR_KEY.


Email Management

email.list

List emails from your inbox with optional folder and search filters.

Input: | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | folder | string | — | inbox | sent | drafts | archive (default: inbox) | | search | string | — | Full-text search query | | limit | number | — | Max results (default 20, max 100) | | page | number | — | Pagination page |

Output: Array of email summaries with id, from, subject, preview, date, read.


email.read

Read the full content of a specific email. Marks it as read.

Input: id (string, required) — Email ID from email.list.

Output: Full email with html, text, headers, attachments.


email.send

Send an email from a verified MisarMail account.

Input: | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | to | string | ✅ | Recipient email address | | subject | string | ✅ | Subject line | | body | string | ✅ | Email body (plain text or HTML) | | from | string | — | Sender address (defaults to primary account) | | cc | string | — | CC address | | bcc | string | — | BCC address |

Output: { messageId, accepted, rejected }


email.reply

Reply to an existing email thread.

Input: conversationId (string), body (string), replyAll (boolean, default false).


email.archive

Move an email to the archive folder.

Input: id (string, required).


Campaign Management

campaign.list

List email marketing campaigns.

Input: status (draft|scheduled|sending|sent|paused), limit, page.

Output: Array of campaign summaries.


campaign.get

Get full details and statistics for a specific campaign.

Input: id (string, required).

Output: Campaign object including sent, openRate, clickRate, bounceRate when status is sent.


campaign.create

Create a new email marketing campaign (saved as draft).

Input: | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | name | string | ✅ | Internal campaign name | | subject | string | ✅ | Email subject line | | html | string | ✅ | Email HTML body | | fromEmail | string | ✅ | Verified sender address | | segmentId | string | — | Target segment ID | | scheduledAt | string | — | ISO 8601 scheduled send time |


campaign.send

Send or schedule a draft campaign.

Input: id (string), scheduledAt (string ISO 8601, optional — omit to send immediately).


abtest.create

Create an A/B test variant for a campaign.

Input: campaignId (string), subject (string), splitPercent (number 1–50).


abtest.winner

Declare a winning A/B variant and optionally send to the remaining audience.

Input: campaignId (string), variantId (string), sendRemainder (boolean).


Contact Management

contact.list

List contacts with optional status and search filters.

Input: status (active|unsubscribed|bounced), search, limit, page.


contact.add

Add a new contact to the audience.

Input: email (string ✅), firstName, lastName, tags (array), metadata (object).


contact.update

Update an existing contact's details.

Input: id (string ✅), plus any fields to update: firstName, lastName, tags, metadata.


contact.score

Get the engagement score and tier for a contact.

Input: email (string ✅).

Output: { score, tier, factors } — tier is one of champion, loyal, potential, at_risk, dormant.


Templates & AI

template.create

Create a reusable email template with variable placeholders.

Input: name (string ✅), subject (string ✅), html (string ✅), type (transactional|marketing), variables (array of placeholder names).


ai.subject_lines

Generate AI-powered subject line suggestions.

Input: context (string ✅ — describe the email), count (number, default 5), tone (professional|friendly|urgent|curiosity).

Output: { subjects: string[] }


Analytics & Reporting

analytics.get

Get sending analytics and campaign performance for a date range.

Input: startDate (string ✅), endDate (string ✅), granularity (day|week|month), campaignId.

Output: { sent, delivered, opened, clicked, bounced, openRate, clickRate, ... }


revenue.attribution

Get ecommerce revenue attributed to email campaigns.

Input: startDate, endDate.

Output: { attributed, currency, topCampaigns }


monetization.stats

Get newsletter monetization statistics (sponsorships, tips, subscriptions).

Input: startDate, endDate.


report.generate

Generate a detailed analytics report.

Input: | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | type | string | ✅ | campaign_performance | engagement_funnel | cohort_analysis | send_time_heatmap | | startDate | string | ✅ | ISO 8601 start date | | endDate | string | ✅ | ISO 8601 end date |


Deliverability & Health

warmup.get

Check IP warm-up status.

Output: { ip, status, dayOfWarmup, dailyLimit, recommendation }


account.score

Get your overall deliverability score (0–100) with letter grade.

Output: { score, grade, issues[], recommendations[] }


deliverability.audit

Run a full deliverability audit covering SPF, DKIM, DMARC, IP reputation, content, and list health.

Output: Full audit report with per-category scores and action items.


dmarc.check

Check DMARC, SPF, and DKIM DNS record health for a domain.

Input: domain (string ✅).

Output: { spf, dkim, dmarc } — each with status (pass|fail|warning) and current record value.


key.list

List active API keys with their scopes and last-used timestamps.

Output: Array of { id, name, scopes, lastUsed, createdAt }.


Automation & Integrations

automation.list

List email automation workflows.

Input: status (active|paused|draft), limit.


automation.create

Create a new automation workflow with a trigger and steps.

Input: name (string ✅), trigger (object ✅), steps (array ✅). See Automations reference for trigger and step schemas.


inbound.configure

Configure an inbound email domain to receive emails via webhook.

Input: domain (string ✅), webhookUrl (string ✅).


landing_page.create

Create a landing page for campaigns or lead capture.

Input: title (string ✅), html (string ✅), slug (string — URL-friendly path).


Guided Prompts

The server ships 5 system prompts for common tasks. Invoke them in your AI client with /prompt-name or by asking the assistant to use the prompt.

| Prompt | Description | |--------|-------------| | compose_email | Drafts a professional email ready to send. Asks for recipient, context, and tone. | | campaign_performance_report | Pulls analytics, summarises campaign results, and suggests improvements. | | contact_import_guide | Walks through preparing and importing a contact list step by step. | | automation_builder_guide | Interactively builds an automation workflow based on your goal. | | deliverability_improvement_plan | Audits your deliverability score and creates a prioritised action plan. |

Example usage

Ask your AI assistant:

"Use the deliverability improvement plan prompt"

The assistant will:

  1. Call account.score to get your current score
  2. Call deliverability.audit for detailed findings
  3. Call dmarc.check on your primary domain
  4. Present a prioritised action plan with specific DNS records and settings to change