---
title: "UltraDNS MCP server for AI agents - actionlake"
description: "Give Claude 256 UltraDNS actions through one MCP server: reports, zones, security groups. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/ultradns
updated: 2026-10-23
---

Connectors · Developer & infrastructure

# UltraDNS MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to UltraDNS and the rest of your systems. It gives your agent 256 UltraDNS actions (105 reads, 116 writes and 35 that wait for a confirmation) and holds the UltraDNS credential itself, so the agent never does. It paces UltraDNS's limits and records every call.

[Connect UltraDNS free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "ultradns.zones.list",
  intent: "check which UltraDNS account is connected"
}
# List zones (v3, cursor based) · read · 1 upstream call
```

- 256 actions in one signed file
- 105 read look, never change
- 116 write create and update
- 35 wait for a yes destructive, confirmed first

Set up

## Connect UltraDNS in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect UltraDNS.
   Session login. actionlake opens the session and renews it when it expires. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `username` UltraDNS user name (an API-only user is recommended; create one under Accounts > Users in the UltraDNS portal)
   - `password` Password of that UltraDNS user
   ```
   account { op: "connections.requirements", service: "ultradns" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "ultradns.zones.list" }
   # list zones (v3, cursor based) · read · 1 upstream call
   check { action: "ultradns.rrsets.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

UltraDNS at a glance

**Sign-in**

Session login. actionlake opens the session and renews it when it expires.

**You provide**

`username` `password`

**Limits we pace to**

10 calls a second, per connection

**API covered**

UltraDNS REST API (User Guide 3.128, 2026)`api.ultradns.com`

**Built from**

UltraDNS's documentation, read 23 October 2026[ultra-portalstatic.ultradns.com](https://ultra-portalstatic.ultradns.com/static/console/docs/REST-API_User_Guide.pdf) [ultra-portalstatic.ultradns.com](https://ultra-portalstatic.ultradns.com/static/console/docs/zbr_api_specs.html)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

93 of 105 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

2, so ask can line UltraDNS up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in UltraDNS.

256 actions in 59 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **105** read look, never change
- **116** write create and update
- **35** destructive wait for a confirmation

1. ### Reports
   21
   21 read · 0 write · 0 destructive
   Request an advanced response codes report · Request a client IP directional response counts report · Request a country code directional response counts report · Request a host directional response counts report
2. ### Zones
   12
   2 read · 9 write · 1 destructive
   List zones (v3, cursor based) · Create a zone · Get zone metadata · Update a zone
3. ### Security groups
   9
   3 read · 4 write · 2 destructive
   Assign a user to a security group · Create a security group · Get security groups · Get users in a security group
4. ### Rrsets
   8
   3 read · 4 write · 1 destructive
   List all RRSets in a zone · Create an RRSet for an owner · List all RRSets of a type for an owner · Update an RRSet
5. ### Account settings
   6
   2 read · 3 write · 1 destructive
   Get the catalogue of account-level settings · Create an account setting · Get an account setting · Update an account setting
6. ### Certificates
   6
   3 read · 2 write · 1 destructive
   Upload a certificate · Get the list of certificates · Get certificate details · Renew or replace a certificate
7. ### Dir pools
   6
   2 read · 3 write · 1 destructive
   Create a Directional pool · List Directional pools in a zone · Get a Directional pool · Update a Directional pool
8. ### Dirgroups geo
   6
   2 read · 3 write · 1 destructive
   Create an account-level GeoIP group · Get all account-level GeoIP groups · Get an account-level GeoIP group · Update an account-level GeoIP group

**51 more areas · 182 actions**

- Dirgroups ip **6**
- Dnssec **6**
- Events **6**
- Probes **6**
- RD pools **6**
- SB pools **6**
- SF pools **6**
- SLB pools **6**
- TC pools **6**
- Web forwards **6**
- Zone tags **6**
- Account dnssec settings **5**
- Account tags **5**
- Dirgroups asn **5**
- Dirgroups proximity **5**
- Notifications **5**
- Rrset tags **5**
- Snapshots **5**
- Standalone groups **5**
- Tag definitions **5**
- User tags **5**
- Accounts **4**
- Allowed ips **4**
- Invitations **4**
- Tasks **4**
- Transfer acl **4**
- Account TTLS **3**
- Certcentral link **3**
- Custom headers **3**
- Health checks **3**
- Push notifications **3**
- Security preferences **3**
- System preferences **3**
- Account users **2**
- Address **2**
- Batch **2**
- Batch query **2**
- Dangling records **2**
- User **2**
- Users **2**
- Account user tags **1**
- Account web forwards **1**
- Agents **1**
- Geoip territories **1**
- Permission exceptions **1**
- Probe alerts **1**
- Security questions **1**
- Status **1**
- Test probes **1**
- Version **1**
- Zone record tags **1**

Top actions

## The UltraDNS API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 12 of UltraDNS's 12 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `ultradns.account_users.list` Get users of an account | Get users of an account. | read | `identity.user.list` 474 connectors |
| `ultradns.user.get` Get details of the current user | Get details of the current user. | read | `identity.current_user.get` 307 connectors |
| `ultradns.rrsets.list` List all RRSets in a zone | List all RRSets in a zone. | read | `infra.dns_record.list` 12 connectors |
| `ultradns.rrsets.create` Create an RRSet for an owner | Create an RRSet for an owner. | write | `infra.dns_record.create` 11 connectors |
| `ultradns.zones.list` List zones (v3, cursor based) | List zones (v3, cursor based). | read | `infra.dns_zone.list` 10 connectors |
| `ultradns.zones.create` Create a zone | Create a zone. | write | `infra.dns_zone.create` 8 connectors |
| `ultradns.rrsets.delete` Delete all RRSets for an owner and type | Delete all RRSets for an owner and type. | destructive | `infra.dns_record.delete` 11 connectors |
| `ultradns.batch.run` Create a batch request | Create a batch request. | write | this connector |
| `ultradns.tasks.list` Get the list of tasks | Get the list of tasks. | read | this connector |
| `ultradns.agents.list` Get SiteBacker agents for an account | Get SiteBacker agents for an account. | read | this connector |
| `ultradns.events.list` Get events for a pool | Get events for a pool. | read | this connector |
| `ultradns.zones.export` Export zones to BIND | Export zones to BIND. | write | this connector |

Try it

## Prompts to paste into Claude.

Each one names the UltraDNS actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Who has access in UltraDNS? List every user and their role.
   calls `ultradns.account_users.list`
2. Write write
   Create an RRSet for an owner in UltraDNS. Show me exactly what you will send before you save it.
   calls `ultradns.rrsets.create`

Governance for UltraDNS

## Destructive actions wait for a yes.

35 UltraDNS actions are destructive. The first 10:

- Delete all RRSets for an owner and type `ultradns.rrsets.delete`
- Delete a zone `ultradns.zones.delete`
- Delete a task `ultradns.tasks.delete`
- Unsign a zone (DNSSEC) `ultradns.dnssec.unsign`
- Delete a pool event `ultradns.events.delete`
- Delete a probe `ultradns.probes.delete`
- Delete a Resource Distribution (RD) pool `ultradns.rd_pools.delete`
- Delete a SiteBacker pool `ultradns.sb_pools.delete`
- Delete a Simple Monitor / Failover pool `ultradns.sf_pools.delete`
- Delete a Traffic Controller pool `ultradns.tc_pools.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do ultradns.rrsets.delete confirm_policy: **human**

Delete all RRSets for an owner and type?

**intent:** the user asked me to delete all RRSets for an owner and type

run suspended · waiting for a named person · key _ultradns-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "ultradns-agent",
  allowed_actions: ["ultradns.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "ultradns.rrsets.delete", approver: "lead@example.com" },
    { match: "ultradns.zones.delete", approver: "lead@example.com" },
    { match: "ultradns.tasks.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to UltraDNS only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What UltraDNS costs on actionlake.

Every UltraDNS action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call UltraDNS refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 256 UltraDNS actions
- 256 actions page each page of a long list is one call
- 93 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every UltraDNS action.

256 actions by area: the id your agent calls, what it does, and its effect.

**Reports 21**

- `ultradns.reports.account_health` Get the account health report read
- `ultradns.reports.advanced_response_codes` Request an advanced response codes report read
- `ultradns.reports.audit_log` Get the audit log report read
- `ultradns.reports.audit_log_filters` Get audit log query filters read
- `ultradns.reports.directional_response_counts_client_ip` Request a client IP directional response counts report read
- `ultradns.reports.directional_response_counts_country_code` Request a country code directional response counts report read
- `ultradns.reports.directional_response_counts_host` Request a host directional response counts report read
- `ultradns.reports.failover` Get the failover report read
- `ultradns.reports.get_request` Retrieve a report by request id read
- `ultradns.reports.health_status_detail` Get the health status details report read
- `ultradns.reports.health_status_summary` Get the health status summary report read
- `ultradns.reports.host_query_volume` Request a host query volume report read
- `ultradns.reports.probe_result_details` Get the probe result details (v2) report read
- `ultradns.reports.probe_result_summary` Get the probe result summary (v2) report read
- `ultradns.reports.projected_query_volume` Request a projected query volume report read
- `ultradns.reports.raw_query_sample` Request a raw query sample report read
- `ultradns.reports.usage_summary` Get the usage summary report read
- `ultradns.reports.zero_query_zones` Request a zero query zones report read
- `ultradns.reports.zone_daily_query_volume` Request a zone daily query volume report read
- `ultradns.reports.zone_query_volume` Request a zone query volume report read
- `ultradns.reports.zone_query_volume_sync` Get a synchronous zone query volume report read

**Zones 12**

- `ultradns.zones.convert` Convert a zone write
- `ultradns.zones.create` Create a zone write
- `ultradns.zones.delete` Delete a zone destructive
- `ultradns.zones.export` Export zones to BIND write
- `ultradns.zones.get` Get zone metadata read
- `ultradns.zones.json_patch` Partially update a zone (JSON PATCH) write
- `ultradns.zones.list` List zones (v3, cursor based) read
- `ultradns.zones.patch` Partially update a zone write
- `ultradns.zones.suspend` Suspend a zone write
- `ultradns.zones.transfer` Request zone transfer write
- `ultradns.zones.unalias` Unalias a zone write
- `ultradns.zones.update` Update a zone write

**Security groups 9**

- `ultradns.security_groups.add_user` Assign a user to a security group write
- `ultradns.security_groups.create` Create a security group write
- `ultradns.security_groups.delete` Delete a security group destructive
- `ultradns.security_groups.get` Get a security group read
- `ultradns.security_groups.list` Get security groups read
- `ultradns.security_groups.list_users` Get users in a security group read
- `ultradns.security_groups.patch` Partially update a security group write
- `ultradns.security_groups.remove_user` Remove a user from a security group destructive
- `ultradns.security_groups.update` Update a security group write

**Rrsets 8**

- `ultradns.rrsets.create` Create an RRSet for an owner write
- `ultradns.rrsets.delete` Delete all RRSets for an owner and type destructive
- `ultradns.rrsets.get` List all RRSets of a type for an owner read
- `ultradns.rrsets.json_patch` Partially update an RRSet or pool (JSON PATCH) write
- `ultradns.rrsets.list` List all RRSets in a zone read
- `ultradns.rrsets.list_by_type` List all RRSets of a record type read
- `ultradns.rrsets.patch` Partially update an RRSet write
- `ultradns.rrsets.update` Update an RRSet write

**Account settings 6**

- `ultradns.account_settings.catalog` Get the catalogue of account-level settings read
- `ultradns.account_settings.create` Create an account setting write
- `ultradns.account_settings.delete` Delete an account setting destructive
- `ultradns.account_settings.get` Get an account setting read
- `ultradns.account_settings.patch` Partially update an account setting write
- `ultradns.account_settings.update` Update an account setting write

**Certificates 6**

- `ultradns.certificates.create` Upload a certificate write
- `ultradns.certificates.delete` Delete a certificate destructive
- `ultradns.certificates.get` Get certificate details read
- `ultradns.certificates.list` Get the list of certificates read
- `ultradns.certificates.replace` Renew or replace a certificate write
- `ultradns.certificates.validate` Get certificate validation details read

**Dir pools 6**

- `ultradns.dir_pools.create` Create a Directional pool write
- `ultradns.dir_pools.delete` Delete a Directional pool destructive
- `ultradns.dir_pools.get` Get a Directional pool read
- `ultradns.dir_pools.list` List Directional pools in a zone read
- `ultradns.dir_pools.patch` Partially update a Directional pool write
- `ultradns.dir_pools.update` Update a Directional pool write

**Dirgroups geo 6**

- `ultradns.dirgroups_geo.create` Create an account-level GeoIP group write
- `ultradns.dirgroups_geo.delete` Delete an account-level GeoIP group destructive
- `ultradns.dirgroups_geo.get` Get an account-level GeoIP group read
- `ultradns.dirgroups_geo.list` Get all account-level GeoIP groups read
- `ultradns.dirgroups_geo.patch` Partially update an account-level GeoIP group write
- `ultradns.dirgroups_geo.update` Update an account-level GeoIP group write

**Dirgroups ip 6**

- `ultradns.dirgroups_ip.create` Create an account-level Source IP group write
- `ultradns.dirgroups_ip.delete` Delete an account-level Source IP group destructive
- `ultradns.dirgroups_ip.get` Get an account-level Source IP group read
- `ultradns.dirgroups_ip.list` Get all account-level Source IP groups read
- `ultradns.dirgroups_ip.patch` Partially update an account-level Source IP group write
- `ultradns.dirgroups_ip.update` Update an account-level Source IP group write

**Dnssec 6**

- `ultradns.dnssec.get` Get DNSSEC details for a zone read
- `ultradns.dnssec.ksk_rollover` Start a KSK key rollover write
- `ultradns.dnssec.patch` Partially update a zone's DNSSEC policy write
- `ultradns.dnssec.sign` Sign a zone (DNSSEC) write
- `ultradns.dnssec.unsign` Unsign a zone (DNSSEC) destructive
- `ultradns.dnssec.update` Resign a zone or update its DNSSEC policy and external keys write

**Events 6**

- `ultradns.events.create` Create a pool event write
- `ultradns.events.delete` Delete a pool event destructive
- `ultradns.events.get` Get a single pool event read
- `ultradns.events.list` Get events for a pool read
- `ultradns.events.patch` Partially update a pool event write
- `ultradns.events.update` Update a pool event write

**Probes 6**

- `ultradns.probes.create` Create a probe write
- `ultradns.probes.delete` Delete a probe destructive
- `ultradns.probes.get` Get a probe read
- `ultradns.probes.list` Get probes for a pool read
- `ultradns.probes.patch` Partially update a probe write
- `ultradns.probes.update` Update a probe write

**RD pools 6**

- `ultradns.rd_pools.create` Create a Resource Distribution (RD) pool write
- `ultradns.rd_pools.delete` Delete a Resource Distribution (RD) pool destructive
- `ultradns.rd_pools.get` Get a Resource Distribution (RD) pool read
- `ultradns.rd_pools.list` List Resource Distribution (RD) pools in a zone read
- `ultradns.rd_pools.patch` Partially update a Resource Distribution (RD) pool write
- `ultradns.rd_pools.update` Update a Resource Distribution (RD) pool write

**SB pools 6**

- `ultradns.sb_pools.create` Create a SiteBacker pool write
- `ultradns.sb_pools.delete` Delete a SiteBacker pool destructive
- `ultradns.sb_pools.get` Get a SiteBacker pool read
- `ultradns.sb_pools.list` List SiteBacker pools in a zone read
- `ultradns.sb_pools.patch` Partially update a SiteBacker pool write
- `ultradns.sb_pools.update` Update a SiteBacker pool write

**SF pools 6**

- `ultradns.sf_pools.create` Create a Simple Monitor / Failover pool write
- `ultradns.sf_pools.delete` Delete a Simple Monitor / Failover pool destructive
- `ultradns.sf_pools.get` Get a Simple Monitor / Failover pool read
- `ultradns.sf_pools.list` List Simple Monitor / Failover pools in a zone read
- `ultradns.sf_pools.patch` Partially update a Simple Monitor / Failover pool write
- `ultradns.sf_pools.update` Update a Simple Monitor / Failover pool write

**SLB pools 6**

- `ultradns.slb_pools.create` Create a Simple Load Balancing pool write
- `ultradns.slb_pools.delete` Delete a Simple Load Balancing pool destructive
- `ultradns.slb_pools.get` Get a Simple Load Balancing pool read
- `ultradns.slb_pools.list` List Simple Load Balancing pools in a zone read
- `ultradns.slb_pools.patch` Partially update a Simple Load Balancing pool write
- `ultradns.slb_pools.update` Update a Simple Load Balancing pool write

**TC pools 6**

- `ultradns.tc_pools.create` Create a Traffic Controller pool write
- `ultradns.tc_pools.delete` Delete a Traffic Controller pool destructive
- `ultradns.tc_pools.get` Get a Traffic Controller pool read
- `ultradns.tc_pools.list` List Traffic Controller pools in a zone read
- `ultradns.tc_pools.patch` Partially update a Traffic Controller pool write
- `ultradns.tc_pools.update` Update a Traffic Controller pool write

**Web forwards 6**

- `ultradns.web_forwards.create` Create a web forward write
- `ultradns.web_forwards.delete` Delete a web forward destructive
- `ultradns.web_forwards.json_patch` Partially update a web forward (JSON PATCH) write
- `ultradns.web_forwards.list` Get web forwards of a zone read
- `ultradns.web_forwards.patch` Partially update a web forward write
- `ultradns.web_forwards.update` Update a web forward write

**Zone tags 6**

- `ultradns.zone_tags.create` Create a zone tag write
- `ultradns.zone_tags.create_batch` Create multiple zone tags write
- `ultradns.zone_tags.delete` Delete a zone tag destructive
- `ultradns.zone_tags.get` Get a zone tag key read
- `ultradns.zone_tags.list` Get zone tags read
- `ultradns.zone_tags.update_batch` Update zone tags write

**Account dnssec settings 5**

- `ultradns.account_dnssec_settings.create` Create account-level DNSSEC settings write
- `ultradns.account_dnssec_settings.delete` Reset account-level DNSSEC settings to default destructive
- `ultradns.account_dnssec_settings.get` Get account-level DNSSEC settings read
- `ultradns.account_dnssec_settings.patch` Partially update account-level DNSSEC settings write
- `ultradns.account_dnssec_settings.update` Update account-level DNSSEC settings write

**Account tags 5**

- `ultradns.account_tags.create` Create an account-level tag write
- `ultradns.account_tags.delete` Delete an account-level tag destructive
- `ultradns.account_tags.get` Get an account-level tag key read
- `ultradns.account_tags.list` Get account-level tags read
- `ultradns.account_tags.update` Update an account-level tag write

**Dirgroups asn 5**

- `ultradns.dirgroups_asn.create` Create an account-level ASN group write
- `ultradns.dirgroups_asn.delete` Delete an account-level ASN group destructive
- `ultradns.dirgroups_asn.list` Get all account-level ASN groups read
- `ultradns.dirgroups_asn.patch` Partially update an account-level ASN group write
- `ultradns.dirgroups_asn.update` Update an account-level ASN group write

**Dirgroups proximity 5**

- `ultradns.dirgroups_proximity.create` Create an account-level Geo Proximity group write
- `ultradns.dirgroups_proximity.delete` Delete an account-level Geo Proximity group destructive
- `ultradns.dirgroups_proximity.list` Get all account-level Geo Proximity groups read
- `ultradns.dirgroups_proximity.patch` Partially update an account-level Geo Proximity group write
- `ultradns.dirgroups_proximity.update` Update an account-level Geo Proximity group write

**Notifications 5**

- `ultradns.notifications.create` Create a notification for pool records write
- `ultradns.notifications.delete` Delete a notification destructive
- `ultradns.notifications.get` Get a notification for a pool read
- `ultradns.notifications.list` Get notifications for a pool read
- `ultradns.notifications.update` Update a notification write

**Rrset tags 5**

- `ultradns.rrset_tags.create` Create a resource record set tag write
- `ultradns.rrset_tags.create_bulk` Create multiple resource record set tags write
- `ultradns.rrset_tags.delete` Delete a resource record set tag destructive
- `ultradns.rrset_tags.list` Get resource record set tags read
- `ultradns.rrset_tags.update_batch` Update resource record set tags write

**Snapshots 5**

- `ultradns.snapshots.create` Create a zone snapshot write
- `ultradns.snapshots.delete` Delete a zone snapshot destructive
- `ultradns.snapshots.get` Get a zone snapshot read
- `ultradns.snapshots.list_eligible` List zones eligible for snapshot and restore read
- `ultradns.snapshots.restore` Restore a zone from its snapshot write

**Standalone groups 5**

- `ultradns.standalone_groups.get` Get settings for a standalone security group read
- `ultradns.standalone_groups.list` Get standalone security groups read
- `ultradns.standalone_groups.move_user` Move a user to a standalone security group write
- `ultradns.standalone_groups.patch` Partially update settings for a standalone security group write
- `ultradns.standalone_groups.update` Update settings for a standalone security group write

**Tag definitions 5**

- `ultradns.tag_definitions.create` Create an account-level tag governance rule write
- `ultradns.tag_definitions.delete` Delete an account-level tag definition and governance rule destructive
- `ultradns.tag_definitions.get` Get an account-level tag definition and governance rule read
- `ultradns.tag_definitions.list` Get account-level tag definitions and governance rules read
- `ultradns.tag_definitions.update` Update an account-level tag definition and governance rule write

**User tags 5**

- `ultradns.user_tags.create` Create a user tag write
- `ultradns.user_tags.delete` Delete a user tag destructive
- `ultradns.user_tags.get` Get a user tag key read
- `ultradns.user_tags.list` Get user tags read
- `ultradns.user_tags.update` Update a user tag write

**Accounts 4**

- `ultradns.accounts.get` Get a single account read
- `ultradns.accounts.list` Get accounts read
- `ultradns.accounts.patch` Partially update account info write
- `ultradns.accounts.update` Update account info write

**Allowed ips 4**

- `ultradns.allowed_ips.create` Add an allowed account-level IP range write
- `ultradns.allowed_ips.delete` Delete an allowed account-level IP range destructive
- `ultradns.allowed_ips.list` Get all allowed account-level IP ranges read
- `ultradns.allowed_ips.update` Update an allowed account-level IP range write

**Invitations 4**

- `ultradns.invitations.create` Invite a new user write
- `ultradns.invitations.delete` Delete a pending invitation destructive
- `ultradns.invitations.list` Get pending invitations read
- `ultradns.invitations.resend` Re-invite a user write

**Tasks 4**

- `ultradns.tasks.delete` Delete a task destructive
- `ultradns.tasks.get` Get the status of a task read
- `ultradns.tasks.list` Get the list of tasks read
- `ultradns.tasks.result` Get the results of a task read

**Transfer acl 4**

- `ultradns.transfer_acl.create` Create account-level zone transfer settings write
- `ultradns.transfer_acl.delete` Remove account-level zone transfer settings destructive
- `ultradns.transfer_acl.patch` Partially update account-level zone transfer settings write
- `ultradns.transfer_acl.update` Update account-level zone transfer settings write

**Account TTLS 3**

- `ultradns.account_ttls.get` Get account TTLs read
- `ultradns.account_ttls.patch` Partially update account TTLs write
- `ultradns.account_ttls.update` Update account TTLs write

**Certcentral link 3**

- `ultradns.certcentral_link.create` Create the DigiCert CertCentral link write
- `ultradns.certcentral_link.delete` Delete the CertCentral link destructive
- `ultradns.certcentral_link.reset` Reset the CertCentral link write

**Custom headers 3**

- `ultradns.custom_headers.create` Add a custom HTTP header to an account write
- `ultradns.custom_headers.delete` Delete a custom HTTP header of an account destructive
- `ultradns.custom_headers.list` Get custom HTTP headers of an account read

**Health checks 3**

- `ultradns.health_checks.get` Get DNS health check data read
- `ultradns.health_checks.list_versions` Get DNS health check report version list read
- `ultradns.health_checks.run` Execute a DNS health check write

**Push notifications 3**

- `ultradns.push_notifications.channels` Get available realtime push notification channels read
- `ultradns.push_notifications.test` Test a realtime push notification endpoint write
- `ultradns.push_notifications.verify` Verify a realtime push notification endpoint read

**Security preferences 3**

- `ultradns.security_preferences.get` Get security preferences for the current user read
- `ultradns.security_preferences.patch` Partially update security preferences for the current user write
- `ultradns.security_preferences.update` Update security preferences for the current user write

**System preferences 3**

- `ultradns.system_preferences.get` Get system preferences for the current user read
- `ultradns.system_preferences.patch` Partially update system preferences for the current user write
- `ultradns.system_preferences.update` Update system preferences for the current user write

**Account users 2**

- `ultradns.account_users.delete` Remove a user's access from an account destructive
- `ultradns.account_users.list` Get users of an account read

**Address 2**

- `ultradns.address.get` Get address info for the current user read
- `ultradns.address.update` Update address info for the current user write

**Batch 2**

- `ultradns.batch.run` Create a batch request write
- `ultradns.batch.run_async` Create a batch request (async) write

**Batch query 2**

- `ultradns.batch_query.run` Create a batch query request read
- `ultradns.batch_query.run_async` Create a batch query request (async) read

**Dangling records 2**

- `ultradns.dangling_records.get` Get the dangling DNS records report read
- `ultradns.dangling_records.request` Request a dangling DNS records report write

**User 2**

- `ultradns.user.get` Get details of the current user read
- `ultradns.user.update` Update details of the current user write

**Users 2**

- `ultradns.users.set_password` Change or force-reset a user's password write
- `ultradns.users.update` Update details of another user write

**Account user tags 1**

- `ultradns.account_user_tags.list` Get account-level user tags read

**Account web forwards 1**

- `ultradns.account_web_forwards.list` List account-level web forwarding records read

**Agents 1**

- `ultradns.agents.list` Get SiteBacker agents for an account read

**Geoip territories 1**

- `ultradns.geoip_territories.list` Get GeoIP territories read

**Permission exceptions 1**

- `ultradns.permission_exceptions.list` Get all permission exceptions for an object read

**Probe alerts 1**

- `ultradns.probe_alerts.list` Get probe alerts for a pool read

**Security questions 1**

- `ultradns.security_questions.list` Get security questions read

**Status 1**

- `ultradns.status.get` Get API status read

**Test probes 1**

- `ultradns.test_probes.create` Create a test probe write

**Version 1**

- `ultradns.version.get` Get API version read

**Zone record tags 1**

- `ultradns.zone_record_tags.list` Get zone record tags read

Questions

## The UltraDNS MCP server, answered.

**Is there an UltraDNS MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 256 UltraDNS actions across reports, zones, security groups and rrsets, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by UltraDNS.

**What do I need to connect UltraDNS?**

UltraDNS user name (an API-only user is recommended; create one under Accounts > Users in the UltraDNS portal) and Password of that UltraDNS user. The free call account { op: "connections.requirements", service: "ultradns" } lists exactly what to paste.

**Can an AI agent delete or change things in UltraDNS?**

Only if its key allows it, and only with an explicit confirmation. 35 UltraDNS actions are destructive, including delete all RRSets for an owner and type, delete a zone and delete a task. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my UltraDNS API limit?**

actionlake paces every call to the limits in the UltraDNS service file: 10 calls a second per connection. Repeated reads are answered from cache (93 UltraDNS actions can be), which never reaches UltraDNS.

**What does an UltraDNS action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (256 UltraDNS actions page). Cache hits, searches, dry runs and calls UltraDNS refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which UltraDNS API does it cover?**

The UltraDNS REST API (User Guide 3.128, 2026) at api.ultradns.com. It is built from UltraDNS's documentation as read on 23 October 2026. 256 actions in 59 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my UltraDNS data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your UltraDNS credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like UltraDNS

Shares the most action names with

- [Netlify 9](https://actionlake.com/connectors/netlify)
- [DNSimple 8](https://actionlake.com/connectors/dnsimple)
- [OVHcloud Domains & DNS 7](https://actionlake.com/connectors/ovhcloud-domains-and-dns)
- [Porkbun 5](https://actionlake.com/connectors/porkbun)
- [GoDaddy Domains & DNS 4](https://actionlake.com/connectors/godaddy-domains-and-dns)
- [Devin (Cognition) 2](https://actionlake.com/connectors/devin-cognition)

Joins with, on shared entities

- [Rubrik Security Cloud 2](https://actionlake.com/connectors/rubrik-security-cloud)
- [Cloudflare 2](https://actionlake.com/connectors/cloudflare)
- [Databricks 2](https://actionlake.com/connectors/databricks)
- [Delinea Secret Server 2](https://actionlake.com/connectors/delinea-secret-server)
- [MuleSoft Anypoint Platform 2](https://actionlake.com/connectors/mulesoft-anypoint-platform)
- [Docebo 2](https://actionlake.com/connectors/docebo)

Browse

- [All Developer & infrastructure connectors](https://actionlake.com/connectors/category/developer-and-infrastructure)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by UltraDNS; the name is the vendor's own. Counts are from the UltraDNS service file, version 1.0.0.

## Give your agent UltraDNS today.

[Connect UltraDNS free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/ultradns
More: https://actionlake.com/llms.txt
