Pipefire email deliverability tools
Free email deliverability tools: SPF, DKIM, DMARC, blacklist and header checks, cold email scoring.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"pipefire": {
"url": "https://pipefire.ai/mcp"
}
}
}Remote endpoints
https://pipefire.ai/mcpstreamable-httpWhat it can do
Tool inventory
Tools (16)
🟢check_domain_email_setup(domain, selector)
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.
Input Schema
{
"type": "object",
"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."
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_dmarc(domain)
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.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_spf(domain)
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.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_dkim(domain, selector)
Look up a domain's DKIM public key, trying the selectors Google Workspace, Microsoft 365 and common senders use, plus one you name.
Input Schema
{
"type": "object",
"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."
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_mx(domain)
List a domain's mail servers (MX records) and which provider handles its email.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_bimi(domain)
Check a domain's BIMI record (logo in the inbox) and whether its DMARC policy is strict enough for BIMI to show.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_mta_sts(domain)
Check a domain's MTA-STS policy, which forces encrypted delivery of incoming mail.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain to check, e.g. example.com. A URL or email address also works."
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_blacklists(target)
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.
Input Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "A domain (example.com) or a public IPv4 address."
}
},
"required": [
"target"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢analyze_email_headers(headers)
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.
Input Schema
{
"type": "object",
"properties": {
"headers": {
"type": "string",
"description": "The raw email headers (the part above the message body)."
}
},
"required": [
"headers"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_cold_email(subject, body, kind)
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.
Input Schema
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"maxLength": 200
},
"body": {
"type": "string",
"maxLength": 4000
},
"kind": {
"type": "string",
"enum": [
"first",
"follow-up",
"last"
],
"description": "Which email in the sequence. Default first."
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢test_subject_line(subject)
Score a cold email subject line out of 10: length, wording that hurts opens, and spam trigger words, with fixes.
Input Schema
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"maxLength": 200
}
},
"required": [
"subject"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢suggest_sending_domains(brand)
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.
Input Schema
{
"type": "object",
"properties": {
"brand": {
"type": "string",
"maxLength": 80,
"description": "Business name (Acme Roofing) or main domain (acmeroofing.com)."
}
},
"required": [
"brand"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢guess_email_addresses(first, last, middle, domain)
List the likely email address formats for a person at a company domain (first@, first.last@, flast@ ...). Guesses only: verify before sending.
Input Schema
{
"type": "object",
"properties": {
"first": {
"type": "string",
"maxLength": 40
},
"last": {
"type": "string",
"maxLength": 40
},
"middle": {
"type": "string",
"maxLength": 40
},
"domain": {
"type": "string",
"maxLength": 120
}
},
"required": [
"first",
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢generate_spf_record(providers, includes, ip4, ip6, a, ...)
Build a valid SPF TXT record for a domain from the email services it sends with, with warnings about the 10-lookup limit.
Input Schema
{
"type": "object",
"properties": {
"providers": {
"type": "array",
"items": {
"type": "string",
"enum": [
"google",
"microsoft",
"zoho",
"zoho-eu"
]
},
"description": "Mailbox providers: google (Google Workspace), microsoft (Microsoft 365), zoho (Zoho Mail), zoho-eu (Zoho Mail (EU data center))."
},
"includes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Other include: domains, e.g. sendgrid.net, mailgun.org."
},
"ip4": {
"type": "array",
"items": {
"type": "string"
}
},
"ip6": {
"type": "array",
"items": {
"type": "string"
}
},
"a": {
"type": "boolean"
},
"mx": {
"type": "boolean"
},
"strict": {
"type": "boolean",
"description": "true = -all (hard fail), false = ~all (soft fail, the safer default)."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢generate_dmarc_record(domain, policy, rua, subdomainPolicy)
Build a valid DMARC TXT record (to publish at _dmarc.yourdomain) from a policy and report addresses.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"policy": {
"type": "string",
"enum": [
"none",
"quarantine",
"reject"
],
"description": "Start with none plus a report address, then tighten."
},
"rua": {
"type": "array",
"items": {
"type": "string"
},
"description": "Aggregate report addresses."
},
"subdomainPolicy": {
"type": "string",
"enum": [
"none",
"quarantine",
"reject"
]
}
},
"required": [
"domain",
"policy"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢generate_dkim_record(selector, publicKey, keyType)
Format a DKIM public key as the TXT record to publish at selector._domainkey.yourdomain.
Input Schema
{
"type": "object",
"properties": {
"selector": {
"type": "string"
},
"publicKey": {
"type": "string",
"maxLength": 4000,
"description": "The public key, PEM or bare base64."
},
"keyType": {
"type": "string",
"enum": [
"rsa",
"ed25519"
]
}
},
"required": [
"selector",
"publicKey"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence