Free email deliverability tools: SPF, DKIM, DMARC, blacklist and header checks, cold email scoring.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Read the raw headers of a received email: SPF, DKIM and DMARC results, alignment, the delivery path and delays. Use when someone pastes headers and asks why a message went to spam or failed authentication.
The raw email headers (the part above the message body).
Read the raw headers of a received email: SPF, DKIM and DMARC results, alignment, the delivery path and delays. Use when someone pastes headers and asks why a message went to spam or failed authentication.
| Argument | Type | Description |
|---|---|---|
| headers* | string | The raw email headers (the part above the message body). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"headers"
],
"properties": {
"headers": {
"type": "string",
"description": "The raw email headers (the part above the message body)."
}
},
"additionalProperties": false
}Check a domain's BIMI record (logo in the inbox) and whether its DMARC policy is strict enough for BIMI to show.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The domain to check, e.g. example.com. A URL or email address also works. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
}
},
"additionalProperties": false
}Check whether a domain's sending IPs, or a single IPv4 address, are listed on the major email blacklists (Spamhaus, Barracuda, SpamCop and others), with removal links.
| Argument | Type | Description |
|---|---|---|
| target* | string | A domain (example.com) or a public IPv4 address. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"description": "A domain (example.com) or a public IPv4 address."
}
},
"additionalProperties": false
}Score a cold email (subject and body) out of 10 against the rules Pipefire checks its own emails with: length, reading level, the ask, subject line, and spam-filter wording. Returns each issue with why it matters and how to fix it.
| Argument | Type | Description |
|---|---|---|
| body* | string | |
| kind | string | Which email in the sequence. Default first. |
| subject* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"subject",
"body"
],
"properties": {
"body": {
"type": "string",
"maxLength": 4000
},
"kind": {
"enum": [
"first",
"follow-up",
"last"
],
"type": "string",
"description": "Which email in the sequence. Default first."
},
"subject": {
"type": "string",
"maxLength": 200
}
},
"additionalProperties": false
}Look up a domain's DKIM public key, trying the selectors Google Workspace, Microsoft 365 and common senders use, plus one you name.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The domain to check, e.g. example.com. A URL or email address also works. |
| selector | string | DKIM selector if known (e.g. google, selector1). Common ones are tried automatically. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
},
"selector": {
"type": "string",
"description": "DKIM selector if known (e.g. google, selector1). Common ones are tried automatically."
}
},
"additionalProperties": false
}Check a domain's DMARC record: whether one exists at _dmarc, its policy (none, quarantine, reject), whether reports are collected, and outdated tags. Tells you whether the domain can be impersonated by email.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The domain to check, e.g. example.com. A URL or email address also works. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
}
},
"additionalProperties": false
}Check whether a domain is set up to send and receive email properly: MX, SPF, DKIM and DMARC in one go, each with pass/warn/fail, what was found, and how to fix it. Use when someone asks why their email goes to spam, whether their domain is set up right, or before sending cold email.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The domain to check, e.g. example.com. |
| selector | string | DKIM selector if known. Common ones are tried automatically. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com."
},
"selector": {
"type": "string",
"description": "DKIM selector if known. Common ones are tried automatically."
}
},
"additionalProperties": false
}Check a domain's MTA-STS policy, which forces encrypted delivery of incoming mail.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The domain to check, e.g. example.com. A URL or email address also works. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
}
},
"additionalProperties": false
}List a domain's mail servers (MX records) and which provider handles its email.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The domain to check, e.g. example.com. A URL or email address also works. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
}
},
"additionalProperties": false
}Check a domain's SPF record: whether it exists, is valid, stays under the 10 DNS lookup limit, and ends with a sensible all mechanism.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The domain to check, e.g. example.com. A URL or email address also works. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
}
},
"additionalProperties": false
}Format a DKIM public key as the TXT record to publish at selector._domainkey.yourdomain.
| Argument | Type | Description |
|---|---|---|
| keyType | string | |
| selector* | string | |
| publicKey* | string | The public key, PEM or bare base64. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"selector",
"publicKey"
],
"properties": {
"keyType": {
"enum": [
"rsa",
"ed25519"
],
"type": "string"
},
"selector": {
"type": "string"
},
"publicKey": {
"type": "string",
"maxLength": 4000,
"description": "The public key, PEM or bare base64."
}
},
"additionalProperties": false
}Build a valid DMARC TXT record (to publish at _dmarc.yourdomain) from a policy and report addresses.
| Argument | Type | Description |
|---|---|---|
| rua | array | Aggregate report addresses. |
| domain* | string | |
| policy* | string | Start with none plus a report address, then tighten. |
| subdomainPolicy | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain",
"policy"
],
"properties": {
"rua": {
"type": "array",
"items": {
"type": "string"
},
"description": "Aggregate report addresses."
},
"domain": {
"type": "string"
},
"policy": {
"enum": [
"none",
"quarantine",
"reject"
],
"type": "string",
"description": "Start with none plus a report address, then tighten."
},
"subdomainPolicy": {
"enum": [
"none",
"quarantine",
"reject"
],
"type": "string"
}
},
"additionalProperties": false
}Build a valid SPF TXT record for a domain from the email services it sends with, with warnings about the 10-lookup limit.
| Argument | Type | Description |
|---|---|---|
| a | boolean | |
| mx | boolean | |
| ip4 | array | |
| ip6 | array | |
| strict | boolean | true = -all (hard fail), false = ~all (soft fail, the safer default). |
| includes | array | Other include: domains, e.g. sendgrid.net, mailgun.org. |
| providers | array | Mailbox providers: google (Google Workspace), microsoft (Microsoft 365), zoho (Zoho Mail), zoho-eu (Zoho Mail (EU data center)). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"a": {
"type": "boolean"
},
"mx": {
"type": "boolean"
},
"ip4": {
"type": "array",
"items": {
"type": "string"
}
},
"ip6": {
"type": "array",
"items": {
"type": "string"
}
},
"strict": {
"type": "boolean",
"description": "true = -all (hard fail), false = ~all (soft fail, the safer default)."
},
"includes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Other include: domains, e.g. sendgrid.net, mailgun.org."
},
"providers": {
"type": "array",
"items": {
"enum": [
"google",
"microsoft",
"zoho",
"zoho-eu"
],
"type": "string"
},
"description": "Mailbox providers: google (Google Workspace), microsoft (Microsoft 365), zoho (Zoho Mail), zoho-eu (Zoho Mail (EU data center))."
}
},
"additionalProperties": false
}List the likely email address formats for a person at a company domain (first@, first.last@, flast@ ...). Guesses only: verify before sending.
| Argument | Type | Description |
|---|---|---|
| last | string | |
| first* | string | |
| domain* | string | |
| middle | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"first",
"domain"
],
"properties": {
"last": {
"type": "string",
"maxLength": 40
},
"first": {
"type": "string",
"maxLength": 40
},
"domain": {
"type": "string",
"maxLength": 120
},
"middle": {
"type": "string",
"maxLength": 40
}
},
"additionalProperties": false
}Suggest lookalike sending domains for cold email (so the main domain is never put at risk), with live .com/.net availability. Give a business name or its website.
| Argument | Type | Description |
|---|---|---|
| brand* | string | Business name (Acme Roofing) or main domain (acmeroofing.com). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"brand"
],
"properties": {
"brand": {
"type": "string",
"maxLength": 80,
"description": "Business name (Acme Roofing) or main domain (acmeroofing.com)."
}
},
"additionalProperties": false
}Score a cold email subject line out of 10: length, wording that hurts opens, and spam trigger words, with fixes.
| Argument | Type | Description |
|---|---|---|
| subject* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"subject"
],
"properties": {
"subject": {
"type": "string",
"maxLength": 200
}
},
"additionalProperties": false
}