{"$schema":"https:\/\/modelcontextprotocol.io\/schemas\/server-card\/v1.0","version":"1.0","protocolVersion":"2025-11-25","serverInfo":{"name":"mailx-deliverability","title":"mailX","version":"1.0.0","description":"Email deliverability tools for AI agents. Check SPF, DKIM, DMARC, BIMI, blacklists, SMTP\/IMAP connectivity, and generate DNS records.","homepage":"https:\/\/themailx.com","websiteUrl":"https:\/\/themailx.com"},"transport":{"type":"streamable-http","url":"https:\/\/themailx.com\/mcp"},"authentication":{"required":false,"schemes":[]},"capabilities":{"tools":{"listChanged":true},"resources":{},"prompts":{"listChanged":false}},"tools":[{"name":"audit_domain","title":"Audit Domain","description":"Use this when the user asks why their emails go to spam or wants a full deliverability check of a domain. Runs SPF, DKIM (finds the selector on its own), DMARC, blacklist and MX checks in one call and returns pass, warning or fail for each, an overall result, and the fixes to apply in priority order with help links. Takes about 10 seconds. mailX never changes DNS.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to audit, e.g. example.com"},"dkim_selector":{"type":"string","description":"The DKIM selector, e.g. google (Google Workspace), selector1 or selector2 (Microsoft 365). Optional: omit it to try common selectors."}},"required":["domain_name"]},"annotations":{"title":"Audit Domain","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"spf_check","title":"SPF Check","description":"Use this when the user asks whether a domain's SPF record is valid, which servers may send email for a domain, or why SPF fails. Returns the live SPF record, a pass\/fail status and a fix suggestion.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to check SPF records for, e.g. example.com"}},"required":["domain_name"]},"annotations":{"title":"SPF Check","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"dkim_check","title":"DKIM Check","description":"Use this when the user wants to verify DKIM for a domain. Pass the DKIM selector if known (for example google for Google Workspace, selector1 or selector2 for Microsoft 365). If the selector is unknown, omit it: mailX then tries common selectors and returns the ones it finds. Returns the published key and its status. A miss on common selectors does not prove DKIM is absent.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to check DKIM records for, e.g. example.com"},"dkim_selector":{"type":"string","description":"The DKIM selector, e.g. google (Google Workspace), selector1 or selector2 (Microsoft 365). Optional: omit it to try common selectors."}},"required":["domain_name"]},"annotations":{"title":"DKIM Check","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"dmarc_check","title":"DMARC Check","description":"Use this when the user asks about DMARC, spoofing protection, or what happens to emails that fail authentication. Returns the live DMARC record, its policy and a fix suggestion.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to check DMARC records for, e.g. example.com"}},"required":["domain_name"]},"annotations":{"title":"DMARC Check","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"bimi_check","title":"BIMI Check","description":"Use this when the user asks about BIMI or showing a brand logo next to their emails in inboxes. Returns the live BIMI record, the logo URL it declares, and a fix suggestion.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to check BIMI records for, e.g. example.com"}},"required":["domain_name"]},"annotations":{"title":"BIMI Check","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"dmarc_generate","title":"DMARC Generator","description":"Use this when the user needs a DMARC record. Returns the record name, value and type ready to publish. mailX does not publish it.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to generate a DMARC record for, e.g. example.com"},"email":{"type":"string","description":"The email address to receive DMARC aggregate reports, e.g. dmarc@example.com"},"dmarc_policy":{"type":"string","description":"The DMARC policy: none (monitor only), quarantine (mark as spam), or reject (block entirely)","enum":["none","quarantine","reject"]}},"required":["domain_name","email","dmarc_policy"]},"annotations":{"title":"DMARC Generator","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"spf_generate","title":"SPF Generator","description":"Use this when the user needs a new SPF record for their email provider. Returns a TXT record ready to publish, or explains what to set up instead when the provider does not need a root SPF include. mailX does not publish it.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to generate an SPF record for, e.g. example.com"},"provider":{"type":"string","description":"Email provider identifier. Google Workspace or Gmail = google. Microsoft 365, Office 365 or Outlook = microsoft. Amazon SES = amazon-ses. Common provider names are also accepted.","enum":["activecampaign","amazon-ses","aweber","bluehost","brevo","campaign-monitor","constant-contact","elastic-email","fastmail","freshdesk","gandi","getresponse","godaddy","google","hostgator","hostinger","hubspot","icloud","infomaniak","intercom","ionos","ionos-eu","kit","klaviyo","mailbox-org","mailchimp","mailersend","mailgun","mailjet","mandrill","microsoft","migadu","moosend","namecheap","ovh","postmark","protonmail","purelymail","rackspace","resend","salesforce","sendgrid","smtp2go","sparkpost","titan","yandex","zendesk","zeptomail","zoho"]},"hard_fail_boolean":{"type":"boolean","description":"If true, uses strict -all policy (reject unauthorized senders). If false, uses soft ~all (mark but deliver)."}},"required":["domain_name","provider","hard_fail_boolean"]},"annotations":{"title":"SPF Generator","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"smtp_check","title":"SMTP Check","description":"Use this only when the user explicitly asks to test an SMTP login for a mail account they control and provides its credentials. Connects to the SMTP server and reports whether connection, encryption and authentication succeed. If from_email and to_email are both given, it also sends one test email. Credentials are not stored.","inputSchema":{"type":"object","properties":{"host":{"type":"string","description":"The SMTP server hostname, e.g. smtp.gmail.com"},"port":{"type":"integer","description":"The SMTP port number, e.g. 587 for TLS, 465 for SSL, 25 for unencrypted","minimum":1,"maximum":65535},"username":{"type":"string","description":"The SMTP username for authentication"},"password":{"type":"string","description":"The SMTP password or app-specific password"},"encryption":{"type":"string","description":"The encryption protocol: ssl, tls, or none","enum":["ssl","tls","none"]},"from_email":{"type":"string","description":"Optional sender email address for sending a test email"},"to_email":{"type":"string","description":"Optional recipient email address for sending a test email"}},"required":["host","port","username","password","encryption"]},"annotations":{"title":"SMTP Check","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}},{"name":"imap_check","title":"IMAP Check","description":"Use this only when the user explicitly asks to test an IMAP login for a mailbox they control and provides its credentials. Connects to the IMAP server and reports whether connection, encryption and authentication succeed. Credentials are not stored.","inputSchema":{"type":"object","properties":{"imap_host":{"type":"string","description":"The IMAP server hostname, e.g. imap.gmail.com"},"imap_port":{"type":"integer","description":"The IMAP port number, e.g. 993 for SSL, 143 for unencrypted","minimum":1,"maximum":65535},"username":{"type":"string","description":"The IMAP username for authentication"},"password":{"type":"string","description":"The IMAP password or app-specific password"},"imap_encryption":{"type":"string","description":"The encryption protocol: ssl, tls, or none","enum":["ssl","tls","none"]}},"required":["imap_host","imap_port","username","password","imap_encryption"]},"annotations":{"title":"IMAP Check","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"smtp_finder","title":"SMTP Finder","description":"Use this when the user needs the outgoing mail (SMTP) server settings for an email provider or sending service, such as Gmail, Outlook, Microsoft 365, Zoho, Amazon SES or SendGrid. Returns the host, ports with encryption, what to use to log in, and the provider's setup guide. Never asks for the user's credentials.","inputSchema":{"type":"object","properties":{"provider_name":{"type":"string","description":"The email provider name to look up, e.g. gmail, sendgrid, mailgun, outlook"}},"required":["provider_name"]},"annotations":{"title":"SMTP Finder","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"imap_finder","title":"IMAP Finder","description":"Use this when the user needs the incoming mail (IMAP) server settings for an email provider, such as Gmail, Outlook, Yahoo, iCloud or Zoho. Returns the host, ports with encryption and the provider's setup guide. Never asks for the user's credentials.","inputSchema":{"type":"object","properties":{"imap_provider_name":{"type":"string","description":"The email provider name to look up, e.g. gmail, outlook, yahoo"}},"required":["imap_provider_name"]},"annotations":{"title":"IMAP Finder","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"blacklist_check","title":"Blacklist Check","description":"Use this when the user suspects their domain is blacklisted or blocked. Checks the domain against major DNS blocklists and returns the result for each list.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain name or IP address to check against blacklists, e.g. example.com or 1.2.3.4"}},"required":["domain_name"]},"annotations":{"title":"Blacklist Check","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"mx_lookup","title":"MX Lookup","description":"Use this when the user wants to know which mail servers receive email for a domain. Returns the domain's live MX records with their priorities.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to look up MX records for, e.g. example.com"}},"required":["domain_name"]},"annotations":{"title":"MX Lookup","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"txt_lookup","title":"TXT Lookup","description":"Use this when the user wants to see a domain's TXT records, for example to find verification tokens or check what SPF or other policies are published. Returns all live TXT records.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to look up TXT records for, e.g. example.com"}},"required":["domain_name"]},"annotations":{"title":"TXT Lookup","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"cname_lookup","title":"CNAME Lookup","description":"Use this when the user wants to know whether a hostname is an alias of another one, for example to verify DKIM or tracking CNAMEs. Returns the live CNAME target.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to look up CNAME records for, e.g. www.example.com"}},"required":["domain_name"]},"annotations":{"title":"CNAME Lookup","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"ptr_lookup","title":"PTR Lookup","description":"Use this when the user wants the reverse DNS (PTR) of an IP address, for example to check a sending server's reverse DNS. Returns the hostname the IP resolves to.","inputSchema":{"type":"object","properties":{"ip_address":{"type":"string","description":"The IP address to look up, e.g. 8.8.8.8 or 142.250.80.46"}},"required":["ip_address"]},"annotations":{"title":"PTR Lookup","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"dns_lookup","title":"DNS Lookup","description":"Use this when the user wants every DNS record for a domain in one view (A, AAAA, CNAME, MX, NS, TXT, SOA). Returns the live records grouped by type.","inputSchema":{"type":"object","properties":{"domain_name":{"type":"string","description":"The domain to look up all DNS records for, e.g. example.com"}},"required":["domain_name"]},"annotations":{"title":"DNS Lookup","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}}],"resources":[{"uri":"mailx:\/\/skills\/email-deliverability","name":"email-deliverability-skill","title":"Email Deliverability Skill","description":"Guide for diagnosing and fixing email deliverability: SPF, DKIM, DMARC, BIMI, blacklists, SMTP\/IMAP. Includes audit workflow, DNS setup, and troubleshooting.","mimeType":"text\/markdown"},{"uri":"mailx:\/\/skills\/email-deliverability\/diagnosis","name":"email-deliverability-diagnosis","title":"Deliverability Diagnosis Reference","description":"Detailed reference for interpreting combined SPF\/DKIM\/DMARC\/blacklist results and mapping failures to fixes per provider.","mimeType":"text\/markdown"}],"prompts":[{"name":"audit-deliverability","title":"Audit Email Deliverability","description":"Run a full deliverability audit on a domain with audit_domain (SPF, DKIM, DMARC, blacklists, MX). Produces a pass\/fail summary with copy-pasteable fixes.","arguments":[{"name":"domain","description":"The domain to audit, e.g. example.com","required":true},{"name":"dkim_selector","description":"DKIM selector to check (optional). If omitted, dkim_check tries common selectors.","required":false}]},{"name":"setup-dns","title":"Set Up Email Authentication DNS","description":"Generate SPF and DMARC DNS records for a domain based on its email provider, with copy-pasteable values ready to add to DNS.","arguments":[{"name":"domain","description":"The domain to configure, e.g. example.com","required":true},{"name":"provider","description":"The email provider identifier, e.g. google, mailgun, sendgrid, postmark, amazon-ses","required":true}]}],"configSchema":{"type":"object","properties":{"default_dkim_selector":{"type":"string","title":"Default DKIM Selector","description":"Default selector used by dkim_check when the call omits dkim_selector. Common values: google, selector1, selector2, k1, default.","examples":["google","selector1","k1"],"x-from":{"query":"default_dkim_selector"}},"preferred_provider":{"type":"string","title":"Preferred Email Provider","description":"Default provider used by spf_generate and the setup-dns prompt when the call omits provider.","enum":["activecampaign","amazon-ses","aweber","bluehost","brevo","campaign-monitor","constant-contact","elastic-email","fastmail","freshdesk","gandi","getresponse","godaddy","google","hostgator","hostinger","hubspot","icloud","infomaniak","intercom","ionos","ionos-eu","kit","klaviyo","mailbox-org","mailchimp","mailersend","mailgun","mailjet","mandrill","microsoft","migadu","moosend","namecheap","ovh","postmark","protonmail","purelymail","rackspace","resend","salesforce","sendgrid","smtp2go","sparkpost","titan","yandex","zendesk","zeptomail","zoho"],"x-from":{"query":"preferred_provider"}},"dmarc_aggregate_email":{"type":"string","format":"email","title":"DMARC Aggregate Report Email","description":"Default rua= address used by dmarc_generate when the call omits email.","examples":["dmarc@example.com"],"x-from":{"query":"dmarc_aggregate_email"}}},"required":[],"additionalProperties":false},"exampleConfig":{"default_dkim_selector":"google","preferred_provider":"google","dmarc_aggregate_email":"dmarc@example.com"}}