Skip to content

WarmInboxes Free Deliverability Tools

com.warminboxes/deliverability-toolswarminboxes.comstreamable-httpv1.0.0Scanned

Free cold email deliverability checks, list tools, inbox planning and original placement research.

50 tools: 1 do something that can't be undone, 27 change things and 22 only read.

Tools: 0 delete, 1 irreversible, 27 write, 22 read.
  • Reads private data · 14
  • Reads text others write · 36
  • Can send data out · 2
  • 5 findings

Anlyon alternative

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

50 tools

Can't be undone 1Claude Code: ask
  • combine_csvsMerge several lead CSVs into one, matching columns that mean the same thing (Email, email_address, E-mail), optionally removing duplicate emails and adding a column for the file ea…1 finding

    Why it is in this group

    • The description's first verb is "merge": a word for a change that another call does not undo.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "combine_csvs" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "merge": a word for a change that another call does not undo.

      What this check looks for
    Description, as the server wrote it
    Merge several lead CSVs into one, matching columns that mean the same thing (Email, email_address, E-mail), optionally removing duplicate emails and adding a column for the file each row came from. Returns the combined CSV when it is 500 rows or fewer. POST JSON: files is an array.

    Annotations the server declares

    • title: Combine lead CSVs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 27Claude Code: ask
  • audit_campaignAudit a cold email campaign before launch: the lead CSV and the sequence checked together for merge tags with no column or empty values, variable syntax the sequencer will not pars…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
    Audit a cold email campaign before launch: the lead CSV and the sequence checked together for merge tags with no column or empty values, variable syntax the sequencer will not parse, role and disposable addresses, duplicates and too many contacts per company, plus a send forecast from the sending settings. Pass the CSV text and every step of the sequence.

    Annotations the server declares

    • title: Pre-send campaign audit
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_blacklistCheck a domain or IP against 20+ major email blacklists (Spamhaus, Barracuda, SORBS and others) and report which list it appears on.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    Check a domain or IP against 20+ major email blacklists (Spamhaus, Barracuda, SORBS and others) and report which list it appears on.

    Annotations the server declares

    • title: Blacklist / RBL check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_bulk_sender_requirementsThe bulk sender requirements, sorted honestly: SPF, DKIM, DMARC and MX checked from DNS; forward and reverse DNS when given the sending IP; one-click unsubscribe and From alignment…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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    The bulk sender requirements, sorted honestly: SPF, DKIM, DMARC and MX checked from DNS; forward and reverse DNS when given the sending IP; one-click unsubscribe and From alignment when given a received message's raw headers; and the requirements no outside tool can see (complaint rate, per-connection TLS) named as not checked rather than passed.

    Annotations the server declares

    • title: Gmail, Yahoo and Microsoft bulk sender requirements
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_burned_inboxThe Burned Inbox Checker runs on its own free site, burnedinbox.com, not on this server.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 Burned Inbox Checker runs on its own free site, burnedinbox.com, not on this server. Call it when someone asks whether a domain or inbox is burned: it sends them there and names the checks here that answer part of the question (check_domain_reputation, check_deliverability).

    Annotations the server declares

    • title: Burned Inbox Checker (separate site)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_cnameFollow a host's full CNAME chain and flag the mistakes that break a cold-email tracking domain.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    Follow a host's full CNAME chain and flag the mistakes that break a cold-email tracking domain. Pass expected to assert where the chain should end up.

    Annotations the server declares

    • title: CNAME chain
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_deliverabilityGrade a domain A-F for cold email readiness.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    Grade a domain A-F for cold email readiness. Checks SPF, DKIM, DMARC, MX, blacklists and domain age together and returns a weighted score with a per-check breakdown and what to fix. Start here for open-ended "is this domain any good" questions.

    Annotations the server declares

    • title: Deliverability grade (A-F)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_dmarcLook up and parse a domain's DMARC record: policy, subdomain policy, percentage, alignment and reporting tags, each explained.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    Look up and parse a domain's DMARC record: policy, subdomain policy, percentage, alignment and reporting tags, each explained. p=none (monitoring) passes: it meets Google and Yahoo's requirement and is fine for broad cold email. p=quarantine is the step for stricter enforcement; do not tell someone p=none is broken.

    Annotations the server declares

    • title: DMARC record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_domain_reputationFor "this domain used to land and now it does not".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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    For "this domain used to land and now it does not". Checks the domain against SURBL, its authentication, its age and the address its website resolves to, and returns a verdict by elimination (listed, broken, young, clean or unknown) with what it rules out. No reputation score: receivers hold that privately. The Spamhaus DBL needs a paid key and is reported as not checked, never as clean.

    Annotations the server declares

    • title: Is the domain the problem
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_email_authenticationSPF, DKIM, DMARC, MX, BIMI and MTA-STS for one domain in one call, each judged pass, weak, fail or not set, with the essentials separated from the optional records.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    SPF, DKIM, DMARC, MX, BIMI and MTA-STS for one domain in one call, each judged pass, weak, fail or not set, with the essentials separated from the optional records. BIMI and MTA-STS are optional and come back "absent", never failed. Use it when someone has been told to "fix their email authentication" and does not know which record that means.

    Annotations the server declares

    • title: Email authentication, all six records
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_google_domainTell whether a domain is already attached to a Google Workspace account, or is clear for a fresh Google tenant.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    Tell whether a domain is already attached to a Google Workspace account, or is clear for a fresh Google tenant.

    Annotations the server declares

    • title: Google Workspace tenancy
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_rdnsThe PTR record for an IPv4 or IPv6 address, and the forward lookup that decides whether it counts.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    The PTR record for an IPv4 or IPv6 address, and the forward lookup that decides whether it counts. Reverse DNS is delegated to whoever holds the address block, so a PTR alone proves nothing — the operator of an IP can point it at any hostname, including one they do not own. Only the round trip is evidence: PTR names a host, that host resolves back to the same address. That pair is forward-confirmed reverse DNS (FCrDNS), it is what Google and Yahoo mean when they list forward and reverse DNS among their bulk sender requirements, and it is what `fcrdns` reports. Over IPv6 it is stricter still: Gmail rejects IPv6 mail from an address without it, where the same mail over IPv4 would be accepted. Reports a missing PTR separately from a PTR that fails to confirm, because the fixes differ and only the address block's operator — usually the hosting provider, not the sender — can set either.

    Annotations the server declares

    • title: Reverse DNS and forward confirmation
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_spamhaus_dblThe Spamhaus Domain Block List needs a paid query key and is NOT queried by this server.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 Spamhaus Domain Block List needs a paid query key and is NOT queried by this server. Call this when someone asks about Spamhaus: it says plainly that nothing was checked, names the blocklists that do run here (check_surbl, check_blacklist), and gives Spamhaus's own free lookup to check by hand. It never reports a domain as clean on Spamhaus.

    Annotations the server declares

    • title: Spamhaus DBL (not queried here)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_spfLook up a domain's SPF record and validate it, including the recursive DNS lookup count that silently breaks SPF past 10.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    Look up a domain's SPF record and validate it, including the recursive DNS lookup count that silently breaks SPF past 10.

    Annotations the server declares

    • title: SPF record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_suppressionCheck a campaign list against a do-not-contact list before sending: exact email matches and, optionally, whole suppressed domains, with a per-company cap.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
    Check a campaign list against a do-not-contact list before sending: exact email matches and, optionally, whole suppressed domains, with a per-company cap. Returns what was removed and why, and the clean CSV when it is 500 rows or fewer.

    Annotations the server declares

    • title: Suppression list check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_surblCheck domains against the SURBL URI blacklist in bulk.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    Check domains against the SURBL URI blacklist in bulk. URI blacklists list the domains that appear inside a message body, so a listed tracking or landing domain sends the whole email to spam however clean the sender is. Up to 100 domains per call.

    Annotations the server declares

    • title: SURBL URI blacklist (bulk)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_tracking_domainCheck the domain a campaign's tracked links point at: whether it resolves, serves a valid certificate, is listed on SURBL, sits on a listed address, belongs under the sending domai…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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    Check the domain a campaign's tracked links point at: whether it resolves, serves a valid certificate, is listed on SURBL, sits on a listed address, belongs under the sending domain, and whether it is a platform's shared tracking host. A listed tracking domain is in the body of every message, which is what content filters hash.

    Annotations the server declares

    • title: Click-tracking domain
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • clean_csvClean a lead CSV: malformed, duplicate, role-based (info@, sales@) and disposable addresses removed, with a count for each reason.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
    Clean a lead CSV: malformed, duplicate, role-based (info@, sales@) and disposable addresses removed, with a count for each reason. Returns the cleaned CSV when it is 500 rows or fewer; a larger file is summarised and the person is sent to the page to download the full result. Does not verify mailboxes exist.

    Annotations the server declares

    • title: Lead CSV cleaner
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • convert_csvRename a lead CSV's columns to the fields a sequencer imports (Instantly, Smartlead, EmailBison, or generic snake_case).1 finding

    Why it is in this group

    • The name "convert_csv" says "convert": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "convert_csv" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "convert_csv" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Rename a lead CSV's columns to the fields a sequencer imports (Instantly, Smartlead, EmailBison, or generic snake_case). Every row and column is kept; only the header changes, and columns with no standard field keep a snake_case name for custom variables. Returns the mapping, and the converted CSV when it is 500 rows or fewer.

    Annotations the server declares

    • title: Sequencer CSV converter
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • expand_spintaxExpand a spintax template such as "{Hi|Hey} there" and render its Liquid merge tags, returning the total number of variations, every variable the template references, any variable …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
    Expand a spintax template such as "{Hi|Hey} there" and render its Liquid merge tags, returning the total number of variations, every variable the template references, any variable with no value and no default, and a set of rendered samples. Use it to check a sequence before it sends.

    Annotations the server declares

    • title: Spintax and merge tag preview
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • generate_dns_recordsWrite an SPF record from the providers that send for a domain (with an estimate of its DNS lookups against the limit of 10), a DMARC record from a policy, and where a provider publ…1 finding

    Why it is in this group

    • The name "generate_dns_records" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_dns_records" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "generate_dns_records" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Write an SPF record from the providers that send for a domain (with an estimate of its DNS lookups against the limit of 10), a DMARC record from a policy, and where a provider publishes DKIM. Returns host, type and value to publish. It writes records; to check what is published, use check_spf, check_dmarc and check_dkim.

    Annotations the server declares

    • title: SPF and DMARC record generator
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • generate_unsubscribeBuild a CAN-SPAM and GDPR compliant opt-out footer in plain text and HTML, with a checklist saying which compliance requirements the details given actually satisfy.1 finding

    Why it is in this group

    • The name "generate_unsubscribe" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_unsubscribe" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "generate_unsubscribe" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Build a CAN-SPAM and GDPR compliant opt-out footer in plain text and HTML, with a checklist saying which compliance requirements the details given actually satisfy. A footer with no postal address is the usual failure.

    Annotations the server declares

    • title: CAN-SPAM opt-out footer
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • plan_infrastructureWork out how many inboxes and domains a daily cold email volume needs, and what it costs per month.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
    Work out how many inboxes and domains a daily cold email volume needs, and what it costs per month. Use this for "how many inboxes do I need for N a day". Give dealValue to get the revenue and ROI math as well.

    Annotations the server declares

    • title: Inboxes and domains for a send volume
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • plan_rotationPlan a two-batch inbox rotation: the fleet split in half, one batch sending while the other rests, swapped every 1, 2 or 4 weeks.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
    Plan a two-batch inbox rotation: the fleet split in half, one batch sending while the other rests, swapped every 1, 2 or 4 weeks. Returns batch sizes, the per-inbox daily load on the active batch against the 15/day house pace, how many inboxes the volume needs, and an eight-week schedule.

    Annotations the server declares

    • title: Inbox rotation plan
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • plan_verification_waterfallPrice an email verification waterfall: the list run through verifiers in sequence with unknowns passed down the chain, every order compared, cheapest cost per usable email first.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
    Price an email verification waterfall: the list run through verifiers in sequence with unknowns passed down the chain, every order compared, cheapest cost per usable email first. Uses typical figures for three verifiers unless you pass your own prices and resolve rates (POST JSON for verifiers).

    Annotations the server declares

    • title: Email verification waterfall
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • segment_espSplit a list of domains by the email provider behind them (Google, Microsoft, or a security gateway) from their MX records.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    Split a list of domains by the email provider behind them (Google, Microsoft, or a security gateway) from their MX records. Sending Google-to-Google and Microsoft-to-Microsoft is one of the larger levers on inbox placement.

    Annotations the server declares

    • title: ESP segmentation (bulk)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • verify_emailCheck email addresses for syntax, live MX records, disposable providers and role prefixes (info@, sales@).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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    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
    Check email addresses for syntax, live MX records, disposable providers and role prefixes (info@, sales@). Does not open SMTP connections, so catch-all domains come back valid.

    Annotations the server declares

    • title: Email verification (bulk)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • write_cold_emailCold Email AI, WarmInboxes' free custom GPT for writing cold email copy, runs on ChatGPT at warminboxes.com/AI, not on this server.Can send data out1 finding

    Why it is in this group

    • The name "write_cold_email" says "write": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • outboundThe name "write_cold_email" says "write" and "email": it writes something other people read.

    Findings

    • Warn

      The server marks "write_cold_email" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "write_cold_email" says "write": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Cold Email AI, WarmInboxes' free custom GPT for writing cold email copy, runs on ChatGPT at warminboxes.com/AI, not on this server. Call it when someone wants help writing cold emails: it sends them there and names the checks here for a draft (analyze_cold_email, preview_inbox, expand_spintax).

    Annotations the server declares

    • title: Cold Email AI (custom GPT)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 22Show 22 read-only tools
  • analyze_bouncesClassify bounce messages (NDRs): invalid address, full or disabled mailbox, reputation block, authentication failure, throttling, content block or configuration, each with whether …Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "analyze_bounces" says "analyze": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "message": it reads messages.
    • untrusted-inputThe description's first sentence says "message": it reads messages, which other people can write.
    Description, as the server wrote it
    Classify bounce messages (NDRs): invalid address, full or disabled mailbox, reputation block, authentication failure, throttling, content block or configuration, each with whether it is hard, soft or a block, why it happened and what to do. Separate several bounces with a blank line.

    Annotations the server declares

    • title: Bounce messages explained
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • analyze_cold_emailScore a cold email's copy 0-100 for spam risk before it is sent: weighted trigger words by category and severity (subject hits weigh extra), ALL-CAPS, links and shorteners, currenc…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "analyze_cold_email" says "analyze": a word for reading.

    What it can reach

    • private-dataThe name "analyze_cold_email" says "analyze" and "email": it reads mail.
    • private-dataThe description's first sentence says "email": it reads mail.
    • untrusted-inputThe name "analyze_cold_email" says "analyze" and "email": it reads inbound email, which other people can write.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Score a cold email's copy 0-100 for spam risk before it is sent: weighted trigger words by category and severity (subject hits weigh extra), ALL-CAPS, links and shorteners, currency and percent-off offers, obfuscated spellings, missing personalisation or opt-out, length. Returns each finding with how much it cost and how to fix it. Content only: it cannot see reputation or authentication.

    Annotations the server declares

    • title: Cold email spam check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • analyze_dmarc_reportRead DMARC aggregate (rua) reports and say who is sending as the domain and what fails: messages passing and failing, failures that are alignment only, quarantined and rejected cou…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "analyze_dmarc_report" says "analyze": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "message": it reads messages.
    • untrusted-inputThe description's first sentence says "read" and "message": it reads messages, which other people can write.
    Description, as the server wrote it
    Read DMARC aggregate (rua) reports and say who is sending as the domain and what fails: messages passing and failing, failures that are alignment only, quarantined and rejected counts, and each sending IP with its SPF and DKIM outcome, failing senders first. Takes the report XML, several of them, or a .gz report as base64. Duplicate reports are counted once.

    Annotations the server declares

    • title: DMARC aggregate report
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • analyze_email_htmlRead an email's HTML.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "analyze_email_html" says "analyze": a word for reading.

    What it can reach

    • private-dataThe name "analyze_email_html" says "analyze" and "email": it reads mail.
    • private-dataThe description's first sentence says "read" and "email": it reads mail.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe name "analyze_email_html" says "analyze" and "email": it reads inbound email, which other people can write.
    • untrusted-inputThe description's first sentence says "read" and "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Read an email's HTML. Returns its size against Gmail's ~102 KB clipping limit with what is taking the room, every link and image host, tracking pixels, URL shorteners, and each linked domain checked against SURBL. Parsed inertly: nothing loads, no pixel fires, no link is followed. The SURBL lookups count against the daily free limit; set scan to false to skip them.

    Annotations the server declares

    • title: Email HTML: clipping, links and pixels
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • analyze_headersRead a received message's raw headers.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "analyze_headers" says "analyze": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "message": it reads messages.
    • untrusted-inputThe description's first sentence says "read" and "message": it reads messages, which other people can write.
    Description, as the server wrote it
    Read a received message's raw headers. Returns the SPF, DKIM and DMARC verdicts the receiver recorded, which domains authenticated and whether they align with the From domain (why DMARC failed on a message that "passed"), the relay hops and delays, the sending IP, plain-English issues, and whether the List-Unsubscribe headers satisfy one-click (RFC 8058). Text only: nothing is looked up or stored.

    Annotations the server declares

    • title: Email header analysis
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • analyze_microsoft_headersRead the spam verdict Microsoft 365 or Outlook stamped on a delivered message: SCL (spam confidence), BCL (bulk), PCL, SFV, the category, and the SPF, DKIM, DMARC and composite aut…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "analyze_microsoft_headers" says "analyze": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "message": it reads messages.
    • untrusted-inputThe description's first sentence says "read" and "message": it reads messages, which other people can write.
    Description, as the server wrote it
    Read the spam verdict Microsoft 365 or Outlook stamped on a delivered message: SCL (spam confidence), BCL (bulk), PCL, SFV, the category, and the SPF, DKIM, DMARC and composite authentication results, each explained. Use it when mail lands in Outlook junk. For Gmail or any provider's routing and alignment, use analyze_headers.

    Annotations the server declares

    • title: Microsoft spam verdict (SCL)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_bimiValidate a domain's BIMI record, the logo SVG, the VMC, and the DMARC enforcement level Gmail requires before it will show a brand logo.Reads text others writeNo findings

    Why it is in this group

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

    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
    Validate a domain's BIMI record, the logo SVG, the VMC, and the DMARC enforcement level Gmail requires before it will show a brand logo.

    Annotations the server declares

    • title: BIMI record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_dkimFind and validate a domain's DKIM signing key, including key strength.Reads 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

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Find and validate a domain's DKIM signing key, including key strength. Leave selector empty to auto-scan 26 common selectors (google, selector1, k1, and the rest). When no key is found, reports whether the selectors are delegated by CNAME to a provider that has not published one — the usual Microsoft 365 failure, where the records are right but signing was never switched on.

    Annotations the server declares

    • title: DKIM record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_dnsQuery any DNS record type for a domain: MX, TXT, A, AAAA, CNAME, NS, SOA, CAA.Reads text others writeNo findings

    Why it is in this group

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

    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
    Query any DNS record type for a domain: MX, TXT, A, AAAA, CNAME, NS, SOA, CAA.

    Annotations the server declares

    • title: DNS records
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_domain_expiryGet a domain's registrar, creation date, expiry date and days remaining, over RDAP with a WHOIS fallback for ccTLDs that publish no RDAP service.Reads text others writeNo findings

    Why it is in this group

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

    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
    Get a domain's registrar, creation date, expiry date and days remaining, over RDAP with a WHOIS fallback for ccTLDs that publish no RDAP service. Domain age is one of the strongest cold-email risk signals.

    Annotations the server declares

    • title: Domain registration and expiry
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_mta_stsValidate a domain's _mta-sts DNS record and its published policy file: mode, MX patterns, max_age and TLS-RPT.Reads text others writeNo findings

    Why it is in this group

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

    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
    Validate a domain's _mta-sts DNS record and its published policy file: mode, MX patterns, max_age and TLS-RPT.

    Annotations the server declares

    • title: MTA-STS policy
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_nameserversGet the NS records and the DNS provider behind one domain or a whole list.Reads text others writeNo findings

    Why it is in this group

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

    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
    Get the NS records and the DNS provider behind one domain or a whole list. Useful for working out who actually controls a domain's DNS before trying to fix its records.

    Annotations the server declares

    • title: Nameservers and DNS provider (bulk)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_sslRead a host's TLS certificate: issuer, validity dates and days remaining, subject alternative names, key type and size, signature algorithm, chain, negotiated protocol and whether …Reads text others writeNo findings

    Why it is in this group

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

    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
    Read a host's TLS certificate: issuer, validity dates and days remaining, subject alternative names, key type and size, signature algorithm, chain, negotiated protocol and whether the chain is trusted and covers the hostname. Use it on an MTA-STS policy host (mta-sts.<domain>) or a click-tracking domain, where an expired certificate stops mail or turns every click into a browser warning. Port 25 is not reachable from serverless, so the certificate an MX host presents cannot be read this way.

    Annotations the server declares

    • title: TLS certificate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • find_lead_listsSearch the WarmInboxes free leads database (about 1,000 B2B lead lists by industry, role and country) and return the best matches with lead counts, verified email counts and each l…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "find_lead_lists" says "find": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "search" and "inbox": it reads mail.
    • untrusted-inputThe description's first sentence says "search" and "inbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Search the WarmInboxes free leads database (about 1,000 B2B lead lists by industry, role and country) and return the best matches with lead counts, verified email counts and each list's page. For questions about finding leads or a prospect list. Lists are free and are emailed to the person from each list's page; this tool returns the page and cannot request a list.

    Annotations the server declares

    • title: Free B2B lead lists
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_resourcesSearch what WarmInboxes publishes: cold email guides, deliverability playbooks, original studies and their datasets, costed infrastructure recipes, tool demo videos, inbox guides p…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "find_resources" says "find": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "search" and "inbox": it reads mail.
    • untrusted-inputThe description's first sentence says "search" and "inbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Search what WarmInboxes publishes: cold email guides, deliverability playbooks, original studies and their datasets, costed infrastructure recipes, tool demo videos, inbox guides per sequencer and AI agent, provider comparisons, Claude skills, the changelog, and the offer and about pages. Searches titles and full text, and each match carries the passage that best answers the query. It holds WarmInboxes' own measurements (monthly inbox placement tests, sender reputation by TLD, a SURBL study) as well as guides. read_resource returns a whole page.

    Annotations the server declares

    • title: Guides, playbooks, studies and videos
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_toolsFind the WarmInboxes free tool for a task ("check my email headers", "clean a CSV", "will this land in spam") and say how to use it: the MCP tool to call here, or the page to send …Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "find_tools" says "find": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "find" and "inbox": it reads mail.
    • untrusted-inputThe description's first sentence says "find" and "inbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Find the WarmInboxes free tool for a task ("check my email headers", "clean a CSV", "will this land in spam") and say how to use it: the MCP tool to call here, or the page to send the person to when it runs only in the browser. Call with no task to list every tool.

    Annotations the server declares

    • title: Free tool for a job
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_pricingThe WarmInboxes price list as data: prewarmed and fresh inboxes on Google Workspace, Microsoft 365 and Azure, every billing cycle, the safe daily send pace per inbox, and delivery …Reads private dataReads text others writeNo findings

    Why it is in this group

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

    What it can reach

    • private-dataThe description's first sentence says "inbox": it reads mail.
    • untrusted-inputThe description's first sentence says "inbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    The WarmInboxes price list as data: prewarmed and fresh inboxes on Google Workspace, Microsoft 365 and Azure, every billing cycle, the safe daily send pace per inbox, and delivery time. For a costed fleet for a volume, use plan_infrastructure.

    Annotations the server declares

    • title: Price list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • lookup_mxLook up a domain's MX records with priorities and resolved IPs, and identify the mailbox provider (Google Workspace, Microsoft 365, Zoho, Fastmail and others) and any security gate…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "lookup_mx" says "lookup": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "mailbox": it reads mail.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "mailbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Look up a domain's MX records with priorities and resolved IPs, and identify the mailbox provider (Google Workspace, Microsoft 365, Zoho, Fastmail and others) and any security gateway in front of it (Mimecast, Proofpoint, Barracuda and others). Pass `domains` instead of `domain` for up to 100 at once, which also returns a provider breakdown. Reports a null MX (RFC 7505) rather than treating it as a broken record, and does not guess the provider behind a gateway, because that is not observable from the MX.

    Annotations the server declares

    • title: MX records and mail provider
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • lookup_txtEvery TXT record on a domain, with each one identified (SPF, DKIM, DMARC, MTA-STS, TLS-RPT, BIMI, or which service's ownership token it is), plus the four underscore names a receiv…Reads text others writeNo findings

    Why it is in this group

    • The name "lookup_txt" says "lookup": a word for reading.

    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
    Every TXT record on a domain, with each one identified (SPF, DKIM, DMARC, MTA-STS, TLS-RPT, BIMI, or which service's ownership token it is), plus the four underscore names a receiver reads — _dmarc, _mta-sts, _smtp._tls and default._bimi — in the same lookup. Names the three mistakes that are invisible from reading the records: more than one SPF record, which makes a receiver return permerror so SPF fails entirely; a DMARC or DKIM record published at the apex, where nothing will ever read it; and a record longer than one 255-byte TXT string. Use this before concluding a record is missing, because the usual cause of a missing DMARC record is a DMARC record at the wrong name.

    Annotations the server declares

    • title: TXT records, identified
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • plan_from_listFrom a list of recipient domains (or addresses) and a daily sending target to a costed, split fleet in one call: the Google/Microsoft/unmatched mix of the list, a Google Workspace …Reads private dataReads text others writeNo findings

    Why it is in this group

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

    What it can reach

    • private-dataThe description's first sentence says "inbox": it reads mail.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "inbox": it reads inbound email, which other people can write.
    Description, as the server wrote it
    From a list of recipient domains (or addresses) and a daily sending target to a costed, split fleet in one call: the Google/Microsoft/unmatched mix of the list, a Google Workspace pool for the Google recipients, an Azure pool for the Microsoft recipients (microsoftEsp switches it to Microsoft 365), and for each pool the inbox count, domain count, per-mailbox pace and monthly cost, plus totals. Recipients that are neither — gateways, self-hosted, no MX — ride the Google pool and the share is reported, because what sits behind a gateway is not observable from the MX and is not guessed. This is the tool for "I have a list and want to send N a day; what do I buy". Up to 100 domains; for a longer list, send a sample — the plan follows the provider split, not the list length. Each answer includes how to get the fleet: a first order is placed in the WarmInboxes app, and existing customers can order through the WarmInboxes purchasing API. Nothing here orders anything.

    Annotations the server declares

    • title: Fleet plan from a recipient list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • preview_inboxShow how a cold email's sender name, subject line and preview text are cut off in Gmail desktop, Gmail mobile and Outlook, with warnings (no sender name, all caps, empty preview, e…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "preview_inbox" says "preview": a word for reading.

    What it can reach

    • private-dataThe name "preview_inbox" says "preview" and "inbox": it reads mail.
    • private-dataThe description's first sentence says "show" and "email": it reads mail.
    • untrusted-inputThe name "preview_inbox" says "preview" and "inbox": it reads inbound email, which other people can write.
    • untrusted-inputThe description's first sentence says "show" and "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Show how a cold email's sender name, subject line and preview text are cut off in Gmail desktop, Gmail mobile and Outlook, with warnings (no sender name, all caps, empty preview, etc.). Use it to check a subject line fits before sending.

    Annotations the server declares

    • title: Inbox preview (truncation)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • read_resourceRead a WarmInboxes guide, study, playbook, dataset, recipe, comparison or changelog entry in full, as markdown.Reads private dataReads text others writeCan send data outNo findings

    Why it is in this group

    • The name "read_resource" says "read": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "inbox": it reads mail.
    • untrusted-inputThe description's first sentence says "read" and "inbox": it reads inbound email, which other people can write.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    Read a WarmInboxes guide, study, playbook, dataset, recipe, comparison or changelog entry in full, as markdown. Long pages come in parts split at headings: the first call says how many, and nextPart gives the one to ask for. Datasets also return their data as JSON. Use the url find_resources gave you.

    Annotations the server declares

    • title: Read a guide or study
    • 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.

1008 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 2 outbound tools breaks every one.

Can send data out2
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__deliverability-tools__read_resource",
      "mcp__deliverability-tools__write_cold_email"
    ]
  }
}

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.

5 warn
  • The server marks "generate_unsubscribe" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "generate_unsubscribe" says "generate": a word for a change.

    What this check looks for
  • The server marks "generate_dns_records" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "generate_dns_records" says "generate": a word for a change.

    What this check looks for
  • The server marks "convert_csv" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "convert_csv" says "convert": a word for a change.

    What this check looks for
  • The server marks "combine_csvs" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "merge": a word for a change that another call does not undo.

    What this check looks for
  • The server marks "write_cold_email" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "write_cold_email" says "write": a word for a change.

    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 deliverability-tools https://warminboxes.com/mcp
claude mcp add --transport http deliverability-tools https://warminboxes.com/mcp

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__deliverability-tools__check_dkim",
      "mcp__deliverability-tools__check_bimi",
      "mcp__deliverability-tools__check_mta_sts",
      "mcp__deliverability-tools__check_ssl",
      "mcp__deliverability-tools__check_dns",
      "mcp__deliverability-tools__lookup_txt",
      "mcp__deliverability-tools__check_nameservers",
      "mcp__deliverability-tools__check_domain_expiry",
      "mcp__deliverability-tools__lookup_mx",
      "mcp__deliverability-tools__plan_from_list",
      "mcp__deliverability-tools__analyze_headers",
      "mcp__deliverability-tools__analyze_email_html",
      "mcp__deliverability-tools__analyze_dmarc_report",
      "mcp__deliverability-tools__analyze_cold_email",
      "mcp__deliverability-tools__analyze_bounces",
      "mcp__deliverability-tools__analyze_microsoft_headers",
      "mcp__deliverability-tools__preview_inbox",
      "mcp__deliverability-tools__find_lead_lists",
      "mcp__deliverability-tools__find_tools",
      "mcp__deliverability-tools__find_resources",
      "mcp__deliverability-tools__get_pricing"
    ],
    "ask": [
      "mcp__deliverability-tools__check_deliverability",
      "mcp__deliverability-tools__check_spf",
      "mcp__deliverability-tools__check_dmarc",
      "mcp__deliverability-tools__check_rdns",
      "mcp__deliverability-tools__check_blacklist",
      "mcp__deliverability-tools__check_surbl",
      "mcp__deliverability-tools__check_google_domain",
      "mcp__deliverability-tools__check_cname",
      "mcp__deliverability-tools__verify_email",
      "mcp__deliverability-tools__segment_esp",
      "mcp__deliverability-tools__plan_infrastructure",
      "mcp__deliverability-tools__expand_spintax",
      "mcp__deliverability-tools__generate_unsubscribe",
      "mcp__deliverability-tools__check_email_authentication",
      "mcp__deliverability-tools__check_domain_reputation",
      "mcp__deliverability-tools__check_tracking_domain",
      "mcp__deliverability-tools__check_bulk_sender_requirements",
      "mcp__deliverability-tools__audit_campaign",
      "mcp__deliverability-tools__generate_dns_records",
      "mcp__deliverability-tools__plan_rotation",
      "mcp__deliverability-tools__plan_verification_waterfall",
      "mcp__deliverability-tools__clean_csv",
      "mcp__deliverability-tools__convert_csv",
      "mcp__deliverability-tools__combine_csvs",
      "mcp__deliverability-tools__check_suppression",
      "mcp__deliverability-tools__check_spamhaus_dbl",
      "mcp__deliverability-tools__check_burned_inbox",
      "mcp__deliverability-tools__write_cold_email",
      "mcp__deliverability-tools__read_resource"
    ],
    "deny": []
  }
}

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 deliverability-tools. Review it before you use it.

Capability tags behind 37 rules
  • mcp__deliverability-tools__check_deliverability untrusted-input
  • mcp__deliverability-tools__check_spf untrusted-input
  • mcp__deliverability-tools__check_dkim untrusted-input
  • mcp__deliverability-tools__check_dmarc untrusted-input
  • mcp__deliverability-tools__check_bimi untrusted-input
  • mcp__deliverability-tools__check_mta_sts untrusted-input
  • mcp__deliverability-tools__check_ssl untrusted-input
  • mcp__deliverability-tools__check_dns untrusted-input
  • mcp__deliverability-tools__lookup_txt untrusted-input
  • mcp__deliverability-tools__check_rdns untrusted-input
  • mcp__deliverability-tools__check_blacklist untrusted-input
  • mcp__deliverability-tools__check_surbl untrusted-input
  • mcp__deliverability-tools__check_nameservers untrusted-input
  • mcp__deliverability-tools__check_domain_expiry untrusted-input
  • mcp__deliverability-tools__check_google_domain untrusted-input
  • mcp__deliverability-tools__check_cname untrusted-input
  • mcp__deliverability-tools__verify_email untrusted-input
  • mcp__deliverability-tools__lookup_mx private-data, untrusted-input
  • mcp__deliverability-tools__segment_esp untrusted-input
  • mcp__deliverability-tools__plan_from_list private-data, untrusted-input
  • mcp__deliverability-tools__check_email_authentication untrusted-input
  • mcp__deliverability-tools__check_domain_reputation untrusted-input
  • mcp__deliverability-tools__check_tracking_domain untrusted-input
  • mcp__deliverability-tools__check_bulk_sender_requirements untrusted-input
  • mcp__deliverability-tools__analyze_headers private-data, untrusted-input
  • mcp__deliverability-tools__analyze_email_html private-data, untrusted-input
  • mcp__deliverability-tools__analyze_dmarc_report private-data, untrusted-input
  • mcp__deliverability-tools__analyze_cold_email private-data, untrusted-input
  • mcp__deliverability-tools__analyze_bounces private-data, untrusted-input
  • mcp__deliverability-tools__analyze_microsoft_headers private-data, untrusted-input
  • mcp__deliverability-tools__preview_inbox private-data, untrusted-input
  • mcp__deliverability-tools__write_cold_email outbound
  • mcp__deliverability-tools__find_lead_lists private-data, untrusted-input
  • mcp__deliverability-tools__find_tools private-data, untrusted-input
  • mcp__deliverability-tools__find_resources private-data, untrusted-input
  • mcp__deliverability-tools__read_resource private-data, untrusted-input, outbound
  • mcp__deliverability-tools__get_pricing 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/com.warminboxes/deliverability-tools/verify?hash=9920ed6b945ae99e87529149b93a6bb6070d86f6bfad4f5f4712b59d6f6c92b3" | jq -e '.changed == false'

Pinned hash 9920ed6b945a, from Oct 22, 2026, 23:17 UTC.

Watch

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

https://anlyon.dev/servers/com.warminboxes/deliverability-tools/changes.xml

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

Badge

anlyon.dev badge for com.warminboxes/deliverability-tools
[![anlyon.dev](https://anlyon.dev/badge/com.warminboxes/deliverability-tools.svg)](https://anlyon.dev/servers/com.warminboxes/deliverability-tools)

Source: MCP Registry. Synced Oct 22, 2026, 23:17 UTC.