Skip to main content
Glama

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.5/5.0

Scored across 102 tools

Disambiguation3/5

Most tools are individually well-scoped, but several families genuinely overlap: leads can be added via add_leads, add_lead_finder_prospects and source_prospects; planning exists in both plan_autopilot and copilot_plan; and launch paths split across copilot_launch, create_campaign and start_autopilot_run. The very long descriptions disambiguate in practice, but the boundaries are not obvious from the names alone.

Naming Consistency4/5

The dominant pattern is consistent snake_case verb_noun (list_campaigns, create_campaign, update_campaign, delete_campaign). A few outliers break the verb-first convention (copilot_plan, copilot_launch, import_instantly) and the blocklist family mixes singular/bulk forms (remove_blocklist_entry vs remove_blocklist_entries, add_blocklist_entries only), but overall the naming is predictable.

Tool Count1/5

102 tools is far beyond what a coherent tool surface should expose; whole clusters (six blocklist tools, nine autopilot tools, nine inbox-placement tools, four credit/billing tools) could be collapsed. Breadth reflects a large product, but the count is an extreme mismatch for what an agent can reliably select among.

Completeness4/5

Coverage is unusually deep: campaigns, leads, ICPs, senders and warm-up, blocklists, verification, inbox placement, webhooks, workflows, autopilot, workspaces, credits and billing all have read/write support. The notable gaps are inbox placement tests (listed and reported on, but no create/run tool) and single-entry blocklist add, which agents must work around via the bulk tool.

Available Tools

102 tools
add_blocklist_entriesAdd blocklist entriesA
Idempotent
Inspect

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 suppression list from another sending platform. Scope defaults to "workspace"; "global" blocks across every workspace on the account and only works from the main workspace.

Inputs: values (required), scope.

add_lead_finder_prospectsLead Finder: add people to a campaign (spends credits)A
Destructive
Inspect

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 Lead Finder search results; up to 1,000 different people by default) to add exactly those people, or pass filters and count (1 to 5,000 by default) to add count people matching the filters who are not in the workspace yet. A filters add always walks the matches from the top and skips anyone already a lead, free and not counted, so repeating the same add adds the NEXT count people and charges again. Never repeat an add to retry: an add that errors or times out may still have started, and adding again can add the same people twice. A filters add stops early when the audience runs out or once it has looked at five people for every one requested (at least 1,000). People already added count toward that limit even though skipping them is free, so after an add of more than about 1,000 people a small follow-up can stop with nobody added. Every person a filters add looks at, added or skipped, also uses the account's daily allowance for filters adds (25,000 people by default). Each person added costs 1 credit ($0.033 at list), reported as creditsPerProspect; the response reports estimatedCredits, the most the add can cost in credits, and the wallet must hold that much for it to start. People already in the workspace, blocklisted, without a usable address, on a personal mailbox when the campaign only takes business addresses, or marked invalid by verification are skipped and cost no credits. verifyEmails (on by default) checks every screened address with the paid email verification waterfall, including the ones it marks invalid: one or two checks per address, billed as metered usage on the next invoice (price per check: GET /email-verification/rates in the REST API), within the account's monthly verification spend limit. Catch-all and unconfirmed addresses are added and charged, and so is every address once that limit is reached; verification.limitReached and verification.unknown on the add's import record count them. Leads added to a running or paused campaign get their emails at once (a paused campaign sends them when resumed); adding to a completed campaign resumes it, so it starts sending again; in a draft campaign the emails are created at launch. At most 3 adds run at once in a workspace. A refusal names its reason, and a 429 also says when to retry (reason running_imports, daily_import_limit, daily_budget, monthly_budget or fair_use_floor). The response carries an importId, and the add's import record keeps changing until finishedAt is set.

Inputs: campaignId (required), refs, count, filters, +1 more.

add_leadsAdd leadsA
Idempotent
Inspect

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 be passed in customVariables and become merge tags in email copy.

Inputs: leads (required), campaignId.

approve_autopilot_runAutopilot: approve a runA
Destructive
Inspect

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 snapshotted at start, at most 10 .com domains and at most six mailboxes per domain, never more mailboxes than the plan, charged at the prices in effect when the order is placed. So the plan's mailbox and domain counts are a ceiling and its dollar figures an estimate, not an exact quote. No credits are bought, but the reveal and later top-ups spend the wallet's credits. If a sending account is already connected, no infrastructure is bought; a run started without budgetUsd and with no connected account fails. Show the user the plan returned when the run was started before calling this. Nothing is revealed, bought or sent before this call; after it, sending starts without further confirmation.

Inputs: id (required).

attach_campaign_sender_emailsAttach sender emails to campaignA
Idempotent
Inspect

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 is not a connected sender email in the workspace. Attaching to a running campaign reschedules it so the new senders are picked up.

Inputs: id (required), senderEmailIds (required).

cancel_email_verification_jobCancel an email verification jobA
Idempotent
Inspect

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.

Inputs: jobId (required).

cancel_lead_finder_importLead Finder: stop an addA
DestructiveIdempotent
Inspect

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, added, creditsSpent and even status can still change: if that batch was the add's last, it ends completed or failed instead. People already added stay in the campaign. A stopped add cannot be resumed: adding the people again starts a new add. Stopping one that already finished changes nothing.

Inputs: id (required).

confirm_connectionConfirm the connectionA
Idempotent
Inspect

Confirms the API key works and tells Emailchaser which AI assistant connected. Use it when the user connects Emailchaser or asks 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 the user you are in, and completes the 'Connect your AI' onboarding step. Idempotent: repeat calls simply refresh the record. Works with read-only keys as well as read & write keys.

Inputs: agent.

connect_sender_emailConnect sender emailAInspect

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.com and similar are rejected. The returned account's healthScore is null until warm-up has checked 20 of its emails.

Inputs: email (required), password (required), imapServerUrl (required), smtpServerUrl (required), +3 more.

copilot_launchCopilot: launch a draft campaignAInspect

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. Returns the new campaign id, plus a lead-finding job id when lead finding started.

Inputs: name (required), sequence (required), icp, salesNavData, +1 more.

copilot_planCopilot: plan a campaignA
Read-only
Inspect

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.

Inputs: website (required), context, description.

create_campaignCreate campaignAInspect

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 it has a sequence and a sender email attached. Sending limits and deliverability settings can be set here or changed later.

Inputs: name (required), flow, emoji, timezone, +16 more.

create_dfy_orderCreate done-for-you order (charges real money)A
Destructive
Inspect

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; each domain has its own listed price) and each mailbox costs about $3 setup plus $6/month. The order is accepted immediately and provisioned in the background, so the order's status changes over time. Purchased domains redirect visitors to forwardingDomain. Confirm the domains and their prices with the user before ordering. Every domain in domains needs at least one mailbox in mailboxes whose domainName is that domain, or the order is refused before anything is bought; mailboxes can also go on a domain from an earlier order.

Inputs: domains, mailboxes, forwardingDomain.

create_email_verification_jobVerify a list of email addresses (spends money)A
Destructive
Inspect

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. An address costs one verification credit when the first provider rejects it outright and two when both providers answer, so budget two credits per address in the list. An address that gets no verdict is NOT billed and comes back with result unknown. Duplicates are removed and unparseable entries are returned in invalid_emails before anything is charged, so the total in the response is what will be billed against, not what you submitted. Needs an active or trialing subscription: a past_due workspace is refused with subscription_not_active, and a trialing workspace may submit up to 100 addresses in total across all its jobs, after which it is refused with trial_allowance_exceeded (the message says how many are left). If the workspace's monthly verification allowance runs out mid-job the job does not fail — the remaining addresses come back unknown, marked, still in the download, and unbilled. The job runs in the background: its state reaches done when every address has a verdict, and the verdicts are then available per address.

Inputs: name (required), emails (required).

create_icpCreate ICPAInspect

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. The profile is stored as given: it is not generated by AI from a website.

Inputs: name (required), titles, summary, keywords, +5 more.

create_webhookCreate webhookBInspect

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). API reference: https://www.emailchaser.com/docs/api-reference/webhooks

Inputs: url (required), type (required), name.

create_workspaceCreate workspaceAInspect

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 calling key. Must be called with the main workspace's key: sub-workspace keys are refused. Workspaces are a Professional-plan feature.

Inputs: name (required), generateApiKey.

create_workspace_api_keyCreate API key for a workspaceAInspect

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 again, so hand it to the user straight away. The new key authorizes the named workspace only and never outlives the calling key. Keys can be revoked in the app under API & MCP.

Inputs: id (required), name, readOnly.

delete_campaignDelete campaignA
DestructiveIdempotent
Inspect

Permanently deletes a campaign and all associated data, including its emails, sequences and scheduled tasks. This cannot be undone.

Inputs: id (required).

delete_icpDelete ICPA
DestructiveIdempotent
Inspect

Deletes an Ideal Customer Profile. Deleting the primary leaves the workspace without an active profile. This cannot be undone.

Inputs: id (required).

delete_leadDelete leadB
DestructiveIdempotent
Inspect

Permanently deletes a lead by ID. This cannot be undone.

Inputs: id (required).

delete_webhookDelete webhookA
DestructiveIdempotent
Inspect

Deletes a registered webhook endpoint by ID so it stops receiving events.

Inputs: id (required).

detach_campaign_sender_emailDetach sender email from campaignA
DestructiveIdempotent
Inspect

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: detaching a sender that is not attached is a no-op.

Inputs: id (required), senderEmailId (required).

get_audience_sizeGet audience sizeA
Read-only
Inspect

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 size an audience and validate targeting. A read-only key may call it.

Inputs: titles, keywords, locations, industries, +2 more.

get_autopilot_runAutopilot: get a runA
Read-only
Inspect

Returns one autopilot run including its full audit trail. It does not return the budget plan: that is returned only in the response that started the run, when budgetUsd was given. Use it to check progress.

Inputs: id (required).

get_billing_profileGet workspace billing profileA
Read-only
Inspect

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 the profile has been set.

Inputs: no named parameters.

get_blocklist_entryGet blocklist entryA
Read-only
Inspect

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".

Inputs: id (required).

get_campaignGet campaignA
Read-only
Inspect

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; when every account is held back, allHeldBack is true and message says the campaign is sending nothing.

Inputs: id (required).

get_campaign_sequenceGet campaign sequenceA
Read-only
Inspect

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.

Inputs: id (required).

get_campaign_statsGet campaign statsA
Read-only
Inspect

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: Emailchaser does not track opens, so its absence is deliberate, not an omission.

Inputs: id (required).

get_credit_balanceGet credit balanceA
Read-only
Inspect

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: every credit action then goes through without using available and is never refused for lack of credits, so there is no need to check the balance or buy credits.

Inputs: no named parameters.

get_deliverability_insightsGet deliverability insightsA
Read-only
Inspect

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 mailbox. The best first call when asked 'why are we landing in spam'.

Inputs: days.

get_dfy_orderGet done-for-you orderA
Read-only
Inspect

Returns one done-for-you order: status (created, pending_approval, processing, completed, failed, partially_completed, canceled), cost breakdown and any failure reason. Use it to track an order's provisioning.

Inputs: id (required).

get_email_verification_jobGet an email verification jobA
Read-only
Inspect

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 billed.

Inputs: jobId (required).

get_email_verification_ratesGet the email verification rateA
Read-only
Inspect

Returns what one email verification costs right now, read from the billing plan the meter actually charges against. The price is read live, never a fixed figure. Every check runs a waterfall of up to two providers and each one that returns a verdict is one billable verification credit, so an address costs ONE credit when the first provider rejects it outright and TWO when both answer. Budget against perAddressCeilingUsd, which is the common case, not perAddressFloorUsd.

Inputs: no named parameters.

get_icpGet ICPA
Read-only
Inspect

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.

Inputs: id (required).

get_inbox_placement_runGet inbox placement runA
Read-only
Inspect

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 never found in any folder, which usually indicates a silent block: a worse problem than spam, with a different fix. spamScore is in tenths of a point (47 means 4.7) and -1 means not scored.

Inputs: id (required).

get_inbox_placement_stats_by_dateGet inbox placement stats by dateA
Read-only
Inspect

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.

Inputs: to, from.

get_leadGet leadA
Read-only
Inspect

Retrieves a lead by ID, including contact details and company information.

Inputs: id (required).

get_lead_conversationGet lead conversationA
Read-only
Inspect

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. Every inbound reply in the thread, with or without an AI draft, can be answered with your own message that uses that reply's id. Use it to read the back-and-forth with one lead before deciding what to do next.

Inputs: id (required).

get_lead_finder_filtersLead Finder: filter values and limitsA
Read-only
Inspect

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 the daily browsing allowance with what is left today), and creditsPerProspect, what adding one person to a campaign costs. Free, and makes no call to the data provider. Filter values in a search must match these values exactly.

Inputs: no named parameters.

get_lead_finder_importLead Finder: add progressA
Read-only
Inspect

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 until it is. A completed add's endReason is all_selected, requested_reached, audience_exhausted or fetch_limit, and a canceled one's is canceled. A failed add can still have added and charged people (see added and creditsSpent); lastError says why it stopped: insufficient_credits, contact_cap_reached, results_expired, budget_exhausted, provider_blocked, invalid_filters, campaign_not_found or internal. A new filters add to finish a partial one starts from the top again and counts the people already added toward its fetch limit (five people per one requested, at least 1,000), so after a large add, pick the missing people by ref from the search results instead.

Inputs: id (required).

get_outcomes_reportGet outcomes reportA
Read-only
Inspect

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. Subscription fees are NOT included. campaignId narrows the outcome side only — spend stays workspace-level — so per-campaign cost figures are partial attribution, not a true campaign cost. Use it to answer 'what did we spend and what did we get'.

Inputs: since, until, campaignId.

get_primary_icpGet primary ICPA
Read-only
Inspect

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.

Inputs: no named parameters.

get_sender_emailGet sender emailB
Read-only
Inspect

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 (up) or in spam (down), and is null while warm-up is off or before 20 warm-up emails were checked.

Inputs: id (required).

get_sender_email_dnsGet sender email DNS vitalsA
Read-only
Inspect

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 healthScore (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). Use it to diagnose deliverability. DNS lookups run live at request time, so the call can take a few seconds but never returns stale records.

Inputs: id (required).

get_sender_email_warmupGet sender email warm-up settingsA
Read-only
Inspect

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 its warm-up emails over the last 7 full days that landed in the inbox rather than spam; null while warm-up is off or before 20 were checked). Warm-up volume is separate from the mailbox's campaign sending limits. When configured is false the mailbox has never warmed, and the values shown are the defaults that switching warm-up on would use.

Inputs: id (required).

get_sender_reputationGet sender reputation and mailbox healthA
Read-only
Inspect

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 blacklistsListed so the count is never read as a total. A placementScore or healthScore of -1 means not measured, not zero.

Inputs: no named parameters.

get_workspace_detailsGet workspace detailsA
Read-only
Inspect

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.

Inputs: no named parameters.

import_instantlyImport from InstantlyAInspect

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.

Inputs: instantlyApiKey (required).

kill_autopilot_runAutopilot: kill a runA
DestructiveIdempotent
Inspect

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. A paused run can be resumed later; a killed one cannot. The optional reason is recorded in the run's audit trail.

Inputs: id (required), reason.

launch_campaignLaunch campaignA
Destructive
Inspect

Launches a new campaign or resumes a paused one. The campaign configuration is validated before launching; emails start sending per the campaign schedule.

Inputs: id (required).

list_autopilot_runsAutopilot: list runsA
Read-only
Inspect

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.

Inputs: page, limit.

list_blocklist_entriesList blocklist entriesA
Read-only
Inspect

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 reports which list it came from.

Inputs: limit, scope, offset, search.

list_campaignsList campaignsA
Read-only
Inspect

Lists cold email campaigns in the workspace with their status and stats (sent, replies, bounces). Supports pagination and filtering by status or folder.

Inputs: page, limit, status, folderId.

list_credit_transactionsList credit transactionsA
Read-only
Inspect

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 a credit purchase whose outcome was unconfirmed. An entry with free set to true was written while the workspace's credits were free: its amount is what the action would have cost, and no credits moved.

Inputs: kind, page, limit, since, +2 more.

list_dfy_ordersList done-for-you ordersA
Read-only
Inspect

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.

Inputs: page, limit.

list_email_verification_jobsList email verification jobsA
Read-only
Inspect

Lists the workspace's standalone email verification jobs, newest first, with live counts and what each has billed so far (meterEvents and spentUsd).

Inputs: page, size, search.

list_email_verification_resultsList an email verification job's resultsA
Read-only
Inspect

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, where 'deliverable' means valid plus catch-all, which is what a campaign will actually send to.

Inputs: jobId (required), page, size, result.

list_icpsList ICPsA
Read-only
Inspect

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.

Inputs: page, limit.

list_inbox_placement_run_resultsList inbox placement run probesB
Read-only
Inspect

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.

Inputs: id (required).

list_inbox_placement_runsList inbox placement runsA
Read-only
Inspect

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 of -1 means NOT MEASURED yet and must never be reported as 0%.

Inputs: limit, testId.

list_inbox_placement_testsList inbox placement testsA
Read-only
Inspect

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. Inbox placement is a paid add-on: a workspace without it gets an error, not an empty list.

Inputs: no named parameters.

list_instantly_accountsList Instantly sending accountsA
Read-only
Inspect

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, so each account is either reconnected via Google/Microsoft OAuth in the app or bulk-uploaded with app passwords using the CSV. The backend treats all non-GET calls as writes, so this needs a read & write API key.

Inputs: instantlyApiKey (required).

list_lead_finder_importsLead Finder: list addsA
Read-only
Inspect

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.

Inputs: limit.

list_leadsList leadsA
Read-only
Inspect

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.

Inputs: page, email, limit, campaignId.

list_repliesList repliesA
Read-only
Inspect

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. Any reply can be answered with your own message, including ones with no AI draft, such as wrong_person or uncategorized; a reply that has an AI draft can also be answered by editing and sending that draft.

Inputs: page, limit, since, leadId, +2 more.

list_reply_draftsList AI reply draftsA
Read-only
Inspect

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 it is sent. A draft's subject and body can be edited before it goes out.

Inputs: page, limit.

list_sender_emailsList sender emailsA
Read-only
Inspect

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 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 (up) or in spam (down), and is null while warm-up is off or before 20 warm-up emails were checked. Use it to pick the accounts to add to a campaign.

Inputs: page, limit, spaceId, campaignId, +1 more.

list_webhooksList webhooksA
Read-only
Inspect

Lists the webhook endpoints registered for the workspace, with their event type and status.

Inputs: no named parameters.

list_workspacesList workspacesA
Read-only
Inspect

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 that workspace's own key.

Inputs: no named parameters.

mark_lead_meetingMark meeting booked on leadA
Idempotent
Inspect

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 campaign stats totals.meetings and in the outcomes report). Idempotent: repeating the call keeps the original timestamp and fires no second webhook.

Inputs: id (required).

move_lead_to_campaignMove lead to another campaignAInspect

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.

Inputs: leadId (required), sourceCampaignId (required), targetCampaignId (required).

pause_autopilot_runAutopilot: pause a runAInspect

Suspends an autopilot run that is still in flight; a paused run can be resumed later. Pausing never skips the approval gate. A completed or failed run cannot be paused.

Inputs: id (required).

pause_campaignPause campaignA
Idempotent
Inspect

Pauses a running campaign and cancels all currently scheduled emails.

Inputs: id (required).

plan_autopilotAutopilot: size a budget planAInspect

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.033 at list) per revealed prospect, and a note says when that puts the monthly cost above the budget. Pure computation — nothing is created or charged. expectedMeetingsPerMonth is a planning estimate on pessimistic assumptions, not a promise. It answers 'what does $X/month get me' without starting a run.

Inputs: budgetUsd (required), platformUsd, maxMailboxes.

purchase_creditsBuy credits (charges real money)A
Destructive
Inspect

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. The server prices the charge, so treat this as the list price and not a quote. Errors carry a machine-readable code: billing_required and payment_failed mean no money moved (fix billing or the card, then retry); credits_free means this workspace's credits are free, so nothing was charged and there is nothing to buy; temporarily_unavailable means the purchase stopped before any charge, so it is safe to retry shortly; purchase_incomplete means the card WAS charged but crediting failed — do NOT retry, support is already notified; purchase_unconfirmed means the outcome is unknown or the purchase completed without a balance to report: a stripe_topup entry in the credit ledger means the card was charged, so retrying before the outcome is known can charge twice. After a timeout or a dropped connection the outcome is equally unknown, so do not call this again until it is known.

Inputs: credits (required).

refresh_icp_audience_sizeRefresh ICP audience sizeAInspect

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.

Inputs: id (required).

remove_blocklist_entriesRemove blocklist entriesA
DestructiveIdempotent
Inspect

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 (blocklist entry IDs); a value that is not blocked is counted as skipped rather than failing the call. Scope defaults to "workspace" and never touches the account-wide list unless asked; removing an account-wide entry only works from the main workspace.

Inputs: ids, scope, values.

remove_blocklist_entryRemove one blocklist entryA
DestructiveIdempotent
Inspect

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. It removes one entry per call.

Inputs: id (required).

replace_campaign_sequenceReplace campaign sequenceA
DestructiveIdempotent
Inspect

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 future sends only; already-sent emails are untouched.

Inputs: id (required), steps (required), signature.

resume_autopilot_runAutopilot: resume a runAInspect

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.

Inputs: id (required).

search_dfy_domainsSearch available sending domainsA
Read-only
Inspect

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. Returns the exact price of each available domain.

Inputs: query (required), tlds, limit.

search_lead_finderLead Finder: search the contact database (free)A
Read-only
Inspect

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 numbers are never shown; contact details are revealed only when people are added to a campaign. Spends no credits, but every result row uses the account's daily browsing allowance (rowsLeftToday; 2,000 rows a day by default, 250 on a trial). An account may start 20 searches a minute. Searches that find nobody also draw on a bucket of 120 that refills one every 30 seconds; while it is empty every new search is refused for a moment (rate_limited, reason empty_searches, with retryAfterSeconds). The same page asked for again within 10 minutes costs nothing. total is the exact audience size only when totalIsExact is true; otherwise it is a lower bound (often 50,000). If status is running or totalStatus is pending, total, hasMore and maxPage are recomputed when the search is read again by its searchId. The exact count is fetched in the background and can take up to about a minute, so totalStatus can read pending (and totalIsExact false) on several polls in a row: that is normal, not an error. The count is settled once totalIsExact is true or totalStatus is done (exact) or failed (the count could not be fetched, so total stays a lower bound); each read of the search waits about six seconds, so around ten reads cover it. The people already returned are final and usable the whole time: show them, and add them with their refs, without waiting for the count. status failed means the search did not run, and error says why (rate_limited, timeout, provider_blocked, budget_exhausted, invalid_filters, expired or internal): it is not an empty audience, so try again later. Each result's ref identifies that person when adding them to a campaign, valid for 60 minutes after its page was last shown. inWorkspace means Lead Finder added that person to this workspace and their lead is still there, so adding them again is skipped for free; someone who is a lead from another source shows false, and adding them is skipped for free too. A read-only key may use this tool.

Inputs: filters (required), page, pageSize.

send_replySend your own replyA
Destructive
Inspect

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, uncategorized), and it is how you send a second message in a conversation that went quiet: answer the prospect's latest reply again. The message is scheduled at once, goes out within about a minute and cannot be recalled; its status then moves from scheduled to sent in the lead's conversation. Only id and body are required. Leave to out to Reply All: the person who wrote goes in To and everyone else they addressed in Cc, never one of your own mailboxes. Set to to choose the recipients yourself: then to, cc and bcc are used exactly as given (cc is only read together with to; bcc works either way), at most 20 addresses in all. There is no subject: the answer keeps the thread's subject with "Re: " in front, so the thread never breaks. contentType is "text" by default; use "html" only when body is HTML (paragraphs, line breaks, bold, italics, links, lists and headings are kept; images, tables and inline styles are removed). Merge tags such as {first_name} and spintax such as {Hi|Hello} are filled in when it sends. No signature is added: put yours in body. attachments takes at most 5 files, 10 MB in total. Refused with 409 when the id is not an inbound reply or an identical body went to it less than 60 seconds ago (so a retry after a timeout never sends twice), 422 when there is no connected sender mailbox or recipient, the lead has unsubscribed or an earlier email to the recipient hard-bounced, and 429 after 20 answers to one reply in an hour. Needs a read & write key. API reference: https://www.emailchaser.com/docs/api-reference/replies

Inputs: id (required), body (required), cc, to, +3 more.

send_reply_draftSend AI reply draftA
Destructive
Inspect

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 check its wording before sending: an edit has to be made before it is sent. Refused with 409 for anything that is not a sendable AI reply draft (already sent or scheduled emails, inbound replies, sequence templates) and with 422 when the conversation has no connected sender mailbox or no resolvable recipient.

Inputs: id (required).

set_billing_profileSet workspace billing profileA
Idempotent
Inspect

Creates or replaces the workspace's registrant and postal contact details. Domain registration files these details with the registrar, so every field except addressLineTwo is required; a done-for-you order uses them when it registers domains. Idempotent: sending the same body twice leaves the same state.

Inputs: city (required), phone (required), state (required), company (required), +7 more.

set_primary_icpSet primary ICPA
Idempotent
Inspect

Promotes an Ideal Customer Profile to the workspace's active one, demoting any existing primary. At most one profile is primary per workspace.

Inputs: id (required).

source_prospectsSource prospects into a campaign (spends credits)A
Destructive
Inspect

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 says otherwise (max 500 per call). Every stored prospect costs the reveal price in credits (1 at the time of writing; the response reports creditsPerProspect and estimatedCredits, the most this batch can cost). Duplicates, blocklisted domains and contacts without an email address are filtered out before any credit is spent. Asynchronous: the prospects arrive in the campaign's leads over time. Calling again for the same campaign and profile pages deeper into the audience instead of re-revealing (and re-paying for) the same people.

Inputs: campaignId (required), count, icpId.

start_autopilot_runAutopilot: start a runAInspect

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 the run is approved; approval then reveals the first batch at 1 credit ($0.033 at list) per prospect, up to targetProspects and at most 2,000. The call is refused when the wallet cannot cover that batch. When budgetUsd is given, the sized budget plan is snapshotted on the run and returned in this response, the only response that carries it, with credits valued at list, and targetProspects defaults to the plan's monthly prospects. Without budgetUsd the run can never buy sending accounts, so the workspace needs one connected before approval or the run fails. Requires an active subscription (any plan).

Inputs: website (required), budgetUsd, replyMode, maxMailboxes, +1 more.

unmark_lead_meetingUnmark booked meeting on leadA
DestructiveIdempotent
Inspect

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.

Inputs: id (required).

update_blocklist_entryUpdate blocklist entryA
Idempotent
Inspect

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 key and moves the entry onto the main workspace.

Inputs: id (required), scope, value.

update_campaignUpdate campaignA
Idempotent
Inspect

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.

Inputs: id (required), name, emoji, timezone, +17 more.

update_campaign_scheduleUpdate campaign scheduleA
Idempotent
Inspect

Updates a campaign's sending schedule: timezone, sending days, daily time window and frequency. everySchedule can be left out: the campaign keeps its current frequency, or 5 minutes (the app's default) if it has none.

Inputs: id (required), timezone (required), sendAt, endSchedule, +5 more.

update_icpUpdate ICPA
Idempotent
Inspect

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.

Inputs: id (required), name, titles, summary, +5 more.

update_leadUpdate leadA
Idempotent
Inspect

Updates a lead's contact details. Only the provided fields are changed.

Inputs: id (required), email, phone, title, +7 more.

update_lead_categoryUpdate lead categoryA
Idempotent
Inspect

Sets or corrects a lead's category (tag), typically to fix an AI misclassification of a reply. Setting meeting_booked behaves exactly like marking a meeting as booked. Changing the category away from meeting_booked does NOT clear the booked-meeting mark: that mark is removed only by unmarking the meeting. A real change fires the LeadCategoryUpdate webhook; setting the value the lead already has is a no-op.

Inputs: id (required), category (required).

update_reply_draftEdit AI reply draftA
Idempotent
Inspect

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 it is sent. Emails that are not AI reply drafts (sent or scheduled emails, inbound replies, sequence templates) are refused. API reference: https://www.emailchaser.com/docs/api-reference/replies

Inputs: id (required), body, subject.

update_sender_emailUpdate sender emailA
Idempotent
Inspect

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 and are not changed here. The returned account includes its healthScore (0-100, higher is better; null while warm-up is off or before 20 warm-up emails were checked).

Inputs: id (required), givenName, signature, familyName, +4 more.

update_sender_email_warmupUpdate sender email warm-upA
Idempotent
Inspect

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 from campaign sending limits. A mailbox that has never warmed needs enabled: true to take any other setting, and is then enrolled with the defaults (2 a day, 2 more each day, up to 10 a day, weekdays only, UTC) plus the settings given. Raising capLimit on a mailbox that is already warming lifts today's target without restarting its ramp. Each mailbox succeeds or fails on its own: the result lists the updated mailboxes' settings, each with its healthScore (0-100, higher is better; null while warm-up is off or before 20 warm-up emails were checked), under updated, and any failures with the reason under failed.

Inputs: ids (required), enabled, capLimit, timezone, +4 more.

update_webhookUpdate webhookA
Idempotent
Inspect

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. API reference: https://www.emailchaser.com/docs/api-reference/webhooks

Inputs: id (required), url, name, type, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables running cold email from AI apps, including mailbox and domain setup, warmup, lead search, campaign creation and review, reply handling, deals, and reporting.
      MIT
    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables AI assistants to manage cold-email infrastructure through natural language, covering domain and mailbox provisioning, DNS setup, email warming, inbox and reply triage, exports, pre-warmed domain purchases, and webhooks. Supports hosted OAuth or local stdio installs with scoped read, write, and purchase permissions, plus two-step confirmation for anything that charges a card.
      47 PyPI
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to programmatically manage email outreach campaigns, leads, domains, senders, and webhook events, as well as send emails, through the Model Context Protocol over HTTP.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to build, preview, launch, and monitor LinkedIn outbound campaigns, draft replies for approval, manage campaign settings, and upgrade profiles.
      1
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources