Domain Tools
MCP tools for adding and verifying email sending domains and checking DNS / DMARC health.
Overview
Sending domains are account-level resources: they belong directly to your account (the domain owner), not to a workspace. The tools on this page only work on domains owned by your account; querying another account's domain returns an error.
Typical flow:
- Add the domain with
create_sending_domain— note the DNS records it returns. - Add the DNS records (SPF, DKIM, etc.) at your DNS provider.
- Trigger verification with
verify_sending_domain. - Monitor record state with
get_sending_domain_detailsandget_dmarc_records.
To list the domains a workspace can use, call list_sending_domains from Campaign Read Tools.
Tools
create_sending_domain
Registers a new email sending domain with Mailgun and adds it to your account. Returns the DNS records you must add at your DNS provider before verifying.
Key parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Domain, e.g. mail.example.com |
sender_header | string | Yes | Display name for the From header (English letters/digits/spaces only, max 15 words) |
sender_name | string | Yes | Local part of the From address (single word, lowercase letters and digits) |
The response includes a dns_records field and the next-step instruction.
Say this to your AI: "Add mail.mycompany.com as a sending domain; use 'MyCompany Team' as the sender name and 'info' as the local part of the address. Show me the DNS records I need to add as a table."
verify_sending_domain
Asks Mailgun to re-check the DNS records for one of your sending domains and syncs the verification status back to your account.
Key parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Domain name to verify |
The response returns state (Mailgun's status) and verified (whether the domain is verified).
Say this to your AI: "I've added the DNS records — verify mail.mycompany.com now."
get_sending_domain_details
Fetches the full Mailgun detail for one of your sending domains, including DNS records and each record's pass / fail state.
Key parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Domain name |
Say this to your AI: "Which DNS records are still failing for mail.mycompany.com? List the missing ones."
get_dmarc_records
Returns the DMARC record status for one of your sending domains (deliverability health).
Key parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Domain name |
Returns an empty list if no DMARC record is found.
Say this to your AI: "Check the DMARC status of all my sending domains — is any of them a deliverability risk?"