DNS tools

Read and write DNS records, plus apply preset templates for common providers.

DNS lives on Cloudflare. The domain must have dns_management = "domaingenius" and a configured cloudflare_zone_id. Use update_domain_settings to enable managed DNS first.

Write operations route through the agent confirmation pipeline. If the user’s threshold is exceeded, the response is status: "pending_confirmation" with a token + URL — surface the URL to the user, they approve, then re-call with request_id.

list_dns_records

Required scope: dns:read.

org_oid string path required
domain string path required
id string
name string
type string
A, AAAA, CNAME, MX, TXT, NS, etc.
content string
proxied boolean
ttl integer
Seconds, or 1 for auto.
priority number

create_dns_record

Required scope: dns:write.

org_oid string path required
domain string path required
type string path required
Record type.
name string path required
Apex (example.com.au) or subdomain.
content string path required
IP, target hostname, TXT body, etc.
ttl integer path default: 1
TTL in seconds, or 1 for auto.
priority number path
Required for MX and SRV.
proxied boolean path default: true
Whether Cloudflare should proxy.
request_id string path
Idempotency key. Auto-generated if omitted.

update_dns_record

Replaces a record — supply every field. Same scope and params as create_dns_record plus:

record_id string path required
Record id from list_dns_records.

delete_dns_record

Required scope: dns:write.

org_oid string path required
domain string path required
record_id string path required
request_id string path

list_dns_presets

Catalog of preset templates (Vercel, Cloudflare Pages, Google Workspace MX, etc.).

Required scope: dns:read.

org_oid string path required
domain string path required

get_active_dns_presets

Detect which presets are currently applied to the domain’s zone.

Required scope: dns:read.

org_oid string path required
domain string path required

Returns { "active": ["vercel", "google_mx"] }.

apply_dns_preset

Deletes records the preset conflicts with, then creates the preset’s records. Always confirms — bulk_count=5 forces it through the confirmation pipeline.

Required scope: dns:write.

org_oid string path required
domain string path required
preset string path required
Key from list_dns_presets.
input_values object path
Per-preset inputs (e.g. Vercel team id).
request_id string path

Returns { "created": int, "deleted": int }.

remove_dns_preset

Removes records belonging to the preset. Same confirmation behaviour as apply.

Required scope: dns:write.

org_oid string path required
domain string path required
preset string path required
request_id string path
Last updated Edit this page
↑↓ navigate open esc close