Skip to content

ai.bobwork/emailwarmup

ai.bobwork/emailwarmupbobwork.aistreamable-httpv1.0.0Scanned

Warm up mailboxes, check the ready-for-outbound gate, run cold email and get checkout links.

45 tools: 3 can delete or cancel things, 28 change things and 14 only read.

Tools: 3 delete, 0 irreversible, 28 write, 14 read.
  • Reads private data · 13
  • Reads text others write · 14
  • Can send data out · 0
  • 1 finding

Anlyon alternative

31 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

45 tools

Deletes or cancels 3Claude Code: deny
  • delete_dns_recordDelete a DNS record by id (from list_dns_records).No findings

    Why it is in this group

    • The name "delete_dns_record" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a DNS record by id (from list_dns_records). Deleting MX, SPF, DKIM or DMARC stops the mailboxes working.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • delete_workspaceDelete a client workspace.No findings

    Why it is in this group

    • The name "delete_workspace" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a client workspace. Its mailboxes are NOT deleted: they move back to My mailboxes and keep warming. The client's report link stops working.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • remove_mailboxRemove a mailbox and delete its stored login.No findings

    Why it is in this group

    • The name "remove_mailbox" says "remove": a word for removing or ending something.
    • The description says "Irreversible".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove a mailbox and delete its stored login. Irreversible: ask the user first, then pass confirm=true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
Changes things 28Claude Code: ask
  • add_contactsAdd up to 1,000 contacts to a campaign.No findings

    Why it is in this group

    • The name "add_contacts" says "add": a word for a change.
    Description, as the server wrote it
    Add up to 1,000 contacts to a campaign. Each needs email; other fields (first_name, company…) fill the placeholders. Duplicates and unsubscribed addresses are skipped.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • add_dns_recordAdd a DNS record to a domain you bought here.No findings

    Why it is in this group

    • The name "add_dns_record" says "add": a word for a change.
    Description, as the server wrote it
    Add a DNS record to a domain you bought here. name = subdomain ('' for the domain itself). Types A, AAAA, CNAME, ALIAS, MX, TXT, CAA, SRV.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • add_hosted_mailboxesAdd mailboxes to a domain you bought here ($3 per mailbox per month).No findings

    Why it is in this group

    • The name "add_hosted_mailboxes" says "add": a word for a change.
    Description, as the server wrote it
    Add mailboxes to a domain you bought here ($3 per mailbox per month). Returns a Stripe checkout link.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • buy_domainsBuy domains with up to 3 mailboxes each.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Buy domains with up to 3 mailboxes each. Returns a Stripe checkout link for the person to pay; setup starts once paid. Needs accept_sending_rules true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • check_dmarcLook up a domain's DMARC record and policy.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Look up a domain's DMARC record and policy.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_spfLook up a domain's SPF record.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Look up a domain's SPF record.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • connect_imap_mailboxConnect any mailbox with IMAP + SMTP.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Connect any mailbox with IMAP + SMTP. The login is tested before it is saved. Use an app password when two-factor sign-in is on. Give a preset (see list_providers) or the hosts. Warm-up starts the same day.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • connect_zoho_mailboxConnect a Zoho Mail mailbox through the Zoho API (works on Zoho's free plan).Reads text others writeNo findings

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Connect a Zoho Mail mailbox through the Zoho API (works on Zoho's free plan). Needs a Self Client id, secret and a generated code from api-console.zoho.com.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • create_billing_checkoutGet a Stripe Checkout url for extra mailboxes beyond the free limit (monthly, or yearly = 10 months' price for 12).No findings

    Why it is in this group

    • The name "create_billing_checkout" says "create": a word for a change.
    Description, as the server wrote it
    Get a Stripe Checkout url for extra mailboxes beyond the free limit (monthly, or yearly = 10 months' price for 12). The USER opens it and pays; you cannot. Then poll get_billing_status. Returns already:true when the account is subscribed. Prices come back in the result (prices).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_campaignCreate a draft Outbound campaign (nothing is sent).No findings

    Why it is in this group

    • The name "create_campaign" says "create": a word for a change.
    Description, as the server wrote it
    Create a draft Outbound campaign (nothing is sent). Emails can use {first_name}, {company} and any contact field. Any connected mailbox can send; one that is still warming shows a warning first.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_credits_checkoutGet a Stripe Checkout url to top up prepaid credits for Outbound sending and AI drafts (one-off $5, $10, $25 or $100; credits never expire).No findings

    Why it is in this group

    • The name "create_credits_checkout" says "create": a word for a change.
    Description, as the server wrote it
    Get a Stripe Checkout url to top up prepaid credits for Outbound sending and AI drafts (one-off $5, $10, $25 or $100; credits never expire). The USER opens it and pays; you cannot. Then poll get_billing_status.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_workspaceCreate a client workspace, e.g.No findings

    Why it is in this group

    • The name "create_workspace" says "create": a word for a change.
    Description, as the server wrote it
    Create a client workspace, e.g. the client's company name (max 100 per account).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • domain_healthSPF, DKIM selector, DMARC policy and MX for every domain you have connected.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    SPF, DKIM selector, DMARC policy and MX for every domain you have connected.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_billing_statusPayment status after you gave the user a checkout link: credit balance, whether the extra-mailbox subscription is active, mailboxes vs the free limit, and checkouts still waiting f…Reads private dataReads text others write1 finding

    Why it is in this group

    • The name "get_billing_status" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    What it can reach

    • private-dataThe description's first sentence says "status" and "mailbox": it reads mail.
    • untrusted-inputThe description's first sentence says "status" and "mailbox": it reads inbound email, which other people can write.

    Findings

    • Warn

      The server marks "get_billing_status" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "get_billing_status" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Payment status after you gave the user a checkout link: credit balance, whether the extra-mailbox subscription is active, mailboxes vs the free limit, and checkouts still waiting for payment. Confirms a paid checkout straight away.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • hosted_mailbox_loginPassword, IMAP and SMTP settings for one of your hosted mailboxes.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Password, IMAP and SMTP settings for one of your hosted mailboxes.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • mailbox_activityThe last 100 warm-up events for a mailbox (sent, received, replied, rescued from spam, errors).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The last 100 warm-up events for a mailbox (sent, received, replied, rescued from spam, errors).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • move_mailbox_to_workspacePut a mailbox in a client workspace.No findings

    Why it is in this group

    • The name "move_mailbox_to_workspace" says "move": a word for a change.
    Description, as the server wrote it
    Put a mailbox in a client workspace. Leave workspace_id out (or empty) to move it back to My mailboxes.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • pause_campaignPause a running campaign.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pause a running campaign.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • pause_mailboxPause warm-up for a mailbox.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pause warm-up for a mailbox.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • rename_workspaceRename a client workspace.No findings

    Why it is in this group

    • The name "rename_workspace" says "rename": a word for a change.
    Description, as the server wrote it
    Rename a client workspace.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • resume_mailboxResume warm-up for a mailbox.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Resume warm-up for a mailbox.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • set_pool_modeShared network (default: warm with every mailbox on the service) or private pool (only your own mailboxes write to each other; needs 2+).No findings

    Why it is in this group

    • The name "set_pool_mode" says "set": a word for a change.
    Description, as the server wrote it
    Shared network (default: warm with every mailbox on the service) or private pool (only your own mailboxes write to each other; needs 2+).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • start_campaignStart or resume a campaign.Reads text others writeNo findings

    Why it is in this group

    • The name "start_campaign" says "start": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Start or resume a campaign. This SENDS real email and uses credits. Confirm with the user first. accept_sending_rules=true means the user agrees to https://emailwarmup.bobwork.ai/terms#outbound-beta (only people who may receive it, honest sender, unsubscribe honoured). If a chosen mailbox is still warming the call fails with warming:true; show the user the message and set accept_warming_risk=true only after they explicitly agree. Without credits it fails with credits_required:true: use create_credits_checkout.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • test_mailboxSign in to the mailbox now and report whether the stored login still works.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Sign in to the mailbox now and report whether the stored login still works.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • update_campaignEdit a paused or draft campaign.No findings

    Why it is in this group

    • The name "update_campaign" says "update": a word for a change.
    Description, as the server wrote it
    Edit a paused or draft campaign. Fields you leave out keep their value.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • update_mailboxChange a mailbox's display name, daily warm-up cap (1-100, null = default) or time zone (IANA, e.g.No findings

    Why it is in this group

    • The name "update_mailbox" says "update": a word for a change.
    Description, as the server wrote it
    Change a mailbox's display name, daily warm-up cap (1-100, null = default) or time zone (IANA, e.g. Europe/London).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • warmup_statsTotals across your mailboxes: today and last 7 days (sent, received, rescued, replied), active and ready counts.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Totals across your mailboxes: today and last 7 days (sent, received, rescued, replied), active and ready counts.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 14Show 14 read-only tools
  • check_dkimFind a domain's DKIM key: tries the selector you give, selectors seen in real mail, then 45 common ones.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "find" and "mail": it reads mail.
    • untrusted-inputThe description's first sentence says "find" and "mail": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Find a domain's DKIM key: tries the selector you give, selectors seen in real mail, then 45 common ones.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_accountYour account: email, credit balance, free mailbox allowance (10, or 20 for accounts created before 27 October 2026, plus referral bonus), paid extras and your referral link.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_account" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "email": it reads mail.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Your account: email, credit balance, free mailbox allowance (10, or 20 for accounts created before 27 October 2026, plus referral bonus), paid extras and your referral link.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_campaignOne campaign: its emails, mailboxes, stats and time left.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_campaign" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "email": it reads mail.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    One campaign: its emails, mailboxes, stats and time left.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_creditsPrepaid credit balance, prices and recent charges (Outbound emails, AI drafts).Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_credits" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "email": it reads mail.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Prepaid credit balance, prices and recent charges (Outbound emails, AI drafts).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_mailboxOne mailbox's warm-up status and health.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_mailbox" says "get": a word for reading.

    What it can reach

    • private-dataThe name "get_mailbox" says "get" and "mailbox": it reads mail.
    • private-dataThe description's first sentence says "mailbox": it reads mail.
    • untrusted-inputThe name "get_mailbox" says "get" and "mailbox": it reads inbound email, which other people can write.
    • untrusted-inputThe description's first sentence says "mailbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    One mailbox's warm-up status and health.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_workspace_reportThe public read-only report link for one client workspace (mailbox health, spam rate, SPF/DKIM/DMARC).Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_workspace_report" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "mailbox": it reads mail.
    • untrusted-inputThe description's first sentence says "mailbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    The public read-only report link for one client workspace (mailbox health, spam rate, SPF/DKIM/DMARC). The client opens it without a login; it shows no prices and nothing about other clients.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_bought_domainsDomains bought in the domain shop, their hosted mailboxes, renewal date and price, plus IMAP/SMTP settings.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "list_bought_domains" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "mailbox": it reads mail.
    • untrusted-inputThe description's first sentence says "mailbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Domains bought in the domain shop, their hosted mailboxes, renewal date and price, plus IMAP/SMTP settings.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_campaign_contactsContacts in a campaign and where each is in the sequence (first 200).Reads private dataNo findings

    Why it is in this group

    • The name "list_campaign_contacts" says "list": a word for reading.

    What it can reach

    • private-dataThe name "list_campaign_contacts" says "list" and "contact": it reads contacts.
    • private-dataThe description's first sentence says "contact": it reads contacts.
    Description, as the server wrote it
    Contacts in a campaign and where each is in the sequence (first 200).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_campaignsYour Outbound campaigns with status and stats.No findings

    Why it is in this group

    • The name "list_campaigns" says "list": a word for reading.
    Description, as the server wrote it
    Your Outbound campaigns with status and stats.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_dns_recordsDNS records on a domain you bought here.No findings

    Why it is in this group

    • The name "list_dns_records" says "list": a word for reading.
    Description, as the server wrote it
    DNS records on a domain you bought here.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_mailboxesEvery connected mailbox with warm-up day, status, 7-day spam rate, today's and last 7 days' numbers, and whether it is ready for outbound.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "list_mailboxes" says "list": a word for reading.

    What it can reach

    • private-dataThe name "list_mailboxes" says "list" and "mailbox": it reads mail.
    • private-dataThe description's first sentence says "mailbox": it reads mail.
    • untrusted-inputThe name "list_mailboxes" says "list" and "mailbox": it reads inbound email, which other people can write.
    • untrusted-inputThe description's first sentence says "mailbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Every connected mailbox with warm-up day, status, 7-day spam rate, today's and last 7 days' numbers, and whether it is ready for outbound.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_providersIMAP/SMTP presets (Gmail app password, Yahoo, iCloud, Zoho, Lark, SES, SendGrid, Mailgun…) with hosts and ports, plus the Google and Zoho API routes.Reads private dataNo findings

    Why it is in this group

    • The name "list_providers" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "password": it reads secrets.
    Description, as the server wrote it
    IMAP/SMTP presets (Gmail app password, Yahoo, iCloud, Zoho, Lark, SES, SendGrid, Mailgun…) with hosts and ports, plus the Google and Zoho API routes.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_workspacesClient workspaces (agencies): each client's mailboxes are kept separate under one login and one bill.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "list_workspaces" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "mailbox": it reads mail.
    • untrusted-inputThe description's first sentence says "mailbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Client workspaces (agencies): each client's mailboxes are kept separate under one login and one bill. Returns id, name and mailbox count. Each mailbox in list_mailboxes has a workspace id (null = My mailboxes).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_domainsFind available lookalike domains for cold email, with first-term and renewal prices.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "search_domains" says "search": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "find" and "email": it reads mail.
    • untrusted-inputThe description's first sentence says "find" and "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Find available lookalike domains for cold email, with first-term and renewal prices.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.

Reads text others write14
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "get_billing_status" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "get_billing_status" says "get": a word for reading.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http emailwarmup https://app-emailwarmup.bobwork.ai/mcp --header 'Authorization: <your-authorization>'
claude mcp add --transport http emailwarmup https://app-emailwarmup.bobwork.ai/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__emailwarmup__get_account",
      "mcp__emailwarmup__list_mailboxes",
      "mcp__emailwarmup__get_mailbox",
      "mcp__emailwarmup__list_providers",
      "mcp__emailwarmup__list_workspaces",
      "mcp__emailwarmup__get_workspace_report",
      "mcp__emailwarmup__check_dkim",
      "mcp__emailwarmup__get_credits",
      "mcp__emailwarmup__list_campaigns",
      "mcp__emailwarmup__get_campaign",
      "mcp__emailwarmup__list_campaign_contacts",
      "mcp__emailwarmup__list_bought_domains",
      "mcp__emailwarmup__search_domains",
      "mcp__emailwarmup__list_dns_records"
    ],
    "ask": [
      "mcp__emailwarmup__mailbox_activity",
      "mcp__emailwarmup__warmup_stats",
      "mcp__emailwarmup__connect_imap_mailbox",
      "mcp__emailwarmup__connect_zoho_mailbox",
      "mcp__emailwarmup__google_connect_link",
      "mcp__emailwarmup__update_mailbox",
      "mcp__emailwarmup__pause_mailbox",
      "mcp__emailwarmup__resume_mailbox",
      "mcp__emailwarmup__test_mailbox",
      "mcp__emailwarmup__set_pool_mode",
      "mcp__emailwarmup__create_workspace",
      "mcp__emailwarmup__rename_workspace",
      "mcp__emailwarmup__move_mailbox_to_workspace",
      "mcp__emailwarmup__domain_health",
      "mcp__emailwarmup__check_spf",
      "mcp__emailwarmup__check_dmarc",
      "mcp__emailwarmup__create_campaign",
      "mcp__emailwarmup__update_campaign",
      "mcp__emailwarmup__add_contacts",
      "mcp__emailwarmup__start_campaign",
      "mcp__emailwarmup__pause_campaign",
      "mcp__emailwarmup__get_billing_status",
      "mcp__emailwarmup__create_billing_checkout",
      "mcp__emailwarmup__create_credits_checkout",
      "mcp__emailwarmup__buy_domains",
      "mcp__emailwarmup__add_hosted_mailboxes",
      "mcp__emailwarmup__hosted_mailbox_login",
      "mcp__emailwarmup__add_dns_record"
    ],
    "deny": [
      "mcp__emailwarmup__remove_mailbox",
      "mcp__emailwarmup__delete_workspace",
      "mcp__emailwarmup__delete_dns_record"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as emailwarmup. Review it before you use it.

Capability tags behind 16 rules
  • mcp__emailwarmup__get_account private-data, untrusted-input
  • mcp__emailwarmup__list_mailboxes private-data, untrusted-input
  • mcp__emailwarmup__get_mailbox private-data, untrusted-input
  • mcp__emailwarmup__list_providers private-data
  • mcp__emailwarmup__connect_imap_mailbox untrusted-input
  • mcp__emailwarmup__connect_zoho_mailbox untrusted-input
  • mcp__emailwarmup__list_workspaces private-data, untrusted-input
  • mcp__emailwarmup__get_workspace_report private-data, untrusted-input
  • mcp__emailwarmup__check_dkim private-data, untrusted-input
  • mcp__emailwarmup__get_credits private-data, untrusted-input
  • mcp__emailwarmup__get_campaign private-data, untrusted-input
  • mcp__emailwarmup__list_campaign_contacts private-data
  • mcp__emailwarmup__start_campaign untrusted-input
  • mcp__emailwarmup__get_billing_status private-data, untrusted-input
  • mcp__emailwarmup__list_bought_domains private-data, untrusted-input
  • mcp__emailwarmup__search_domains private-data, untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/ai.bobwork/emailwarmup/verify?hash=cfb54a9659e9465a412665839e215c6faeda59c9eea75ae6c11e69746ac30787" | jq -e '.changed == false'

Pinned hash cfb54a9659e9, from Nov 2, 2026, 14:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/ai.bobwork/emailwarmup/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for ai.bobwork/emailwarmup
[![anlyon.dev](https://anlyon.dev/badge/ai.bobwork/emailwarmup.svg)](https://anlyon.dev/servers/ai.bobwork/emailwarmup)

Source: MCP Registry · repository. Synced Nov 2, 2026, 14:17 UTC.