Email Deliverability

io.inboxguardPublished by inboxguard.ioOfficial publisherv1.2.0Updated Oct 25, 2026

Scan and fix a domain's email deliverability (SPF, DKIM, DMARC, MTA-STS, BIMI, DNS blocklists).

Overview

AI-generated overview

Remote MCP server that lets an assistant scan, score and fix a domain's email deliverability (SPF, DKIM, DMARC, MTA-STS, BIMI, blocklists) and manage InboxGuard

What you can do
Scan domains and read scores, grades and per-check findings, including batch jobs and org-wide portfolio rollups and reports. Check DNS blocklists and analyze raw email headers for SPF, DKIM, DMARC and ARC verdicts. List tracked domains, scans and alerts, and resolve or reopen alerts. Compute DNS fix plans and apply them at a connected registrar. Summarize DMARC aggregate reports and Microsoft SNDS per-IP reputation. Manage notification channels, public share links, SNDS and inbox-placement connections, and seed-list placement tests.
When to use it
Useful when you want an assistant to audit why email lands in spam, track deliverability across many domains, or turn scan findings into concrete DNS changes. Also fits teams already using InboxGuard who want alert, DMARC report and reputation data in a chat workflow.
Requirements
Remote streamable HTTP endpoint; no local package. An InboxGuard account and API key are needed for account-scoped tools; write or full scope, and owner/admin rights for some actions. DMARC ingest, public reports and inbox-placement features depend on the plan. Registrar, SNDS and placement-provider connections must be set up first.
Before you install
Several tools change state: apply_dns_fix creates, updates and deletes DNS records at a connected registrar; remove_domain deletes a domain and its scan history irreversibly; resolve_alert, channel and share-link creation also write. Share links are public and readable by anyone with the URL. connect_snds and connect_inbox_placement store third-party API keys, and webhook channels return a signing secret. Use a least-privilege API key.

Installation

In SourceWeft

  1. Open Email Deliverability in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.inboxguard%2Femail-deliverability/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "email-deliverability": {
      "type": "http",
      "url": "https://mcp.inboxguard.io/mcp"
    }
  }
}

Tools

28

scan_domain

Scan domain deliverability

Run a full email-deliverability scan (SPF, DKIM, DMARC, MTA-STS, TLS-RPT, MX TLS, BIMI, DNS blocklists) for a domain and return a 0-100 score with per-check findings. A check can come back `not_applicable` (does not apply to this domain, e.g. MTA-STS on a domain with no MX — excluded from the score, not a failure) or `unverified` (could not be determined this scan, e.g. DKIM behind an ESP with a random per-tenant selector like Amazon SES Easy DKIM — never treat as a failure). `scoreSubtitle` explains the denominator when anything was excluded. Runs at your plan tier (full blocklist set on paid plans) and saves the scan to the domain history in your account.

ParametersdomainrequireddkimSelectors

get_deliverability_score

Get deliverability score

Return the overall deliverability score and letter grade for a domain (runs a fresh scan).

Parametersdomainrequired

check_blocklists

Check DNS blocklists

Check a domain (apex + MX-host IPs) against supported DNS blocklists and return listings, targets checked, and issues (authoritative-side queries; no public-resolver false positives).

Parametersdomainrequired

get_dmarc_summary

Get DMARC summary

Summarize ingested DMARC aggregate (RUA) reports for a domain tracked in your InboxGuard account: report volume, pass rate, top sending sources, and the rua inbox to publish. The domain must already be added to the account, and the plan must include DMARC ingest.

Parametersdaysdomainrequired

list_domains

List tracked domains

List the account's tracked domains with latest scan score, last scan time, and open alert count.

Takes no parameters.

get_domain

Get domain detail

Full detail for one tracked domain: the domain record, the latest scan with all per-check findings (spf, dmarc, dkim, ptr, mta_sts, tls_rpt, mx_tls, blocklist), recent score history, open/recent alerts, and Google Postmaster stats when connected.

Parametersdomainrequired

list_alerts

List alerts

List the account's deliverability alerts (score drops, check failures, blocklist listings). Defaults to open alerts only.

Parameterslimitresolvedseverity

list_scans

List scan history

List recent scans (id, domain, run time, score) across all tracked domains, or for one domain when a name is given.

Parameterslimitdomain

resolve_alert

Resolve alert

Mark an alert resolved (or reopen it with resolved=false). Requires an API key with write/full scope. Resolving an already-resolved alert is a no-op.

ParametersalertIdrequiredresolved

get_dns_fix_plan

Preview the DNS fix plan

Compute the exact DNS-record changes needed to fix a tracked domain's deliverability, based on its latest scan and the org's connected registrar (Cloudflare/Route 53/GoDaddy/Namecheap). Read-only — nothing changes. Returns the `ops` to pass verbatim to apply_dns_fix, plus `manualReview` items that need a human decision (SPF sender list, DKIM keys, BIMI logo). Requires the domain to be tracked, a scan to exist, and a registrar connection covering the zone.

Parametersdomainrequired

apply_dns_fix

Apply the DNS fix plan

Apply a DNS fix plan to a tracked domain by publishing records at the connected registrar. DESTRUCTIVE: it creates/updates/deletes DNS records. Two-step by design — first call get_dns_fix_plan, then pass its `connectionId` and `ops` here verbatim. The server re-derives the diff from the latest scan and rejects any op that no longer matches, so an agent can never apply arbitrary records. Requires an owner/admin API key with write or full scope. Re-scan afterward to confirm the fix.

ParametersopsrequireddomainrequiredconnectionIdrequired

analyze_headers

Analyze raw email headers

Re-verify SPF, DKIM, DMARC, and ARC from a raw RFC 5322 email (full message or just the headers block). Returns InboxGuard's independent verdict (`ours`), the sender's own Authentication-Results (`theirs`), whether they `agree`, and parsed envelope/headers — useful for spotting forged or mismatched auth results. No account needed.

ParametershelomessagerequiredmailFromsenderIp

scan_domains_batch

Batch-scan domains (async)

Queue an asynchronous batch scan of up to 50 domains and get a jobId immediately (avoids the 30s per-call limit). Poll get_scan_job with the jobId until status is succeeded/partial/failed to read per-domain scores. Requires an API key with write or full scope. These scans are NOT added to monitoring or saved to history.

Parametersdomainsrequired

get_scan_job

Get batch-scan job

Poll an async batch scan started with scan_domains_batch: returns status (queued/running/succeeded/partial/failed), completed count, and per-domain results (domain, ok, score, grade) as they finish.

ParametersjobIdrequired

remove_domain

Remove a monitored domain

Stop monitoring a domain and delete it (and its scan history) from the account. DESTRUCTIVE and not reversible. Requires an owner/admin API key with write or full scope. (To ADD a domain, run scan_domain with this API key — authenticated scans auto-track the domain.)

Parametersdomainrequired

list_registrar_connections

List registrar connections

List the registrar accounts (Cloudflare, Route 53, GoDaddy, Namecheap) connected to the org — provider, verification, last-used time — plus the supported providers. Use this to check whether the detect-and-fix loop (get_dns_fix_plan / apply_dns_fix) is available before attempting it.

Takes no parameters.

create_notification_channel

Create a notification channel

Create a channel that InboxGuard alerts are delivered to: webhook (HMAC-signed), Slack, Microsoft Teams, PagerDuty, SMS, or email. Returns the channel id, and for kind=webhook the `signing_secret` used to verify deliveries. Requires an owner/admin API key with write or full scope.

ParameterskindrequiredtargetrequireddisplayNameseverityFilter

connect_snds

Connect Microsoft SNDS

Store this org's Microsoft SNDS (Smart Network Data Services) automated-data-access key so InboxGuard syncs per-IP Outlook/Hotmail reputation daily. Get the key from the SNDS Automated Data Access page (https://sendersupport.olc.protection.outlook.com/snds/). Requires an owner/admin API key with write or full scope. Data appears within ~24h of the first sync.

Parameterskeyrequiredlabel

get_snds_status

Get Microsoft SNDS status

Report whether Microsoft SNDS is connected for the org, the last sync time + status, how many sending IPs are tracked, and how many are currently blocked by Outlook/Hotmail. Use before get_snds_ip_stats to confirm the integration is live.

Takes no parameters.

get_snds_ip_stats

Get Microsoft SNDS per-IP stats

Return the latest per-IP reputation from Microsoft SNDS for the org's sending IPs: filter result (GREEN/YELLOW/RED), complaint-rate band, spam-trap hits, message volume, and current block status. Requires SNDS to be connected (see connect_snds / get_snds_status).

Takes no parameters.

connect_inbox_placement

Connect an inbox-placement provider

Store the org's seed-list inbox-placement provider + API key (provider: 'mailreach' or 'glockapps'; GlockApps also needs projectId). Enables start_inbox_placement_test. Requires an owner/admin API key with write or full scope.

ParametersapiKeyrequiredproviderrequiredprojectId

get_inbox_placement_status

Get inbox-placement status

Report whether a seed-list inbox-placement provider is connected for the org, which provider, and how many tests have run. Lists the supported providers when not connected.

Takes no parameters.

start_inbox_placement_test

Start an inbox-placement test

Start a seed-list inbox-placement test. Returns a testId, the seed addresses to mail your campaign to, and (if the provider requires it) a header to insert. After sending to the seeds, poll get_inbox_placement_test for the Inbox/Spam/Missing verdict. Requires inbox-placement to be connected and an owner/admin API key with write or full scope.

Parameterssubject

get_inbox_placement_test

Get an inbox-placement test

Poll a seed-list inbox-placement test by testId. Returns status (running/completed/failed) and, once measured, the Inbox/Spam/Missing counts and inbox-placement score (0–100). Call after sending your campaign to the seed addresses from start_inbox_placement_test.

ParameterstestIdrequired

list_inbox_placement_tests

List inbox-placement tests

List recent seed-list inbox-placement tests for the org (most recent first) with their status and Inbox/Spam/Missing scores.

Takes no parameters.

get_deliverability_report

Get a deliverability report

Return a structured deliverability report for a tracked domain: the latest score + letter grade + `scoreSubtitle` (explains the denominator when a check was excluded, e.g. "80/100 · scored on 65 of 83 applicable points · 1 check unverified"), each check's status (pass/warn/fail/unverified/not_applicable — `not_applicable` means the check doesn't apply to this domain and `unverified` means it couldn't be checked this scan; neither is a failure), the top issues to fix, blocklist count, and DMARC policy. Includes `pdfUrl` — the same auth-gated endpoint that returns a branded one-page PDF (send your bearer token). Use this to summarize a domain's posture or hand a client a report.

Parametersdomainrequired

get_portfolio

Get the domain portfolio rollup

Org-wide deliverability rollup across every monitored domain: average score + overall grade, the grade distribution (how many domains are A/B/C/D/F/unscored), total open alerts, the domains needing attention (lowest score / open alerts first), and a per-client-group breakdown. Use this for an at-a-glance portfolio health summary across an agency or multi-domain account.

Takes no parameters.

Version history

1
  1. v1.2.0LatestSep 16, 2026

Score

72% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts

    Publish an icon in the registry entry.

  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.