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.
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/mcpdo { action: "ultradns.zones.list", intent: "check which UltraDNS account is connected"}# List zones (v3, cursor based) · read · 1 upstream call- 256actionsin one signed file
- 105readlook, never change
- 116writecreate and update
- 35wait for a yesdestructive, confirmed first
Set up
Connect UltraDNS in three steps.
- 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 - 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.
usernameUltraDNS user name (an API-only user is recommended; create one under Accounts > Users in the UltraDNS portal)passwordPassword of that UltraDNS user
account { op: "connections.requirements", service: "ultradns" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "ultradns.zones.list" }# list zones (v3, cursor based) · read · 1 upstream callcheck { 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
usernamepassword- 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 2026ultra-portalstatic.ultradns.comultra-portalstatic.ultradns.com
- 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.
- 105readlook, never change
- 116writecreate and update
- 35destructivewait for a confirmation
Reports
2121 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
Zones
122 read · 9 write · 1 destructive
List zones (v3, cursor based) · Create a zone · Get zone metadata · Update a zone
Security groups
93 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
Rrsets
83 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
Account settings
62 read · 3 write · 1 destructive
Get the catalogue of account-level settings · Create an account setting · Get an account setting · Update an account setting
Certificates
63 read · 2 write · 1 destructive
Upload a certificate · Get the list of certificates · Get certificate details · Renew or replace a certificate
Dir pools
62 read · 3 write · 1 destructive
Create a Directional pool · List Directional pools in a zone · Get a Directional pool · Update a Directional pool
Dirgroups geo
62 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.listGet users of an account | Get users of an account. | read | identity.user.list474 connectors |
ultradns.user.getGet details of the current user | Get details of the current user. | read | identity.current_user.get307 connectors |
ultradns.rrsets.listList all RRSets in a zone | List all RRSets in a zone. | read | infra.dns_record.list12 connectors |
ultradns.rrsets.createCreate an RRSet for an owner | Create an RRSet for an owner. | write | infra.dns_record.create11 connectors |
ultradns.zones.listList zones (v3, cursor based) | List zones (v3, cursor based). | read | infra.dns_zone.list10 connectors |
ultradns.zones.createCreate a zone | Create a zone. | write | infra.dns_zone.create8 connectors |
ultradns.rrsets.deleteDelete all RRSets for an owner and type | Delete all RRSets for an owner and type. | destructive | infra.dns_record.delete11 connectors |
ultradns.batch.runCreate a batch request | Create a batch request. | write | this connector |
ultradns.tasks.listGet the list of tasks | Get the list of tasks. | read | this connector |
ultradns.agents.listGet SiteBacker agents for an account | Get SiteBacker agents for an account. | read | this connector |
ultradns.events.listGet events for a pool | Get events for a pool. | read | this connector |
ultradns.zones.exportExport 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.
- Readread
Who has access in UltraDNS? List every user and their role.
calls
ultradns.account_users.list - Writewrite
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.
Delete all RRSets for an owner and type?
intent: the user asked me to delete all RRSets for an owner and type
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: "[email protected]" }, { match: "ultradns.zones.delete", approver: "[email protected]" }, { match: "ultradns.tasks.delete", approver: "[email protected]" } ]}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.
- 1upstream call per actionall 256 UltraDNS actions
- 256actions pageeach page of a long list is one call
- 93reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every UltraDNS action.
256 actions by area: the id your agent calls, what it does, and its effect.
Reports21
ultradns.reports.account_healthGet the account health reportreadultradns.reports.advanced_response_codesRequest an advanced response codes reportreadultradns.reports.audit_logGet the audit log reportreadultradns.reports.audit_log_filtersGet audit log query filtersreadultradns.reports.directional_response_counts_client_ipRequest a client IP directional response counts reportreadultradns.reports.directional_response_counts_country_codeRequest a country code directional response counts reportreadultradns.reports.directional_response_counts_hostRequest a host directional response counts reportreadultradns.reports.failoverGet the failover reportreadultradns.reports.get_requestRetrieve a report by request idreadultradns.reports.health_status_detailGet the health status details reportreadultradns.reports.health_status_summaryGet the health status summary reportreadultradns.reports.host_query_volumeRequest a host query volume reportreadultradns.reports.probe_result_detailsGet the probe result details (v2) reportreadultradns.reports.probe_result_summaryGet the probe result summary (v2) reportreadultradns.reports.projected_query_volumeRequest a projected query volume reportreadultradns.reports.raw_query_sampleRequest a raw query sample reportreadultradns.reports.usage_summaryGet the usage summary reportreadultradns.reports.zero_query_zonesRequest a zero query zones reportreadultradns.reports.zone_daily_query_volumeRequest a zone daily query volume reportreadultradns.reports.zone_query_volumeRequest a zone query volume reportreadultradns.reports.zone_query_volume_syncGet a synchronous zone query volume reportread
Zones12
ultradns.zones.convertConvert a zonewriteultradns.zones.createCreate a zonewriteultradns.zones.deleteDelete a zonedestructiveultradns.zones.exportExport zones to BINDwriteultradns.zones.getGet zone metadatareadultradns.zones.json_patchPartially update a zone (JSON PATCH)writeultradns.zones.listList zones (v3, cursor based)readultradns.zones.patchPartially update a zonewriteultradns.zones.suspendSuspend a zonewriteultradns.zones.transferRequest zone transferwriteultradns.zones.unaliasUnalias a zonewriteultradns.zones.updateUpdate a zonewrite
Security groups9
ultradns.security_groups.add_userAssign a user to a security groupwriteultradns.security_groups.createCreate a security groupwriteultradns.security_groups.deleteDelete a security groupdestructiveultradns.security_groups.getGet a security groupreadultradns.security_groups.listGet security groupsreadultradns.security_groups.list_usersGet users in a security groupreadultradns.security_groups.patchPartially update a security groupwriteultradns.security_groups.remove_userRemove a user from a security groupdestructiveultradns.security_groups.updateUpdate a security groupwrite
Rrsets8
ultradns.rrsets.createCreate an RRSet for an ownerwriteultradns.rrsets.deleteDelete all RRSets for an owner and typedestructiveultradns.rrsets.getList all RRSets of a type for an ownerreadultradns.rrsets.json_patchPartially update an RRSet or pool (JSON PATCH)writeultradns.rrsets.listList all RRSets in a zonereadultradns.rrsets.list_by_typeList all RRSets of a record typereadultradns.rrsets.patchPartially update an RRSetwriteultradns.rrsets.updateUpdate an RRSetwrite
Account settings6
ultradns.account_settings.catalogGet the catalogue of account-level settingsreadultradns.account_settings.createCreate an account settingwriteultradns.account_settings.deleteDelete an account settingdestructiveultradns.account_settings.getGet an account settingreadultradns.account_settings.patchPartially update an account settingwriteultradns.account_settings.updateUpdate an account settingwrite
Certificates6
ultradns.certificates.createUpload a certificatewriteultradns.certificates.deleteDelete a certificatedestructiveultradns.certificates.getGet certificate detailsreadultradns.certificates.listGet the list of certificatesreadultradns.certificates.replaceRenew or replace a certificatewriteultradns.certificates.validateGet certificate validation detailsread
Dir pools6
ultradns.dir_pools.createCreate a Directional poolwriteultradns.dir_pools.deleteDelete a Directional pooldestructiveultradns.dir_pools.getGet a Directional poolreadultradns.dir_pools.listList Directional pools in a zonereadultradns.dir_pools.patchPartially update a Directional poolwriteultradns.dir_pools.updateUpdate a Directional poolwrite
Dirgroups geo6
ultradns.dirgroups_geo.createCreate an account-level GeoIP groupwriteultradns.dirgroups_geo.deleteDelete an account-level GeoIP groupdestructiveultradns.dirgroups_geo.getGet an account-level GeoIP groupreadultradns.dirgroups_geo.listGet all account-level GeoIP groupsreadultradns.dirgroups_geo.patchPartially update an account-level GeoIP groupwriteultradns.dirgroups_geo.updateUpdate an account-level GeoIP groupwrite
Dirgroups ip6
ultradns.dirgroups_ip.createCreate an account-level Source IP groupwriteultradns.dirgroups_ip.deleteDelete an account-level Source IP groupdestructiveultradns.dirgroups_ip.getGet an account-level Source IP groupreadultradns.dirgroups_ip.listGet all account-level Source IP groupsreadultradns.dirgroups_ip.patchPartially update an account-level Source IP groupwriteultradns.dirgroups_ip.updateUpdate an account-level Source IP groupwrite
Dnssec6
ultradns.dnssec.getGet DNSSEC details for a zonereadultradns.dnssec.ksk_rolloverStart a KSK key rolloverwriteultradns.dnssec.patchPartially update a zone's DNSSEC policywriteultradns.dnssec.signSign a zone (DNSSEC)writeultradns.dnssec.unsignUnsign a zone (DNSSEC)destructiveultradns.dnssec.updateResign a zone or update its DNSSEC policy and external keyswrite
Events6
ultradns.events.createCreate a pool eventwriteultradns.events.deleteDelete a pool eventdestructiveultradns.events.getGet a single pool eventreadultradns.events.listGet events for a poolreadultradns.events.patchPartially update a pool eventwriteultradns.events.updateUpdate a pool eventwrite
Probes6
ultradns.probes.createCreate a probewriteultradns.probes.deleteDelete a probedestructiveultradns.probes.getGet a probereadultradns.probes.listGet probes for a poolreadultradns.probes.patchPartially update a probewriteultradns.probes.updateUpdate a probewrite
RD pools6
ultradns.rd_pools.createCreate a Resource Distribution (RD) poolwriteultradns.rd_pools.deleteDelete a Resource Distribution (RD) pooldestructiveultradns.rd_pools.getGet a Resource Distribution (RD) poolreadultradns.rd_pools.listList Resource Distribution (RD) pools in a zonereadultradns.rd_pools.patchPartially update a Resource Distribution (RD) poolwriteultradns.rd_pools.updateUpdate a Resource Distribution (RD) poolwrite
SB pools6
ultradns.sb_pools.createCreate a SiteBacker poolwriteultradns.sb_pools.deleteDelete a SiteBacker pooldestructiveultradns.sb_pools.getGet a SiteBacker poolreadultradns.sb_pools.listList SiteBacker pools in a zonereadultradns.sb_pools.patchPartially update a SiteBacker poolwriteultradns.sb_pools.updateUpdate a SiteBacker poolwrite
SF pools6
ultradns.sf_pools.createCreate a Simple Monitor / Failover poolwriteultradns.sf_pools.deleteDelete a Simple Monitor / Failover pooldestructiveultradns.sf_pools.getGet a Simple Monitor / Failover poolreadultradns.sf_pools.listList Simple Monitor / Failover pools in a zonereadultradns.sf_pools.patchPartially update a Simple Monitor / Failover poolwriteultradns.sf_pools.updateUpdate a Simple Monitor / Failover poolwrite
SLB pools6
ultradns.slb_pools.createCreate a Simple Load Balancing poolwriteultradns.slb_pools.deleteDelete a Simple Load Balancing pooldestructiveultradns.slb_pools.getGet a Simple Load Balancing poolreadultradns.slb_pools.listList Simple Load Balancing pools in a zonereadultradns.slb_pools.patchPartially update a Simple Load Balancing poolwriteultradns.slb_pools.updateUpdate a Simple Load Balancing poolwrite
TC pools6
ultradns.tc_pools.createCreate a Traffic Controller poolwriteultradns.tc_pools.deleteDelete a Traffic Controller pooldestructiveultradns.tc_pools.getGet a Traffic Controller poolreadultradns.tc_pools.listList Traffic Controller pools in a zonereadultradns.tc_pools.patchPartially update a Traffic Controller poolwriteultradns.tc_pools.updateUpdate a Traffic Controller poolwrite
Web forwards6
ultradns.web_forwards.createCreate a web forwardwriteultradns.web_forwards.deleteDelete a web forwarddestructiveultradns.web_forwards.json_patchPartially update a web forward (JSON PATCH)writeultradns.web_forwards.listGet web forwards of a zonereadultradns.web_forwards.patchPartially update a web forwardwriteultradns.web_forwards.updateUpdate a web forwardwrite
Zone tags6
ultradns.zone_tags.createCreate a zone tagwriteultradns.zone_tags.create_batchCreate multiple zone tagswriteultradns.zone_tags.deleteDelete a zone tagdestructiveultradns.zone_tags.getGet a zone tag keyreadultradns.zone_tags.listGet zone tagsreadultradns.zone_tags.update_batchUpdate zone tagswrite
Account dnssec settings5
ultradns.account_dnssec_settings.createCreate account-level DNSSEC settingswriteultradns.account_dnssec_settings.deleteReset account-level DNSSEC settings to defaultdestructiveultradns.account_dnssec_settings.getGet account-level DNSSEC settingsreadultradns.account_dnssec_settings.patchPartially update account-level DNSSEC settingswriteultradns.account_dnssec_settings.updateUpdate account-level DNSSEC settingswrite
Account tags5
ultradns.account_tags.createCreate an account-level tagwriteultradns.account_tags.deleteDelete an account-level tagdestructiveultradns.account_tags.getGet an account-level tag keyreadultradns.account_tags.listGet account-level tagsreadultradns.account_tags.updateUpdate an account-level tagwrite
Dirgroups asn5
ultradns.dirgroups_asn.createCreate an account-level ASN groupwriteultradns.dirgroups_asn.deleteDelete an account-level ASN groupdestructiveultradns.dirgroups_asn.listGet all account-level ASN groupsreadultradns.dirgroups_asn.patchPartially update an account-level ASN groupwriteultradns.dirgroups_asn.updateUpdate an account-level ASN groupwrite
Dirgroups proximity5
ultradns.dirgroups_proximity.createCreate an account-level Geo Proximity groupwriteultradns.dirgroups_proximity.deleteDelete an account-level Geo Proximity groupdestructiveultradns.dirgroups_proximity.listGet all account-level Geo Proximity groupsreadultradns.dirgroups_proximity.patchPartially update an account-level Geo Proximity groupwriteultradns.dirgroups_proximity.updateUpdate an account-level Geo Proximity groupwrite
Notifications5
ultradns.notifications.createCreate a notification for pool recordswriteultradns.notifications.deleteDelete a notificationdestructiveultradns.notifications.getGet a notification for a poolreadultradns.notifications.listGet notifications for a poolreadultradns.notifications.updateUpdate a notificationwrite
Rrset tags5
ultradns.rrset_tags.createCreate a resource record set tagwriteultradns.rrset_tags.create_bulkCreate multiple resource record set tagswriteultradns.rrset_tags.deleteDelete a resource record set tagdestructiveultradns.rrset_tags.listGet resource record set tagsreadultradns.rrset_tags.update_batchUpdate resource record set tagswrite
Snapshots5
ultradns.snapshots.createCreate a zone snapshotwriteultradns.snapshots.deleteDelete a zone snapshotdestructiveultradns.snapshots.getGet a zone snapshotreadultradns.snapshots.list_eligibleList zones eligible for snapshot and restorereadultradns.snapshots.restoreRestore a zone from its snapshotwrite
Standalone groups5
ultradns.standalone_groups.getGet settings for a standalone security groupreadultradns.standalone_groups.listGet standalone security groupsreadultradns.standalone_groups.move_userMove a user to a standalone security groupwriteultradns.standalone_groups.patchPartially update settings for a standalone security groupwriteultradns.standalone_groups.updateUpdate settings for a standalone security groupwrite
Tag definitions5
ultradns.tag_definitions.createCreate an account-level tag governance rulewriteultradns.tag_definitions.deleteDelete an account-level tag definition and governance ruledestructiveultradns.tag_definitions.getGet an account-level tag definition and governance rulereadultradns.tag_definitions.listGet account-level tag definitions and governance rulesreadultradns.tag_definitions.updateUpdate an account-level tag definition and governance rulewrite
User tags5
ultradns.user_tags.createCreate a user tagwriteultradns.user_tags.deleteDelete a user tagdestructiveultradns.user_tags.getGet a user tag keyreadultradns.user_tags.listGet user tagsreadultradns.user_tags.updateUpdate a user tagwrite
Accounts4
ultradns.accounts.getGet a single accountreadultradns.accounts.listGet accountsreadultradns.accounts.patchPartially update account infowriteultradns.accounts.updateUpdate account infowrite
Allowed ips4
ultradns.allowed_ips.createAdd an allowed account-level IP rangewriteultradns.allowed_ips.deleteDelete an allowed account-level IP rangedestructiveultradns.allowed_ips.listGet all allowed account-level IP rangesreadultradns.allowed_ips.updateUpdate an allowed account-level IP rangewrite
Invitations4
ultradns.invitations.createInvite a new userwriteultradns.invitations.deleteDelete a pending invitationdestructiveultradns.invitations.listGet pending invitationsreadultradns.invitations.resendRe-invite a userwrite
Tasks4
ultradns.tasks.deleteDelete a taskdestructiveultradns.tasks.getGet the status of a taskreadultradns.tasks.listGet the list of tasksreadultradns.tasks.resultGet the results of a taskread
Transfer acl4
ultradns.transfer_acl.createCreate account-level zone transfer settingswriteultradns.transfer_acl.deleteRemove account-level zone transfer settingsdestructiveultradns.transfer_acl.patchPartially update account-level zone transfer settingswriteultradns.transfer_acl.updateUpdate account-level zone transfer settingswrite
Account TTLS3
ultradns.account_ttls.getGet account TTLsreadultradns.account_ttls.patchPartially update account TTLswriteultradns.account_ttls.updateUpdate account TTLswrite
Certcentral link3
ultradns.certcentral_link.createCreate the DigiCert CertCentral linkwriteultradns.certcentral_link.deleteDelete the CertCentral linkdestructiveultradns.certcentral_link.resetReset the CertCentral linkwrite
Custom headers3
ultradns.custom_headers.createAdd a custom HTTP header to an accountwriteultradns.custom_headers.deleteDelete a custom HTTP header of an accountdestructiveultradns.custom_headers.listGet custom HTTP headers of an accountread
Health checks3
ultradns.health_checks.getGet DNS health check datareadultradns.health_checks.list_versionsGet DNS health check report version listreadultradns.health_checks.runExecute a DNS health checkwrite
Push notifications3
ultradns.push_notifications.channelsGet available realtime push notification channelsreadultradns.push_notifications.testTest a realtime push notification endpointwriteultradns.push_notifications.verifyVerify a realtime push notification endpointread
Security preferences3
ultradns.security_preferences.getGet security preferences for the current userreadultradns.security_preferences.patchPartially update security preferences for the current userwriteultradns.security_preferences.updateUpdate security preferences for the current userwrite
System preferences3
ultradns.system_preferences.getGet system preferences for the current userreadultradns.system_preferences.patchPartially update system preferences for the current userwriteultradns.system_preferences.updateUpdate system preferences for the current userwrite
Account users2
ultradns.account_users.deleteRemove a user's access from an accountdestructiveultradns.account_users.listGet users of an accountread
Address2
ultradns.address.getGet address info for the current userreadultradns.address.updateUpdate address info for the current userwrite
Batch2
ultradns.batch.runCreate a batch requestwriteultradns.batch.run_asyncCreate a batch request (async)write
Batch query2
ultradns.batch_query.runCreate a batch query requestreadultradns.batch_query.run_asyncCreate a batch query request (async)read
Dangling records2
ultradns.dangling_records.getGet the dangling DNS records reportreadultradns.dangling_records.requestRequest a dangling DNS records reportwrite
User2
ultradns.user.getGet details of the current userreadultradns.user.updateUpdate details of the current userwrite
Users2
ultradns.users.set_passwordChange or force-reset a user's passwordwriteultradns.users.updateUpdate details of another userwrite
Account user tags1
ultradns.account_user_tags.listGet account-level user tagsread
Account web forwards1
ultradns.account_web_forwards.listList account-level web forwarding recordsread
Agents1
ultradns.agents.listGet SiteBacker agents for an accountread
Geoip territories1
ultradns.geoip_territories.listGet GeoIP territoriesread
Permission exceptions1
ultradns.permission_exceptions.listGet all permission exceptions for an objectread
Probe alerts1
ultradns.probe_alerts.listGet probe alerts for a poolread
Security questions1
ultradns.security_questions.listGet security questionsread
Status1
ultradns.status.getGet API statusread
Test probes1
ultradns.test_probes.createCreate a test probewrite
Version1
ultradns.version.getGet API versionread
Zone record tags1
ultradns.zone_record_tags.listGet zone record tagsread
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.
Give your agent UltraDNS today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.