Powerline Email Tools
Server Details
Email deliverability checks: SPF, DKIM, DMARC, BIMI, MTA-STS, blacklists, headers, spam words
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct layer of email diagnostics: headers, IP/domain blacklists, whole-domain audit, single DNS record, and content scanning. However, check_domain is an aggregate that subsumes check_record and check_blacklists, so an agent may occasionally pick the broad tool when the narrow one was requested (or vice versa); the descriptions do mitigate this by explicitly framing check_domain as the 'start here' aggregator.
All five tools follow a clean snake_case verb_noun pattern (analyze_headers, check_blacklists, check_domain, check_record, check_spam_words). The shared 'check_' prefix groups four closely related diagnostics, and 'analyze_' is still a verb-noun form, so there is no convention mixing.
Five tools is well-scoped for an email-diagnostics server, with each tool earning its place as a distinct diagnostic capability. No redundant or filler tools are present.
The surface covers header/authentication forensics, IP and domain blacklist status, full domain authentication scoring with prioritized fixes, individual record lookup, and content spam scoring — a solid lifecycle for auditing email sendability. Minor gaps remain (no outbound SMTP/port-connectivity test, no PTR/rDNS or sending-IP reputation check as a standalone tool, no blacklist delisting help), but agents can largely work around these.
Available Tools
5 toolsanalyze_headersEmail header analyzerARead-onlyIdempotentInspect
Parse raw email headers: the Received delivery path with per-hop delays, the receiving server's SPF/DKIM/DMARC verdicts, DMARC alignment of the From domain, DKIM signatures, the sending IP, and bulk-sender requirements such as one-click unsubscribe.
| Name | Required | Description | Default |
|---|---|---|---|
| headers | Yes | The raw header block (everything above the message body). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety and idempotency are covered. The description adds meaningful behavioral value by enumerating the derived artifacts (per-hop delays, authentication verdicts, alignment, bulk-sender requirements), though it does not explain the openWorldHint implication that verdict data may be looked up externally, nor any input-completeness caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the verb and resource, then lists outputs. It is somewhat list-heavy and run-on, but every enumerated item conveys distinct extracted information, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates well by naming the concrete results an agent will receive. For a one-parameter, read-only analysis tool whose annotations already cover safety, the remaining gap (no mention of behavior when headers are partial or malformed) is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and the schema already documents it fully at 100% coverage ('the raw header block (everything above the message body)'). The description restates 'raw email headers' without adding format or edge-case detail, so the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Parse') and resource ('raw email headers'), then enumerates exactly what is extracted: Received delivery path with per-hop delays, SPF/DKIM/DMARC verdicts, DMARC alignment, DKIM signatures, sending IP, and bulk-sender requirements. This clearly separates it from the sibling check_* tools that test domains, records, or blacklists rather than analyzing a supplied header block.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: the agent supplies a raw header block it already possesses, and the description makes the input nature evident. However, it never explicitly says when to prefer this over siblings like check_domain or check_record, nor does it state exclusions or prerequisites. No name-checked alternatives, so the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_blacklistsDNS blacklist lookupARead-onlyIdempotentInspect
Check an IPv4 address against about 18 IP blacklists (SpamCop, Barracuda, UCEPROTECT, PSBL, Mailspike, ...) or a domain against domain blacklists. Each list is verified with its test entries first, so lists that refuse public resolvers (such as Spamhaus) are reported as unavailable rather than clean.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | IPv4 address or domain. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/openWorld/destructive, so the bar is lower; the description adds real value by disclosing the self-verification behavior and the deliberately different 'unavailable' vs 'clean' outcome for lists that refuse public resolvers. It also quantifies scope (~18 lists). It does not describe return shape or per-list status format, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: what it checks first, the verification caveat second. Lists are parenthetical examples rather than enumeration for its own sake, and nothing is repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with annotations and no output schema, the description covers scope, target types, and the key caveat about unavailable lists. Only the shape of results (per-list status/response) is left implicit, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage and a single parameter, the baseline is 3, but the description adds meaning by explaining that the target type selects which list family is queried (IP blacklists vs domain blacklists). That is genuine semantics beyond the schema's bare 'IPv4 address or domain'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (check) and two concrete resources (IPv4 address / domain) against named blacklists, with examples (SpamCop, Barracuda, UCEPROTECT, PSBL, Mailspike). An agent can distinguish it from siblings like check_domain or check_record, which do not involve blacklist reputation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the target-type split (IP vs domain) rather than stated: the description tells you what it checks but never says when to prefer it over check_domain or check_record. No explicit exclusions or routing to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_domainEmail domain health checkARead-onlyIdempotentInspect
Run every email-authentication check on a domain (SPF, DKIM, DMARC, MX, MTA-STS, TLS-RPT, BIMI, plus domain and mail-server blacklists) and return a score out of 100, per-check findings and a prioritized fix list. Use this first when asked whether a domain is set up correctly to send email.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name, e.g. example.com. URLs and email addresses are accepted; the domain part is used. | |
| dkim_selector | No | DKIM selector (the s= value from a DKIM-Signature header). Optional; common selectors are tried when omitted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: it discloses the aggregate scoring model (out of 100), per-check findings, and a prioritized fix list, which tells the agent what the operation produces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the enumeration of checks and the output shape, then the when-to-use cue. Dense but every clause earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description correctly carries the return-value burden by naming the score, per-check findings and fix list. With annotations covering safety and the schema covering params, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema fully documents both the domain input format (URLs/emails accepted, domain part extracted) and the optional dkim_selector fallback behavior. The description adds nothing beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (run every email-authentication check) and resource (a domain), then enumerates the exact check families covered and the return shape. This clearly differentiates it from narrower siblings like check_blacklists and check_record, which cover only subsets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use this first when asked whether a domain is set up correctly to send email" gives a clear entry-point trigger. It implies precedence over the narrower sibling checks but never names them, so routing vs check_record/check_blacklists is left partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_recordCheck one DNS email recordARead-onlyIdempotentInspect
Look up and validate a single email DNS record for a domain, explaining each tag. record is one of spf, dmarc, dkim, bimi, mta-sts, tls-rpt, mx. SPF counts the 10-lookup limit; DMARC checks policy, reporting and external report authorization; DKIM sizes the key; MTA-STS fetches the policy file and compares it with the MX hosts; BIMI checks the logo (SVG Tiny PS) and mark certificate.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name, e.g. example.com. URLs and email addresses are accepted; the domain part is used. | |
| policy | No | MTA-STS only: policy file text to check instead of fetching it. Optional. | |
| record | Yes | ||
| selector | No | DKIM or BIMI selector. Optional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safety profile (readOnly, idempotent, openWorld, non-destructive), so the bar is lower; the description nonetheless adds real behavioral context: SPF consumes the 10-lookup limit, MTA-STS fetches a remote policy file and compares it against MX hosts, and BIMI validates logo/certificate. This discloses network-fetch side effects and per-type semantics beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose sentence followed by a compact, information-dense mapping of each record type to its check. No filler, though the second sentence is long and comma-heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup tool with no output schema, the description supplies enough per-type semantics for an agent to understand and interpret the call. The only gap is the absence of explicit routing guidance relative to the sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, and the description meaningfully enriches the enum values by explaining what each record type actually validates (policy, reporting, key size, logo, etc.). It does not add format detail for the optional policy or selector params, but the schema already documents those.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (look up and validate) plus a precisely scoped resource (a single email DNS record for a domain), and then names all seven record types. Combined with the 'single' scope, an agent can distinguish this from the sibling check_domain without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the enumeration of record types, but there is no explicit guidance on when to pick this over check_domain, check_blacklists, or analyze_headers. The agent must infer that this is the per-record deep-dive tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_spam_wordsEmail copy spam checkARead-onlyIdempotentInspect
Scan an email subject and body (plain text or HTML) for spam-trigger phrases by category, ALL-CAPS, exclamation runs, emoji, URL shorteners and image-heavy HTML. Returns a low/medium/high risk reading and, optionally, a rule-based rewrite.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Plain text or HTML. | |
| rewrite | No | Also return a calmer rewrite of the subject (and of a plain-text body). | |
| subject | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds real context beyond that: the return is a low/medium/high risk reading, and the rewrite is rule-based and optional, which is behaviorally informative with no output schema present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the action, scope and detection categories, then adds the return shape. No wasted clauses, though the long enumeration makes it slightly heavy for one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so (risk level + optional rewrite). It omits defaults for the zero-required-parameter case and any rate/limit notes, but nothing critical to calling it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description compensates by clarifying that body accepts plain text or HTML and that rewrite produces a calmer subject plus plain-text body rewrite. This adds meaning beyond the terse schema text for the two most ambiguous parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ("Scan an email subject and body ... for spam-trigger phrases") and enumerates the exact detection categories, making it unambiguous against siblings like analyze_headers or check_domain, which operate on entirely different artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by context (pre-send email copy review), but the description never states when to prefer this over siblings such as analyze_headers or check_blacklists, nor any preconditions. Adequate minimum-viable guidance without explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
analyze_headers - First observed
check_blacklists - First observed
check_domain - First observed
check_record - First observed
check_spam_words
Related MCP Connectors
Check SPF/DKIM/DMARC/BIMI, blacklists, SMTP/IMAP; DNS lookups; generate email DNS records.
Check email deliverability for a domain: MX, SPF, DKIM, DMARC, blacklists. Graded, no key.
Free, read-only email and DNS checks: SPF, DKIM, DMARC, MX, DNS records, blocklists, domain health.
Free email checks: 24 blacklists, spoofing/BEC grade, redirect tracing, email spam test, WHOIS.
Related MCP Servers
- AlicenseAqualityBmaintenanceProvides comprehensive email deliverability and domain registration analysis, evaluating SPF, DKIM, DMARC, DNS records, and expiry to identify issues and suggest fixes.5MIT
- AlicenseAqualityDmaintenanceMCP server for email deliverability: validate SPF/DKIM/DMARC/BIMI, check blacklists, test SMTP/IMAP, look up DNS, and generate ready-to-deploy records for any major email provider. Ships with two one-click prompts (audit-deliverability, setup-dns). Public, no auth.17MIT
- AlicenseAqualityDmaintenanceProgrammatic email deliverability testing for AI agents. Create inbox placement tests across Gmail, Outlook, Yahoo, Mail.ru, Yandex — get per-provider placement (Inbox/Spam/Promotions), SPF/DKIM/DMARC auth, Rspamd & SpamAssassin verdicts, DNS health (MX, PTR, DNSBL), and live SSE results.537 npm2MIT
- AlicenseAqualityAmaintenanceEnables auditing any domain's email deliverability and DNS health, including SPF, DKIM, DMARC, MX, mail provider, DNS blacklist status, catch-all, domain age, and a deliverability score.132 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.