---
title: "DNSimple MCP server for AI agents - actionlake"
description: "Give Claude 110 DNSimple actions through one MCP server: zone records, zones. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/dnsimple
updated: 2026-10-23
---

Connectors · Developer & infrastructure

# DNSimple MCP server for AI agents.

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

[Connect DNSimple 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: "dnsimple.zones.list",
  intent: "check which DNSimple account is connected"
}
# List zones · read · 1 upstream call
```

- 110 actions in one signed file
- 51 read look, never change
- 37 write create and update
- 22 wait for a yes destructive, confirmed first

Set up

## Connect DNSimple 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 DNSimple.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `access_token` DNSimple API access token: an account token (Account > Access tokens) or a user token (User settings > API access…
   - `account_id` Your DNSimple account id
   - `environment` Your DNSimple environment
   ```
   account { op: "connections.requirements", service: "dnsimple" }
   # 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: "dnsimple.zones.list" }
   # list zones · read · 1 upstream call
   check { action: "dnsimple.zone_records.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

DNSimple at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`access_token`

**Setup fields**

`account_id` `environment`

**Limits we pace to**

2,400 calls an hour, per connection

**API covered**

DNSimple API v2 (OpenAPI 3.1.1, spec 2.0.0, 111 operations), at your region's dnsimple.com address, set when you connect

**Built from**

DNSimple's documentation, read 23 October 2026[developer.dnsimple.com](https://developer.dnsimple.com/v2/openapi.json) [developer.dnsimple.com](https://developer.dnsimple.com/v2/)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

47 of 51 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

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

**Data**

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

Capabilities

## What an AI agent can do in DNSimple.

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

- **51** read look, never change
- **37** write create and update
- **22** destructive wait for a confirmation

1. ### Zone records
   7
   3 read · 3 write · 1 destructive
   List zone records · Create a zone record · Retrieve a zone record · Update a zone record
2. ### Zones
   7
   4 read · 2 write · 1 destructive
   List zones · Retrieve a zone · Activate a zone DNS service · Check zone distribution
3. ### Secondary DNS primaries
   6
   2 read · 3 write · 1 destructive
   Create a primary server · List primary servers · Retrieve a primary server · Link a primary server to a secondary zone
4. ### Contacts
   5
   2 read · 2 write · 1 destructive
   Create a contact · List contacts · Retrieve a contact · Update a contact
5. ### Domains
   5
   3 read · 1 write · 1 destructive
   Create a domain · List domains · Retrieve a domain · Domains research status
6. ### Registrant changes
   5
   3 read · 1 write · 1 destructive
   Check registrant change requirements · Start registrant change · List registrant changes · Retrieve a registrant change
7. ### Templates
   5
   2 read · 2 write · 1 destructive
   Create a template · List templates · Retrieve a template · Update a template
8. ### Certificates
   4
   4 read · 0 write · 0 destructive
   List certificates · Retrieve a certificate · Retrieve a certificate private key · Download a certificate

**28 more areas · 66 actions**

- Domain DS records **4**
- Domain email forwards **4**
- Registrar delegation **4**
- Template records **4**
- Webhooks **4**
- Domain dnssec **3**
- Domain services **3**
- Pushes **3**
- Registrar **3**
- Registrar transfer lock **3**
- Registrar transfers **3**
- TLDS **3**
- Letsencrypt certificate renewals **2**
- Letsencrypt certificates **2**
- Registrar auto renewal **2**
- Registrar registrations **2**
- Registrar renewals **2**
- Registrar restores **2**
- Registrar whois privacy **2**
- Services **2**
- Vanity name servers **2**
- Accounts **1**
- Billing charges **1**
- DNS analytics **1**
- Domain pushes **1**
- Domain templates **1**
- Secondary DNS zones **1**
- Whoami **1**

Top actions

## The DNSimple API, shaped for agents.

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

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `dnsimple.whoami.get` Whoami | Whoami. | read | `identity.current_user.get` 307 connectors |
| `dnsimple.zone_records.list` List zone records | List zone records. | read | `infra.dns_record.list` 12 connectors |
| `dnsimple.zone_records.create` Create a zone record | Create a zone record. | write | `infra.dns_record.create` 11 connectors |
| `dnsimple.zones.list` List zones | List zones. | read | `infra.dns_zone.list` 10 connectors |
| `dnsimple.webhooks.create` Create a webhook | Create a webhook. | write | `automation.webhook.create` 209 connectors |
| `dnsimple.webhooks.list` List webhooks | List webhooks. | read | `automation.webhook.list` 202 connectors |
| `dnsimple.accounts.list` List accounts | List accounts. | read | `platform.tenant.list` 70 connectors |
| `dnsimple.zones.get` Retrieve a zone | Retrieve a zone. | read | `infra.dns_zone.get` 10 connectors |
| `dnsimple.zone_records.update` Update a zone record | Update a zone record. | write | `infra.dns_record.update` 9 connectors |
| `dnsimple.zone_records.delete` Delete a zone record | Delete a zone record. | destructive | `infra.dns_record.delete` 11 connectors |
| `dnsimple.certificates.list` List certificates | List certificates. | read | `security.certificate.list` 22 connectors |
| `dnsimple.certificates.get` Retrieve a certificate | Retrieve a certificate. | read | `security.certificate.get` 20 connectors |

Try it

## Prompts to paste into Claude.

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

1. Read read
   List zones in DNSimple and tell me what stands out.
   calls `dnsimple.zones.list`
2. Write write
   Create a zone record in DNSimple. Show me exactly what you will send before you save it.
   calls `dnsimple.zone_records.create`

Governance for DNSimple

## Destructive actions wait for a yes.

22 DNSimple actions are destructive. These are all of them:

- Delete a zone record `dnsimple.zone_records.delete`
- Delete a webhook `dnsimple.webhooks.delete`
- Reject a push `dnsimple.pushes.reject`
- Delete a domain `dnsimple.domains.delete`
- Delete a contact `dnsimple.contacts.delete`
- Delete a template `dnsimple.templates.delete`
- Deactivate a zone DNS service `dnsimple.zones.deactivate`
- Disable DNSSEC `dnsimple.domain_dnssec.disable`
- Unapply a service `dnsimple.domain_services.unapply`
- Delete a template record `dnsimple.template_records.delete`
- Delete a delegation signer record `dnsimple.domain_ds_records.delete`
- Transfer a domain `dnsimple.registrar_transfers.create`
- Disable vanity name servers `dnsimple.vanity_name_servers.disable`
- Delete an email forward `dnsimple.domain_email_forwards.delete`
- Disable domain auto-renewal `dnsimple.registrar_auto_renewal.disable`
- Delete a primary server `dnsimple.secondary_dns_primaries.delete`
- Disable domain transfer lock `dnsimple.registrar_transfer_lock.disable`
- Disable WHOIS privacy `dnsimple.registrar_whois_privacy.disable`
- Authorize a domain transfer out `dnsimple.registrar.authorize_transfer_out`
- De-delegate from vanity name servers `dnsimple.registrar_delegation.from_vanity`
- Cancel a registrant change `dnsimple.registrant_changes.cancel`
- Cancel a domain transfer `dnsimple.registrar_transfers.cancel`

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 dnsimple.zone_records.delete confirm_policy: **human**

Delete a zone record?

**intent:** the user asked me to delete a zone record

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

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "dnsimple-agent",
  allowed_actions: ["dnsimple.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "dnsimple.zone_records.delete", approver: "lead@example.com" },
    { match: "dnsimple.webhooks.delete", approver: "lead@example.com" },
    { match: "dnsimple.pushes.reject", approver: "lead@example.com" }
  ]
}
```

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

Cost

## What DNSimple costs on actionlake.

Every DNSimple action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call DNSimple 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 110 DNSimple actions
- 110 actions page each page of a long list is one call
- 47 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 DNSimple action.

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

**Zone records 7**

- `dnsimple.zone_records.batch` Batch create, update, and/or delete records in a zone write
- `dnsimple.zone_records.create` Create a zone record write
- `dnsimple.zone_records.delete` Delete a zone record destructive
- `dnsimple.zone_records.distribution` Check zone record distribution read
- `dnsimple.zone_records.get` Retrieve a zone record read
- `dnsimple.zone_records.list` List zone records read
- `dnsimple.zone_records.update` Update a zone record write

**Zones 7**

- `dnsimple.zones.activate` Activate a zone DNS service write
- `dnsimple.zones.deactivate` Deactivate a zone DNS service destructive
- `dnsimple.zones.distribution` Check zone distribution read
- `dnsimple.zones.file` Download a zone file read
- `dnsimple.zones.get` Retrieve a zone read
- `dnsimple.zones.list` List zones read
- `dnsimple.zones.update_ns_records` Update a zone's NS records write

**Secondary DNS primaries 6**

- `dnsimple.secondary_dns_primaries.create` Create a primary server write
- `dnsimple.secondary_dns_primaries.delete` Delete a primary server destructive
- `dnsimple.secondary_dns_primaries.get` Retrieve a primary server read
- `dnsimple.secondary_dns_primaries.link` Link a primary server to a secondary zone write
- `dnsimple.secondary_dns_primaries.list` List primary servers read
- `dnsimple.secondary_dns_primaries.unlink` Unlink a primary server from a secondary zone write

**Contacts 5**

- `dnsimple.contacts.create` Create a contact write
- `dnsimple.contacts.delete` Delete a contact destructive
- `dnsimple.contacts.get` Retrieve a contact read
- `dnsimple.contacts.list` List contacts read
- `dnsimple.contacts.update` Update a contact write

**Domains 5**

- `dnsimple.domains.create` Create a domain write
- `dnsimple.domains.delete` Delete a domain destructive
- `dnsimple.domains.get` Retrieve a domain read
- `dnsimple.domains.list` List domains read
- `dnsimple.domains.research_status` Domains research status read

**Registrant changes 5**

- `dnsimple.registrant_changes.cancel` Cancel a registrant change destructive
- `dnsimple.registrant_changes.check` Check registrant change requirements read
- `dnsimple.registrant_changes.create` Start registrant change write
- `dnsimple.registrant_changes.get` Retrieve a registrant change read
- `dnsimple.registrant_changes.list` List registrant changes read

**Templates 5**

- `dnsimple.templates.create` Create a template write
- `dnsimple.templates.delete` Delete a template destructive
- `dnsimple.templates.get` Retrieve a template read
- `dnsimple.templates.list` List templates read
- `dnsimple.templates.update` Update a template write

**Certificates 4**

- `dnsimple.certificates.download` Download a certificate read
- `dnsimple.certificates.get` Retrieve a certificate read
- `dnsimple.certificates.get_private_key` Retrieve a certificate private key read
- `dnsimple.certificates.list` List certificates read

**Domain DS records 4**

- `dnsimple.domain_ds_records.create` Create a delegation signer record write
- `dnsimple.domain_ds_records.delete` Delete a delegation signer record destructive
- `dnsimple.domain_ds_records.get` Retrieve a delegation signer record read
- `dnsimple.domain_ds_records.list` List delegation signer records read

**Domain email forwards 4**

- `dnsimple.domain_email_forwards.create` Create an email forward write
- `dnsimple.domain_email_forwards.delete` Delete an email forward destructive
- `dnsimple.domain_email_forwards.get` Retrieve an email forward read
- `dnsimple.domain_email_forwards.list` List email forwards read

**Registrar delegation 4**

- `dnsimple.registrar_delegation.from_vanity` De-delegate from vanity name servers destructive
- `dnsimple.registrar_delegation.get` List domain name servers read
- `dnsimple.registrar_delegation.to_vanity` Delegate to vanity name servers write
- `dnsimple.registrar_delegation.update` Change domain name servers write

**Template records 4**

- `dnsimple.template_records.create` Create a template record write
- `dnsimple.template_records.delete` Delete a template record destructive
- `dnsimple.template_records.get` Retrieve a template record read
- `dnsimple.template_records.list` List template records read

**Webhooks 4**

- `dnsimple.webhooks.create` Create a webhook write
- `dnsimple.webhooks.delete` Delete a webhook destructive
- `dnsimple.webhooks.get` Retrieve a webhook read
- `dnsimple.webhooks.list` List webhooks read

**Domain dnssec 3**

- `dnsimple.domain_dnssec.disable` Disable DNSSEC destructive
- `dnsimple.domain_dnssec.enable` Enable DNSSEC write
- `dnsimple.domain_dnssec.get` DNSSEC status read

**Domain services 3**

- `dnsimple.domain_services.apply` Apply a service write
- `dnsimple.domain_services.list` List applied services read
- `dnsimple.domain_services.unapply` Unapply a service destructive

**Pushes 3**

- `dnsimple.pushes.accept` Accept a push write
- `dnsimple.pushes.list` List pushes read
- `dnsimple.pushes.reject` Reject a push destructive

**Registrar 3**

- `dnsimple.registrar.authorize_transfer_out` Authorize a domain transfer out destructive
- `dnsimple.registrar.check_domain` Check domain read
- `dnsimple.registrar.domain_prices` Get prices for a domain read

**Registrar transfer lock 3**

- `dnsimple.registrar_transfer_lock.disable` Disable domain transfer lock destructive
- `dnsimple.registrar_transfer_lock.enable` Enable domain transfer lock write
- `dnsimple.registrar_transfer_lock.get` Domain transfer lock status read

**Registrar transfers 3**

- `dnsimple.registrar_transfers.cancel` Cancel a domain transfer destructive
- `dnsimple.registrar_transfers.create` Transfer a domain destructive
- `dnsimple.registrar_transfers.get` Retrieve a domain transfer read

**TLDS 3**

- `dnsimple.tlds.extended_attributes` List TLD extended attributes read
- `dnsimple.tlds.get` Retrieve the TLD read
- `dnsimple.tlds.list` List TLDs read

**Letsencrypt certificate renewals 2**

- `dnsimple.letsencrypt_certificate_renewals.issue` Let's Encrypt: Issue a certificate renewal write
- `dnsimple.letsencrypt_certificate_renewals.purchase` Let's Encrypt: Order a certificate renewal write

**Letsencrypt certificates 2**

- `dnsimple.letsencrypt_certificates.issue` Let's Encrypt: Issue a certificate write
- `dnsimple.letsencrypt_certificates.purchase` Let's Encrypt: Order a certificate write

**Registrar auto renewal 2**

- `dnsimple.registrar_auto_renewal.disable` Disable domain auto-renewal destructive
- `dnsimple.registrar_auto_renewal.enable` Enable domain auto-renewal write

**Registrar registrations 2**

- `dnsimple.registrar_registrations.create` Register a domain write
- `dnsimple.registrar_registrations.get` Retrieve a domain registration read

**Registrar renewals 2**

- `dnsimple.registrar_renewals.create` Renew a domain write
- `dnsimple.registrar_renewals.get` Retrieve a domain renewal read

**Registrar restores 2**

- `dnsimple.registrar_restores.create` Restore a domain write
- `dnsimple.registrar_restores.get` Retrieve a domain restore read

**Registrar whois privacy 2**

- `dnsimple.registrar_whois_privacy.disable` Disable WHOIS privacy destructive
- `dnsimple.registrar_whois_privacy.enable` Enable WHOIS privacy write

**Services 2**

- `dnsimple.services.get` Retrieve a service read
- `dnsimple.services.list` List services read

**Vanity name servers 2**

- `dnsimple.vanity_name_servers.disable` Disable vanity name servers destructive
- `dnsimple.vanity_name_servers.enable` Enable vanity name servers write

**Accounts 1**

- `dnsimple.accounts.list` List accounts read

**Billing charges 1**

- `dnsimple.billing_charges.list` List billing charges read

**DNS analytics 1**

- `dnsimple.dns_analytics.query` Analytics about DNS queries read

**Domain pushes 1**

- `dnsimple.domain_pushes.initiate` Initiate a push write

**Domain templates 1**

- `dnsimple.domain_templates.apply` Apply a template write

**Secondary DNS zones 1**

- `dnsimple.secondary_dns_zones.create` Create a secondary zone write

**Whoami 1**

- `dnsimple.whoami.get` Whoami read

Questions

## The DNSimple MCP server, answered.

**Is there a DNSimple MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 110 DNSimple actions across zone records, zones, secondary DNS primaries and contacts, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by DNSimple.

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

DNSimple API access token: an account token (Account > Access tokens) or a user token (User settings > API access…. Plus your account id and your environment. The free call account { op: "connections.requirements", service: "dnsimple" } lists exactly what to paste.

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

Only if its key allows it, and only with an explicit confirmation. 22 DNSimple actions are destructive, including delete a zone record, delete a webhook and reject a push. 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 DNSimple API limit?**

actionlake paces every call to the limits in the DNSimple service file: 2,400 calls an hour per connection. Repeated reads are answered from cache (47 DNSimple actions can be), which never reaches DNSimple.

**What does a DNSimple action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (110 DNSimple actions page). Cache hits, searches, dry runs and calls DNSimple 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 DNSimple API does it cover?**

The DNSimple API v2 (OpenAPI 3.1.1, spec 2.0.0, 111 operations) at your region's dnsimple.com address, set when you connect. It is built from DNSimple's documentation as read on 23 October 2026. 110 actions in 36 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my DNSimple 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 DNSimple 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 DNSimple

Shares the most action names with

- [Netlify 13](https://actionlake.com/connectors/netlify)
- [Porkbun 9](https://actionlake.com/connectors/porkbun)
- [UltraDNS 8](https://actionlake.com/connectors/ultradns)
- [OVHcloud Domains & DNS 7](https://actionlake.com/connectors/ovhcloud-domains-and-dns)
- [Browserbase 6](https://actionlake.com/connectors/browserbase)
- [GoDaddy Domains & DNS 4](https://actionlake.com/connectors/godaddy-domains-and-dns)

Joins with, on shared entities

- [Cloudflare 2](https://actionlake.com/connectors/cloudflare)
- [Make 2](https://actionlake.com/connectors/make)
- [Microsoft Advertising 2](https://actionlake.com/connectors/microsoft-advertising)
- [Snapchat Marketing API 2](https://actionlake.com/connectors/snapchat-marketing-api)
- [Pinterest 2](https://actionlake.com/connectors/pinterest)
- [Gandi 2](https://actionlake.com/connectors/gandi)

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 DNSimple; the name is the vendor's own. Counts are from the DNSimple service file, version 1.0.0.

## Give your agent DNSimple today.

[Connect DNSimple 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/dnsimple
More: https://actionlake.com/llms.txt
