scan.mx Email Diagnostics
Server Details
Check email deliverability for a domain: MX, SPF, DKIM, DMARC, blacklists. Graded, no key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 6 of 6 tools scored.
Each tool targets a distinct deliverability concern: blacklist status, DKIM, DMARC, full domain scan, MX, and SPF. There is no overlap in functionality; even check_domain's comprehensive check is clearly differentiated from the individual checks.
All tools follow a consistent check_[resource] naming pattern (e.g., check_blacklist, check_dkim, check_dmarc). This pattern is uniform and predictable, making it easy for an agent to infer tool purposes.
Six tools is an ideal scope for an email diagnostics server. Each tool covers a core aspect of deliverability (MX, SPF, DKIM, DMARC, blacklists, and a full scan), with no redundancy. The count feels complete and focused.
The tool set covers the major email deliverability checks (MX, SPF, DKIM, DMARC, blacklists, and a full domain scan with optional SMTP probe). A minor gap might be the lack of a dedicated tool for SPF or DKIM record modification, but for a diagnostic-only server, the coverage is robust and actionable.
Available Tools
6 toolscheck_blacklistCheck blacklistsARead-onlyInspect
Check whether the domain and its mail server IPs are listed on the Spamhaus (ZEN, DBL, ZRD, AuthBL), SpamCop, GBUdb and PSBL blocklists.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain to check, e.g. example.com. No scheme or path. |
Output Schema
| Name | Required | Description |
|---|---|---|
| grade | No | |
| score | No | |
| checks | No | |
| domain | Yes | |
| provider | No | |
| sections | No | |
| selector | No | |
| permalink | No | |
| smtp_note | No | |
| created_at | No | |
| expires_at | No | |
| updated_at | No | |
| smtp_status | No | |
| poll_after_seconds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint and openWorldHint. Description adds behavioral details: enumerates specific blocklists and clarifies it checks both the domain and its mail server IPs. No contradictions.
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?
Single sentence immediately conveys core purpose and lists all addressed blocklists. No redundant words.
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?
Given an output schema exists, description covers what the tool does and which blocklists. It could optionally mention how results are returned, but likely sufficient.
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 100% with a clear domain description. The description adds context by linking the parameter to the tool's function (check domain and its mail server IPs on specific lists), adding value beyond schema.
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 clearly states the tool checks domain and mail server IPs against specific blocklists (Spamhaus, SpamCop, GBUdb, PSBL). It distinguishes from sibling tools that check other DNS records (DKIM, DMARC, etc.).
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?
No explicit when-to-use or when-not-to-use guidance is given. The differentiation from siblings is implicit based on the domain check context but lacks direct recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_dkimCheck DKIMARead-onlyInspect
Check DKIM signing keys for a domain. Without a selector, common provider selectors are probed. Pass an explicit selector to look up that exact key at selector._domainkey.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain to check, e.g. example.com. No scheme or path. | |
| selector | No | An explicit DKIM selector to look up (e.g. "google", "s1"). |
Output Schema
| Name | Required | Description |
|---|---|---|
| grade | No | |
| score | No | |
| checks | No | |
| domain | Yes | |
| provider | No | |
| sections | No | |
| selector | No | |
| permalink | No | |
| smtp_note | No | |
| created_at | No | |
| expires_at | No | |
| updated_at | No | |
| smtp_status | No | |
| poll_after_seconds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint. Description adds meaningful behavior: probing common selectors by default and exact lookup with explicit selector. This goes beyond annotations, though could detail probed selectors.
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 with efficient, front-loaded information. Every word adds value, no redundancy.
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 output schema present, description covers the tool's purpose and parameter behavior comprehensively. Annotations and sibling context complete the picture.
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?
Description adds significant value beyond schema descriptions: it explains the default probing behavior when selector is omitted and the exact lookup when provided. This clarifies parameter interplay.
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?
Description clearly states it checks DKIM signing keys for a domain, and explains two modes: probing common selectors or using an explicit selector. This distinguishes it from sibling tools like check_spf, check_dmarc, etc.
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?
Description indicates when to use the tool (to check DKIM keys) and how to customize with the selector parameter. It could explicitly mention alternatives but is clear enough for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_dmarcCheck DMARCARead-onlyInspect
Check the domain DMARC policy at _dmarc: presence, policy strength (none/quarantine/reject), and reporting.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain to check, e.g. example.com. No scheme or path. |
Output Schema
| Name | Required | Description |
|---|---|---|
| grade | No | |
| score | No | |
| checks | No | |
| domain | Yes | |
| provider | No | |
| sections | No | |
| selector | No | |
| permalink | No | |
| smtp_note | No | |
| created_at | No | |
| expires_at | No | |
| updated_at | No | |
| smtp_status | No | |
| poll_after_seconds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds context by specifying what is checked (presence, policy strength, reporting). It does not contradict annotations and provides useful behavioral details 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?
The description is a single sentence of 14 words, front-loaded with the action and key details. It is concise with no wasted words.
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?
Given the tool has an output schema (not shown) and is simple (1 parameter, read-only), the description covers the essential aspects: presence, policy strength, and reporting. It is complete enough for an agent to understand usage.
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 100% with a clear parameter description for 'domain' including an example and constraints. The tool description does not add significant new information about the parameter beyond what is in the schema. Baseline of 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?
The description clearly states the action (check), the resource (domain DMARC policy at _dmarc), and the specifics (presence, policy strength, reporting). It distinguishes from sibling tools like check_spf or check_dkim by focusing on DMARC specifically.
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?
The description implies the tool should be used to check DMARC policy but does not explicitly state when to use it over alternatives like check_spf or check_dkim. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_domainFull email deliverability checkARead-onlyInspect
Run the full email and DNS deliverability check for a domain: MX, SPF, DKIM, DMARC, DNS health, provider detection, and blacklists. Returns a letter grade (A+ to F, where specific weaknesses cap the grade), a 0 to 100 score, and every individual check with its RFC reference. Set include_smtp to also run a live SMTP probe of the mail servers: the probe is non-blocking, so when smtp_status is "pending" or "running" call this tool again (poll_after_seconds hints how long to wait) until smtp_status is "complete" and the SMTP checks appear in checks.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain to check, e.g. example.com. No scheme or path. | |
| include_smtp | No | Also run a live SMTP connectivity probe of the MX hosts. Non-blocking: poll by re-calling until smtp_status is complete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| grade | No | |
| score | No | |
| checks | No | |
| domain | Yes | |
| provider | No | |
| sections | No | |
| selector | No | |
| permalink | No | |
| smtp_note | No | |
| created_at | No | |
| expires_at | No | |
| updated_at | No | |
| smtp_status | No | |
| poll_after_seconds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description's job is lighter. The description adds value by explaining the non-blocking SMTP probe behavior (states smtp_status values like 'pending', 'running', 'complete'), the capping logic for the letter grade, and that results appear in checks. No contradiction with 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?
The description is a single paragraph of moderate length, packed with utility. Every sentence contributes essential details (scope, output format, polling behavior). It is front-loaded with the core purpose. Could be slightly more structured (e.g., bullet points for checks), but no redundant or irrelevant content.
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?
Given only 2 parameters, full schema coverage, an output schema (which explains return values), and read-only/open-world annotations, the description is complete: it covers what the tool does, what the output contains, how to handle the SMTP probe, and differentiates from siblings. Missing prerequisites (e.g., DNS access) are implied by the nature of the check.
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%, providing a baseline of 3. The description adds meaning beyond the schema by explaining the purpose of include_smtp (live probe, non-blocking, polling behavior) and the implications of the poll loop, which the schema's 'Non-blocking' note only hints at.
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 opens with a specific verb ('Run') and enumerates the resources checked (MX, SPF, DKIM, DMARC, DNS health, provider detection, blacklists). It clearly distinguishes from the sibling tools like check_mx or check_spf by naming this a comprehensive 'full email and DNS deliverability check' that aggregates all those checks.
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?
The description provides clear context for when to use this tool—for a full deliverability check—and gives specific guidance on polling via the include_smtp parameter ('call this tool again...poll_after_seconds hints how long to wait'). While it doesn't explicitly exclude any siblings (e.g., 'use check_dkim if you only need DKIM'), the sibling differentiation is implicit in the comprehensive vs. single-check names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_mxCheck MX recordsARead-onlyInspect
Check the MX records of a domain: presence, hostnames, resolution, null-MX, and common misconfigurations.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain to check, e.g. example.com. No scheme or path. |
Output Schema
| Name | Required | Description |
|---|---|---|
| grade | No | |
| score | No | |
| checks | No | |
| domain | Yes | |
| provider | No | |
| sections | No | |
| selector | No | |
| permalink | No | |
| smtp_note | No | |
| created_at | No | |
| expires_at | No | |
| updated_at | No | |
| smtp_status | No | |
| poll_after_seconds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and open-world. The description adds value by detailing what specific checks are performed (presence, hostnames, resolution, null-MX, misconfigurations), providing behavioral context 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?
The description is a single sentence that is front-loaded with the main action and then lists specific checks. No wasted words; concise and clear.
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?
Given the tool's simplicity (one parameter, full schema coverage, output schema present, annotations clear), the description adequately covers the checks performed. Slightly lacking in detail about the output format, but overall complete for the context.
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 description coverage, the schema already documents the domain parameter. The description rephrases but does not add new semantic details about the parameter, so baseline score of 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?
The description clearly states it checks MX records of a domain, listing specific aspects: presence, hostnames, resolution, null-MX, and common misconfigurations. This distinguishes it from sibling tools that check other DNS records.
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?
The description implies usage when assessing email server configuration via MX records, but does not explicitly state when to use this tool versus alternatives, nor does it provide when-not or exclude conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_spfCheck SPFARead-onlyInspect
Check the domain SPF policy: presence, syntax, the all qualifier, and the 10-lookup limit.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain to check, e.g. example.com. No scheme or path. |
Output Schema
| Name | Required | Description |
|---|---|---|
| grade | No | |
| score | No | |
| checks | No | |
| domain | Yes | |
| provider | No | |
| sections | No | |
| selector | No | |
| permalink | No | |
| smtp_note | No | |
| created_at | No | |
| expires_at | No | |
| updated_at | No | |
| smtp_status | No | |
| poll_after_seconds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and open-world hints. The description adds behavioral specifics by naming the four checks performed (presence, syntax, all qualifier, 10-lookup limit), which is useful context 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?
Single sentence with no redundancy. Front-loads the main action and lists specific checks efficiently. Every word earns its place.
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 an output schema present, the description need not detail return values. It covers the core functionality (SPF policy checks) but could mention behavior on invalid domains or vague outcomes.
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 100% with a clear parameter description. The tool description does not add additional parameter-level meaning beyond what the schema already provides, 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?
The description clearly states it checks the domain SPF policy, listing specific aspects (presence, syntax, all qualifier, 10-lookup limit). This distinguishes it from sibling tools like check_dkim or check_dmarc which target different DNS records.
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?
No explicit guidance on when to use this tool versus alternatives. The usage is implied by the tool name and description but lacks clear directives like 'use this when checking SPF validity' or mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAudits email deliverability configuration for a domain, checking SPF, DKIM, DMARC, and MX records, returning a score and recommendations.MIT
- 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.12201MIT
- AlicenseAqualityCmaintenancePerforms domain security posture checks including SPF, DKIM, DMARC, TLS, and HTTP security headers.3151MIT
- 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