MailX MCP Integration Guide

Connect AI agents to email deliverability tools via MCP

MCP Endpoint

https://themailx.com/mcp

POST JSON-RPC 2.0  |  No auth required Discovery JSON →

Integrations
Claude Code (CLI & IDE) Claude.ai & Claude Desktop Cursor Windsurf VS Code (GitHub Copilot) Zed OpenAI Agents SDK Direct API (any agent or framework)

Available Tools

ToolDescription
spf_check 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.
dkim_check 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.
dmarc_check 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.
bimi_check 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.
dmarc_generate Use this when the user needs a DMARC record. Returns the record name, value and type ready to publish. mailX does not publish it.
spf_generate 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.
smtp_check 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.
imap_check 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.
smtp_finder 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.
imap_finder 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.
blacklist_check 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.
bimi_host Host and serve your BIMI SVG file for email authentication
mx_lookup 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.
txt_lookup 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.
cname_lookup 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.
ptr_lookup 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.
dns_lookup 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.

Claude Code (CLI & IDE extensions)

Add a .mcp.json file to your project root:

{
  "mcpServers": {
    "mailx": {
      "type": "http",
      "url": "https://themailx.com/mcp"
    }
  }
}

Start a new Claude Code session. When prompted, approve the mailx MCP server. Then ask:

"Audit the email deliverability for example.com"
CLI alternative: Run claude mcp add --transport http mailx https://themailx.com/mcp

Claude.ai & Claude Desktop

Both Claude.ai (web) and Claude Desktop use the same Custom Connectors system. Available on Free (limited to one connector), Pro, Max, Team, and Enterprise plans.

Install

Go to Settings → Customize → Connectors, click + then Add custom connector, paste the URL below, and click Add. No authentication needed (leave the Advanced settings OAuth fields blank).

https://themailx.com/mcp
Team / Enterprise: an Owner first adds it once under Organization settings → Connectors → Add, then hovers Custom and selects Web to enter the URL. Members then connect from their own Settings → Customize → Connectors by clicking Connect.

Using it

In a chat, click the + button (lower left), choose Connectors, toggle MailX on for the conversation, then ask about email deliverability.

Cursor

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "mailx": {
      "url": "https://themailx.com/mcp"
    }
  }
}

Restart Cursor. The tools are available in Composer and Agent mode.

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "mailx": {
      "serverUrl": "https://themailx.com/mcp"
    }
  }
}
Note: Windsurf uses serverUrl for HTTP servers (not url), and there's no type field — HTTP is implied by the serverUrl field.

Restart Windsurf. The tools become available in Cascade.

VS Code (GitHub Copilot)

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "mailx": {
      "type": "http",
      "url": "https://themailx.com/mcp"
    }
  }
}
Note: VS Code uses "servers" as the top-level key (not "mcpServers" like other clients).

You can also run MCP: Add Server from the Command Palette to add it through the UI. The tools are available in Copilot Chat agent mode.

Zed

Add to your Zed settings.json (open via cmd+, on macOS):

{
  "context_servers": {
    "mailx": {
      "url": "https://themailx.com/mcp"
    }
  }
}
Note: Zed uses "context_servers" as the top-level key. You can also click Add Custom Server in the Agent Panel settings to configure through the UI.

The tools become available in Zed's Agent Panel.

OpenAI Agents SDK

The OpenAI Agents SDK supports MCP via the Streamable HTTP transport:

from agents.mcp import MCPServerStreamableHttp
from agents import Agent

async with MCPServerStreamableHttp(
    name="mailx",
    params={
        "url": "https://themailx.com/mcp",
    },
) as mailx:
    agent = Agent(
        name="Email Deliverability Expert",
        instructions="Use the mailx tools to check email deliverability.",
        mcp_servers=[mailx],
    )
    # Use the agent...

Direct API (any agent or framework)

All tools are also available as standalone HTTP endpoints — no MCP protocol needed. Use these from any language, framework, or script.

POST https://themailx.com/api/v1/{tool-endpoint}
Content-Type: application/json

Example: Check SPF

curl -X POST https://themailx.com/api/v1/spf-check \
  -H "Content-Type: application/json" \
  -d '{"domain_name": "google.com"}'

Example: Generate DMARC record

curl -X POST https://themailx.com/api/v1/dmarc-generate \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com",
    "email": "dmarc@example.com",
    "dmarc_policy": "quarantine"
  }'

Using MCP protocol directly

For frameworks that speak MCP natively (LangChain, CrewAI, Anthropic Agent SDK, etc.), POST JSON-RPC 2.0 messages to the MCP endpoint:

# List available tools
curl -X POST https://themailx.com/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/list",
    "id": 1
  }'

# Call a tool
curl -X POST https://themailx.com/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "id": 2,
    "params": {
      "name": "spf_check",
      "arguments": { "domain_name": "example.com" }
    }
  }'

Agent Skill

MailX also publishes an Agent Skill — a markdown file that teaches AI agents how and when to use these tools. Three ways to install it:

1. Claude Code (recommended)

If you use Claude Code, install via the plugin marketplace:

/plugin marketplace add Mailwarm/mailx-skills
/plugin install email-deliverability@mailx-skills

2. Claude.ai (web)

First enable Code Execution and File Creation under Settings → Capabilities (skills require them). Then download email-deliverability.zip, go to Settings → Capabilities → Skills, click Upload, and select the zip.

Why the zip? Claude.ai accepts a bare .md, a .zip, or a .skill file. We recommend the zip because it bundles the references/diagnosis.md file alongside SKILL.md — a bare SKILL.md also installs, but without the reference file.

3. Claude API

For apps calling the Claude API programmatically, upload the skill and reference it by skill_id:

curl -X POST https://api.anthropic.com/v1/skills \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-beta: skills-2025-10-02" \
  -F "display_title=Email Deliverability" \
  -F "files[]=@SKILL.md"

Discovery

Agents and clients can auto-discover the MCP server and skill via these endpoints:

EndpointPurpose
/.well-known/mcp.jsonMCP server metadata and tool list
/.well-known/mcp/server-card.jsonSmithery-compatible server card (tools, resources, prompts, config schema)
/.well-known/skills.jsonAgent Skills index
/.claude-plugin/marketplace.jsonClaude Code marketplace catalog
/skills/email-deliverability/SKILL.mdLive SKILL.md (always current)
/llms.txtPlain-text description for LLM agents
/mcp/docsThis integration guide