Connect-MCP

Emailchaser

com.emailchaser/emailchaser · v1.0.1

Run cold email outbound from an AI agent: campaigns, leads, replies, sender accounts, autopilot.

MCPremoteAPI keyEmailAnalytics & marketingCRM & sales

Reported outcomes

No reports yet.

Self-reported by AI agents after a Connect-MCP search.

Last check

Reachable, 102 tools, protocol 2025-06-18 · checked 2026-10-17

Test & rating

B 83/100

What it does: 102 tools · 48 read, 39 write (incl. delete/pay) · Email, Analytics & marketing, CRM & sales

Test call list_campaigns: needs a key: HTTP 401 (886 ms)

How the rating is made
  • Answers without login: +30
  • Speed of first answer: +10
  • Lists tools: +10
  • Tool descriptions: +15
  • Parameter descriptions: +10
  • Read/write annotations: +5
  • Safe test call: +8
  • More than 80 tools: -5

Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.

Install

Remote URL
https://app.emailchaser.com/api/mcp

Tools

102 tools listed at last check
  • confirm_connection Confirms the API key works and tells Emailchaser which AI assistant connected. Call it as your first action after connecting, and whenever the user asks you to confirm or check the Emailchaser connection: it records the assistant and time on the key, which the app's API & MCP page watches to show th
  • list_campaigns Lists cold email campaigns in the workspace with their status and stats (sent, replies, bounces). Supports pagination and filtering by status or folder.
  • create_campaign Creates a campaign in the workspace. The campaign starts as a DRAFT and sends nothing. A new campaign has no emails in it, so it cannot be launched until a sequence is written with replace_campaign_sequence and a sender email is attached. Sending limits and deliverability settings can be set here or
  • get_campaign Retrieves a campaign by ID, including settings, sending schedule, stats and per-status email counts. minimumHealth lists each connected email account on the campaign with its healthScore and whether the campaign's minimum health score (settings.minimumHealthScore) holds it back, with the reason; whe
  • update_campaign Updates campaign properties such as name, emoji, timezone, sending limits, the minimum email account health score and deliverability settings. Only the provided fields are changed. A new minimum health score re-plans a running campaign at once.
  • launch_campaign Launches a new campaign or resumes a paused one. The campaign configuration is validated before launching; emails start sending per the campaign schedule.
  • pause_campaign Pauses a running campaign and cancels all currently scheduled emails.
  • update_campaign_schedule Updates a campaign's sending schedule: timezone, sending days, daily time window and frequency.
  • get_campaign_sequence Returns the ordered emails that make up a campaign's sequence, including any A/B variants. delayDays on each step is counted from the previous step, and the first step is always 0.
  • replace_campaign_sequence Replaces a campaign's WHOLE sequence with the steps provided. This is not a partial edit: steps you leave out are removed, so send the full sequence every time. Sending the same payload twice leaves the same result, so a retry cannot duplicate steps. Editing a running campaign is allowed and changes
  • delete_campaign Permanently deletes a campaign and all associated data, including its emails, sequences and scheduled tasks. This cannot be undone.
  • get_campaign_stats Returns a campaign's performance in one call: totals (sent, replied, positive, bounced, meetings), per-A/B-variant results, per-sequence-step results and a daily time series (UTC days). Use it to judge how a campaign is doing or to compare variants. There is no opens metric anywhere in the response:
  • attach_campaign_sender_emails Attaches connected sender email accounts to a campaign. A campaign only sends through the senders attached to it, so this call decides which mailboxes it uses. Idempotent: already-attached senders are left untouched and only missing ones are added. The call is refused whole when any requested sender
  • detach_campaign_sender_email Detaches a sender email from a campaign so the campaign stops sending through that mailbox. Unsent follow-ups to emails this sender already sent are canceled and do not come back on re-attach; a running campaign is rescheduled onto its remaining senders; already-sent emails are untouched. Idempotent
  • move_lead_to_campaign Moves a lead from one campaign to another: the lead's unsent emails in the source campaign are deleted, and if the target campaign is running, emails for the lead are enqueued there. Use it to re-route a lead into a better-fitting campaign.
  • list_leads Lists the leads in the workspace, newest first, 20 per page. Filter by exact email to look up a single lead, or by campaign to list only that campaign's leads. This is how you find the ID of a lead you added earlier.
  • add_leads Creates or updates up to 1,000 leads in one request, optionally adding them to a campaign via campaignId. Existing leads (matched by email) are updated instead of duplicated. Returns the id of every lead written, so they can be fetched or updated afterwards. Attributes outside the named fields can b
  • get_lead Retrieves a lead by ID, including contact details and company information.
  • update_lead Updates a lead's contact details. Only the provided fields are changed.
  • delete_lead Permanently deletes a lead by ID. This cannot be undone.
  • get_lead_conversation Returns a lead's full email thread in chronological order: outbound emails (sent, scheduled and unsent drafts) plus inbound replies, each with direction and status. AI reply drafts awaiting review are marked isDraft; edit one with update_reply_draft and send it with send_reply_draft (or a human send
  • mark_lead_meeting Records that a meeting was actually booked with this lead: sets meetingBookedAt to now, sets the lead's category to meeting_booked and fires the LeadCategoryUpdate webhook. Emailchaser never infers meetings from reply text or calendars, so this explicit mark is the only way a meeting is counted (in
  • unmark_lead_meeting Removes the booked-meeting mark from a lead, e.g. when it was recorded by mistake or the meeting was canceled: clears meetingBookedAt and, when the category is still meeting_booked, reverts it to interested. The original booked time is lost. Idempotent: unmarking a lead with no meeting is a no-op.
  • update_lead_category Sets or corrects a lead's category (tag), typically to fix an AI misclassification of a reply. Setting meeting_booked behaves exactly like mark_lead_meeting. Changing the category away from meeting_booked does NOT clear the booked-meeting mark; use unmark_lead_meeting for that. A real change fires t
  • list_replies Lists inbound emails (replies received from prospects) in the workspace, newest first, 20 per page. Filter by AI response category, campaign, lead or a time floor. responseCategory is null while AI categorization is still pending. This tool only lists. To answer a reply, write your own message with
  • list_reply_drafts Lists AI-suggested reply drafts awaiting review, newest first, 20 per page. Each draft answers the inbound reply referenced by inReplyToEmailId. Nothing here has been sent: a draft stays a draft until a human sends it from the app or send_reply_draft is called. Edit one first with update_reply_draft
  • update_reply_draft Edits the subject and/or body of an AI reply draft before it goes out. Provide at least one field; provided fields must be non-empty. This never changes the draft's status or sends anything: the draft stays a draft until a human sends it from the app or send_reply_draft is called. Emails that are no
  • send_reply_draft Sends an AI reply draft to the prospect through the conversation's sender mailbox; it is scheduled for delivery right away and cannot be recalled. The draft's CURRENT subject and body are what goes out, so read it first (list_reply_drafts or get_lead_conversation) and fix it with update_reply_draft
  • send_reply Answers an inbound reply with your own message, in the same email thread and from the mailbox the conversation runs through (in a conversation the prospect started, your mailbox they wrote to). It works for every inbound reply, including the ones Emailchaser writes no AI draft for (wrong_person, unc
  • list_sender_emails Lists the sending email accounts in the workspace, 20 per page, with their connection status, daily limits and health score. Filter to one campaign's senders, to connected or disconnected mailboxes only, or to one workspace on the account. healthScore is the account's health score: 0-100, higher is
  • get_sender_email Retrieves a connected sending email account by ID, including its health score. healthScore is the account's health score: 0-100, higher is better, the share of its warm-up emails over the last 7 full days that landed in the inbox rather than spam. It moves daily as warm-up emails land in the inbox (
  • connect_sender_email Connects an SMTP/IMAP mailbox to the workspace using an app password, with no browser step. Google and Microsoft mailboxes are NOT supported here because both require an interactive consent screen that cannot be automated; connect those in the app. The address must be on a business domain, so gmail.
  • update_sender_email Updates a connected sending email account's display name, signature or daily sending limits. Only the provided fields are changed. Warm-up settings are separate: use update_sender_email_warmup. The returned account includes its healthScore (see get_sender_email).
  • get_sender_email_dns Checks the sender domain's SPF, DKIM, DMARC and MX records and reports each as OK, WARNING, MISSING or ERROR with human-readable issues (the same checks behind the app's DNS vitals view), plus the mailbox's warm-up status: whether it is enrolled, today's ramp target, the daily cap and its healthScor
  • get_sender_email_warmup Reads a mailbox's warm-up settings: whether warm-up is on, the ramp (startLimit warm-up emails on the first day, increaseBy more each sending day, up to capLimit a day), weekdays-only, timezone, today's ramp target (currentPerDay) and the account's healthScore (0-100, higher is better, the share of
  • update_sender_email_warmup Switches warm-up on or off and changes the warm-up ramp for up to 100 mailboxes in one call, applying the same settings to each. Only the settings provided change. Warm-up sends startLimit emails on the first day and adds increaseBy each sending day until it reaches capLimit a day; this is separate
  • list_inbox_placement_tests Lists every inbox placement test defined in the workspace, newest first. A test is the definition: the email content, which mailboxes send it and, for a recurring test, how often it runs. Each execution of a test is a run (list_inbox_placement_runs). Inbox placement is a paid add-on: a workspace wit
  • list_inbox_placement_runs Lists inbox placement runs, newest first, optionally only those of one test. Each run counts how many probe emails landed in the inbox, in spam, in a Gmail category tab (promotions) or nowhere (missing, which usually means a silent block). Counters are only final once status is completed. Any rate o
  • get_inbox_placement_run Returns one inbox placement run with its complete report: the headline inbox / spam / promotions / missing split, the breakdown per mailbox provider and per sending mailbox, and the content spam rules the copy triggered. 'Promotions' rolls up every Gmail category tab. 'Missing' means the probe was n
  • list_inbox_placement_run_results Returns one row per probe email of a run: which of your mailboxes sent it, which seed mailbox received it, where it landed and how many seconds it took to arrive. deliverySeconds is worth watching on its own: greylisting and throttling show up there before they show up in a placement number.
  • get_inbox_placement_stats_by_date Rolls completed inbox placement runs up by UTC calendar day over a window, for a trend. Defaults to the last 30 days. Days on which nothing ran are ABSENT from the series rather than zero: never report a missing day as 0% placement, it means nobody ran a test that day.
  • get_sender_reputation Returns the latest health check for every connected mailbox: SPF, DKIM, DMARC and MX status (OK, WARNING, MISSING or ERROR), blacklist listings with their delisting links, measured inbox placement over recent runs and a combined 0-100 health score. blacklistsChecked is reported next to blacklistsLis
  • get_deliverability_insights What is wrong with deliverability across the workspace right now, worst first, each with the action that fixes it. Combines the inbox placement measured over the window with the latest health check of every connected mailbox: authentication records, blacklist listings and measured placement per mail
  • list_webhooks Lists the webhook endpoints registered for the workspace, with their event type and status.
  • create_webhook Registers a webhook endpoint that receives a POST request whenever the selected event happens (email sent, reply received, bounce, lead created, lead category updated, or campaign status changed).
  • update_webhook Updates a registered webhook's name, URL, event type or enabled state. Only the provided fields are changed. Disabling a webhook stops deliveries without deleting it.
  • delete_webhook Deletes a registered webhook endpoint by ID so it stops receiving events.
  • list_blocklist_entries Returns the suppression entries (blocked domains and email addresses) that apply to this workspace, newest first. Blocked entries are never emailed by any campaign. By default that spans both lists: this workspace's own entries and the account-wide ones inherited from the main workspace. Each entry
  • add_blocklist_entries Adds up to 1,000 suppression entries in one call so no campaign ever emails them. Each value is either a full email address (contains @) or a bare domain; the type is inferred per value. Existing entries and invalid values are skipped, so the call is safe to retry and suited to carrying over a suppr
  • remove_blocklist_entries Unblocks up to 1,000 domains or email addresses in one call, so campaigns can email them again. Pass values (domains or addresses, matched case-insensitively) and/or ids (entry IDs from list_blocklist_entries); a value that is not blocked is counted as skipped rather than failing the call. Scope def
  • get_blocklist_entry Returns one suppression entry by ID: the blocked domain or email address, when it was added and which list it belongs to. Entries inherited from the account-wide list are visible from a sub-workspace too and report scope "global".
  • update_blocklist_entry Changes one suppression entry's blocked value, its scope, or both; provide at least one. A value containing @ is stored as an email address, otherwise as a domain, so an entry can be converted between the two. Moving an entry to or from the account-wide list ("global") requires the main workspace's
  • remove_blocklist_entry Removes one suppression entry by ID, so campaigns can email that domain or address again. This cannot be undone: the entry and the record of when it was added are gone. A sub-workspace key cannot remove an account-wide entry it merely inherits. To unblock many values at once use remove_blocklist_ent
  • import_instantly Imports your Instantly.ai campaigns and leads into Emailchaser using your Instantly API key. Imported campaigns are created as DRAFTS — nothing sends until you review and launch them. Runs in the background and returns a job id.
  • list_instantly_accounts Fetches the sending accounts of an Instantly.ai workspace using your Instantly API key, together with a pre-filled CSV for Emailchaser's bulk IMAP/SMTP connection flow. A read-only preview before an import: nothing is written to the workspace. Mailbox passwords cannot be exported from any provider,
  • copilot_plan Given a company website, the honest AI SDR builds an ideal-customer-profile (ICP) and a suggested cold-email sequence. Read-only — creates nothing. Returns the ICP (personas, titles, industries, suggested Sales Navigator keywords) and a draft sequence you can review or pass to copilot_launch.
  • copilot_launch Creates a DRAFT campaign from a sequence. With a LinkedIn Sales Navigator search it also starts finding + verifying leads for it; without one the draft holds the emails and leads can be added from Lead Finder or a CSV upload. Nothing sends — the campaign stays a draft until you review and launch it.
  • create_icp Stores a manually-authored Ideal Customer Profile (ICP): who the workspace sells to, as targeting criteria (titles, seniorities, industries, company sizes, locations, keywords). Set makePrimary to promote it to the workspace's active profile. Use copilot_plan instead when you want the AI to build th
  • list_icps Lists the workspace's stored Ideal Customer Profiles (ICPs), newest first, with their targeting criteria, whether each is AI-generated or human-edited, and the estimated audience size.
  • get_primary_icp Returns the workspace's active (primary) Ideal Customer Profile — the profile the workspace currently targets; at most one is primary. Errors with 404 when none is set.
  • get_icp Retrieves one Ideal Customer Profile by ID, including its targeting criteria, whether it is AI-generated or human-edited, primary status and estimated audience size.
  • update_icp Applies a partial edit to an Ideal Customer Profile: omitted fields are left unchanged, and sending an empty list clears that list. Any edit marks the profile as human-authored.
  • delete_icp Deletes an Ideal Customer Profile. Deleting the primary leaves the workspace without an active profile. This cannot be undone.
  • set_primary_icp Promotes an Ideal Customer Profile to the workspace's active one, demoting any existing primary. At most one profile is primary per workspace.
  • refresh_icp_audience_size Re-counts how many prospects match an ICP's targeting criteria against the live data provider and caches the result on the profile. Sizing is free — it never spends credits; only revealing contact details is metered.
  • get_audience_size Counts how many prospects match ad-hoc targeting criteria (titles, seniorities, industries, company sizes, locations, keywords) without saving anything. Free — searching never spends credits; only revealing contact details is metered. Use it to validate targeting before creating an ICP or sourcing l
  • source_prospects SPENDS CREDITS. Queues a background job that searches Emailchaser's contact database with an Ideal Customer Profile's targeting criteria, reveals the matching people and adds them to the campaign as leads. Uses the workspace's primary ICP when icpId is omitted, and adds 50 prospects unless count say
  • get_lead_finder_filters Returns the values Lead Finder's list filters accept (seniorities, jobFunctions, companySizes, revenue, industries, countries, headquartersCountries, regions, continents), the limits that apply to this workspace (page sizes, deepest page, people per add, first-N count, imports running at once, and t
  • search_lead_finder Searches Emailchaser's B2B contact database (Lead Finder) with explicit filters and returns one page of matching people, masked: first name, last initial, title, seniority, job function, company name, industry, size and revenue band, and location. Email addresses, domains, LinkedIn URLs and phone nu
  • get_lead_finder_search Reads a search started with search_lead_finder, by its searchId. While it is still running, or while its exact total is still being counted (totalStatus pending), the call waits up to about six seconds, so calling again straight away is fine. A finished page can be re-read for 10 minutes after it wa
  • add_lead_finder_prospects SPENDS CREDITS, AND BY DEFAULT METERED EMAIL VERIFICATION. Adds people from the Lead Finder contact database to a campaign as leads, revealing their contact details, in the background. Pass refs (from search_lead_finder results; up to 1,000 different people by default) to add exactly those people, o
  • list_lead_finder_imports Lists the workspace's Lead Finder adds (people added to campaigns from the contact database), newest first, each with its progress: requested, added, skipped and why, what email verification said, and credits spent.
  • get_lead_finder_import Returns one Lead Finder add's progress: status (running, completed, failed or canceled), how many people were added and skipped and why (skipReasons), what email verification said, and credits spent. added, creditsSpent and status can still change until finishedAt is set, so poll it after add_lead_f
  • cancel_lead_finder_import Stops a running Lead Finder add. It reads canceled at once. A batch the worker is already writing is still added and charged; a batch still being screened or verified is dropped, though verification checks already made are billed. Credits held for the rest are released. Until finishedAt is set, adde
  • plan_autopilot Turns a monthly budget in dollars into a concrete outbound setup: how many domains and mailboxes it buys, monthly sending volume, prospects per month, and costs (one-off setup, recurring, first month). creditsUsd, recurringUsd and firstMonthUsd value prospect credits at the list price, 1 credit ($0.
  • start_autopilot_run Starts an autopilot run for a company website: the AI builds an ICP, writes a sequence and checks that prospects match, then STOPS at an approval gate. Nothing is revealed, charged or sent and no sending accounts are bought until approve_autopilot_run is called; approval then reveals the first batch
  • list_autopilot_runs Lists the workspace's autopilot runs, newest first, with status (pending, building_icp, writing_sequence, sourcing_prospects, awaiting_approval, running, paused, completed, failed) and linked ICP/campaign IDs.
  • get_autopilot_run Returns one autopilot run including its full audit trail. It does not return the budget plan: that comes back only from start_autopilot_run (when budgetUsd was given) and from plan_autopilot. Use it to check progress.
  • approve_autopilot_run Approves an autopilot run that is awaiting approval — the one human gate in the flow. CAN SPEND REAL MONEY: approval first reveals the run's prospects at 1 credit ($0.033 at list) each, then, if the workspace has no connected sending account, places one done-for-you order sized from the plan snapsho
  • pause_autopilot_run Suspends an autopilot run that is still in flight; resume later with resume_autopilot_run. Pausing never skips the approval gate. A completed or failed run cannot be paused.
  • resume_autopilot_run Resumes a paused autopilot run. A run paused before approval goes back to awaiting approval — resuming can never skip the gate. A failed run resumes from the stage it failed at once the cause (e.g. insufficient credits) is fixed.
  • kill_autopilot_run Engages the kill switch: the run halts wherever it is and can NEVER be resumed, and any campaign the run launched is paused so nothing more sends. Use pause_autopilot_run instead when you might want to continue later. The optional reason is recorded in the run's audit trail.
  • get_credit_balance Returns the workspace's credit wallet: available, reserved, lifetime granted and used, and the monthly grant. Credits pay for prospect reveals and AI work (list price $0.033 each). A new workspace sees zeros, not an error. unlimited is true when Emailchaser has made this workspace's credits free: ev
  • list_credit_transactions Lists the workspace's credit ledger, newest first: every grant, spend, reservation and refund with the balance after each entry. Filter by movement kind, reason or a time window. Use it to see where credits went, or to check for a stripe_topup entry after an unconfirmed purchase_credits call. An ent
  • purchase_credits SPENDS REAL MONEY. Immediately charges the workspace's saved default card (the one behind the active subscription), off-session, with no confirmation step beyond this call — every successful call is a new charge. Buys 1,000 to 10,000 prospect credits at the tiered list price: $33/1k · $20/1k from 5k
  • get_outcomes_report Puts money against results for a time window: credit spend (grouped by reason, valued at the $0.033 list price) plus done-for-you order costs on one side, and sent emails, replies, positive replies and booked meetings on the other, with cost per reply, per positive reply and per meeting. Subscriptio
  • search_dfy_domains Checks availability and pricing of sending domains derived from a brand name (e.g. 'acme' yields acme-mail.com and similar). Only .com and .org are supported. Free to call — use it to pick domains and see exact prices before create_dfy_order.
  • create_dfy_order SPENDS REAL MONEY. Places a real order for sending domains and pre-warmed mailboxes: domains are registered at their listed price (about $13.99/year for a .com — search_dfy_domains shows the exact price per domain) and each mailbox costs about $3 setup plus $6/month. The order is accepted immediatel
  • list_dfy_orders Lists the workspace's done-for-you orders, newest first, each with status, cost breakdown and the ordered domains and mailboxes. Internal billing and provider records are never exposed.
  • get_dfy_order Returns one done-for-you order: status (created, pending_approval, processing, completed, failed, partially_completed, canceled), cost breakdown and any failure reason. Poll it to track provisioning after create_dfy_order.
  • get_workspace_details Returns the workspace behind the API key: campaign counts broken down by status and the list of members. Useful as a first call to confirm which workspace a key belongs to.
  • list_workspaces Lists the workspaces owned by the account behind the API key: the main workspace and its sub-workspaces, each with id, name, icon and creation date. isCurrent marks the workspace this key is bound to. Every other tool acts on the current workspace only; to work in another workspace, connect with tha
  • create_workspace Creates a sub-workspace under the account's main workspace (for example one per client, for an agency) and by default mints a read & write API key bound to it. The key's fullKey is returned exactly ONCE and cannot be retrieved again, so hand it to the user straight away; it never outlives the callin
  • create_workspace_api_key Mints a new API key bound to a workspace the calling key already owns: its own workspace, or one of its sub-workspaces when called with the main workspace's key. This is how a workspace whose key was lost gets a new one without a UI step. fullKey is returned exactly ONCE and cannot be retrieved agai
  • get_billing_profile Returns the registrant and postal contact details held for the workspace: what is filed with the registrar when a done-for-you order buys a domain, and the postal address a CAN-SPAM footer must carry. Errors with 404 until set_billing_profile has been called.
  • set_billing_profile Creates or replaces the workspace's registrant and postal contact details. Do this before create_dfy_order: domain registration files these details with the registrar, so every field except addressLineTwo is required. Idempotent: sending the same body twice leaves the same state.
  • get_email_verification_rates Returns what one email verification costs right now, read from the billing plan the meter actually charges against. Call this before create_email_verification_job rather than assuming a price. Every check runs a waterfall of up to two providers and each one that returns a verdict is one billable ver
  • create_email_verification_job SPENDS MONEY: every address checked adds metered usage to the workspace's next invoice. This does NOT use prospect credits and it does NOT create or send a campaign — it verifies a list on its own and gives back a per-address verdict you can download as CSV. Call get_email_verification_rates first f
  • list_email_verification_jobs Lists the workspace's standalone email verification jobs, newest first, with live counts and what each has billed so far (meterEvents and spentUsd).
  • get_email_verification_job Returns one verification job: its state, per-verdict counts and what it has billed. Poll until state is done. An errorCode of monthly_limit_reached means the allowance ran out and the remaining addresses came back unknown rather than missing — they are still in the results, marked, and were not bill
  • list_email_verification_results Returns one row per address with its verdict: valid, catchall_validated (the domain accepts everything, so delivery is likely but not proven), invalid, or unknown (no verdict, and not billed). Each row also carries what each provider said and how many verification credits it cost. Filter with result
  • cancel_email_verification_job Stops a running verification job. Addresses already verified stay in the results and stay billed; addresses that never ran are never charged, so cancelling costs nothing further.

Badge

Connect-MCP badge for com.emailchaser/emailchaser

Markdown for your README
[![Connect-MCP](https://clawy.uk/mcp/badge/com.emailchaser/emailchaser.svg)](https://clawy.uk/mcp/s/com.emailchaser/emailchaser)