Skip to content
MCP server · 42 tools

Give your AI agent a real cold-email backend

Mailjinn exposes campaigns, audiences, mailboxes, replies and CRM as MCP tools. Connect Claude, ChatGPT, Claude Code or Cursor and run outreach from chat — with the same limits and confirmations a human gets.

https://api.mailjinn.com/mcp
Example workflowYour model. Your Mailjinn workspace.

Start an outreach campaign for the 240 leads in leads.csv. Keep it plain.

Imported 240 → 231 valid after verification. 4 were on your suppression list. Drafted a 3-email sequence, spam score 1.2/10. Two warmed mailboxes can cover this at 60/day.

Show me email 1 for one real lead.

Rendered for maria@northwind.io — subject and body below. Ready to launch; I need your confirmation to send.

Confirmed. Launch.

Connect

Three steps. No code.

Paste one URL into the client you already use, sign in with Google, approve the connector.

  1. 1Open Claude → Settings → Connectors.
  2. 2Click "Add custom connector" and paste the server URL.
  3. 3A Mailjinn tab opens. Sign in with Google and click Allow.
What it can do

The whole outreach loop, from chat

Not a wrapper around a form. The agent works against structured campaign objects and gets structured errors back.

Build the whole campaign

Create the campaign, write the sequence, set the send window and enroll an audience — one graph, one call.

campaign_createcampaign_set_flowcampaign_schedulecampaign_enroll_leads
“Write a 3-step sequence for SaaS founders and schedule it for weekdays, 9am PT.”

Clean and prepare the list

Import CSVs, verify every address, and check that {{ variables }} actually have data before anything sends.

audience_import_csvemail_validate_batchcontent_validate_variables
“Import leads.csv into a new audience and verify the emails.”

Check deliverability first

Spam-score the copy, check SPF / DMARC, see mailbox health and daily capacity, and dry-run before launch.

email_content_check_spamdns_check_recordssmtp_health_checkcampaign_dry_run
“Dry-run the campaign. Anything that would hurt deliverability?”

Launch — with a confirmation

Sending is a separate scope. Launch, test sends and replies always ask you to confirm; the model cannot bypass it.

campaign_launchemail_send_testcampaign_pausecampaign_resume
“Launch it. Pause if bounce rate goes above 3%.”

Read and answer replies

Replies land in the Unibox, get classified by intent, and the agent can draft or send the follow-up.

unibox_thread_listunibox_update_categoryunibox_reply_email
“Who replied interested this week? Reply to Sara and offer Tuesday.”

Move leads through the CRM

Move pipeline stages, add notes and tasks, and keep the do-not-email list current — all from chat.

crm_lead_update_stagecrm_lead_create_tasksuppression_add
“Move everyone who booked a call to "Demo scheduled".”
Guardrails

Enforced by the server, not the prompt

Runs as you, scoped to your workspace

OAuth 2.1 with PKCE. Every tool executes as the signed-in user; data never crosses tenants.

Sending is a separate permission

read / write / send scopes. Launch, test sends and replies require an explicit confirmation — enforced server-side.

Suppression is checked twice

At enrollment and again inside the send worker. Agents can add to the list but cannot bypass it.

Mailbox limits always win

Daily and hourly caps and warmup limits are enforced in SMTP selection. Over-limit sends wait; they never skip the cap.

Reference

All 42 tools

Your agent chooses these for you. Listed here so you know exactly what it can touch.

System1
  • system_get_info—Workspace health, connected mailboxes, daily limits, active campaigns. Call this first.
Campaigns13
  • campaign_listreadList campaigns.
  • campaign_get_detailsreadFull details, schedule and flow graph metadata.
  • campaign_get_analyticsreadSent / open / click / reply / bounce counts and rates.
  • campaign_createwriteCreate a campaign.
  • campaign_set_flowwriteUpsert the whole sequence graph (emails, waits, conditions) in one call.
  • campaign_schedulewriteSet the send window and move to scheduled.
  • campaign_check_enrollmentreadPreview who would enroll, with per-reason exclusions.
  • campaign_enroll_leadswriteEnroll an audience into a campaign.
  • campaign_preview_renderreadRender the email against one real recipient.
  • campaign_dry_runreadRecipients, suppressed count, healthy mailboxes and a spam score — run before launch.
  • campaign_launchsendLaunch. Always asks you to confirm.
  • campaign_pausewritePause a running campaign.
  • campaign_resumewriteResume a paused campaign.
Audiences & content9
  • audience_listreadList audiences.
  • audience_get_detailsreadField schema, member count, sample contacts.
  • audience_createwriteCreate an audience.
  • audience_import_csvwriteImport CSV text; extra columns become custom fields.
  • audience_add_itemwriteAdd or update one contact.
  • audience_bulk_updatewriteBulk add/update contacts.
  • content_validate_variablesreadCheck {{ variables }} against real audience data; reports empty rates.
  • email_validate_batchwriteStart email verification for an audience (returns task_id).
  • email_validate_statusreadVerification progress and verdict counts.
Deliverability5
  • email_content_check_spamreadSpam score 0–10 with per-trigger rewrite hints.
  • dns_check_recordsreadSPF / DMARC / MX check.
  • smtp_account_listreadConnected mailboxes with health and limits.
  • smtp_health_checkreadHealth, rate limits and today's volume for one mailbox.
  • email_send_testsendSend a one-off test email. Asks to confirm.
Replies (Unibox)5
  • unibox_get_summaryreadUnread count and breakdown by classification.
  • unibox_thread_listreadList reply threads — start here for "any replies?".
  • unibox_thread_getreadFull message history of a thread.
  • unibox_update_categorywriteReclassify (interested, not_interested, auto_reply, …).
  • unibox_reply_emailsendSend a reply in-thread. Asks to confirm.
CRM6
  • crm_pipeline_listreadPipelines and their stages.
  • crm_lead_listreadList leads.
  • crm_lead_getreadOne lead with stage, score, engagement.
  • crm_lead_update_stagewriteMove a lead.
  • crm_lead_add_notewriteAdd a timeline note.
  • crm_lead_create_taskwriteCreate a follow-up task.
Suppression (do-not-email)3
  • suppression_addwriteAdd addresses (unsubscribed, bounced, complaint, manual). Enforced at every send.
  • suppression_checkreadAre these addresses suppressed?
  • suppression_listreadList suppressed addresses.
FAQ

Frequently asked questions

No. Paste the server URL into Claude, ChatGPT, Claude Code, Cursor or any MCP-capable client, sign in with Google, and talk to it in plain words. The agent picks the tools.

Need a campaign backend?

Talk to us about your sending stack and where agents fit.