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:
- Call
account.scoreto get your current score - Call
deliverability.auditfor detailed findings - Call
dmarc.checkon your primary domain - Present a prioritised action plan with specific DNS records and settings to change