Skip to content

DNSimple MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

MCP server for DNSimple — domains, DNS zone records, availability, pricing and contacts.

Deletes · 2Changes · 2

12 tools: 2 can delete or cancel things, 2 change things and 8 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http dnsimple https://dnsimple.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Deletes or cancels 2Claude Code: deny
  • dnsimple_delete_zone_recordDelete a DNS record from a zone.No findings

    Why it is in this group

    • The name "dnsimple_delete_zone_record" says "delete": a word for removing or ending something.
    • The description says "permanently removes".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a DNS record from a zone. WARNING: permanently removes a live DNS record. API: DELETE /{account}/zones/{zone}/records/{record}. Returns 204 (no body).

    Annotations the server declares

    • title: Delete a zone record
    • readOnlyHint: false
    • destructiveHint: true
  • dnsimple_update_zone_recordUpdate an existing DNS record.No findings

    Why it is in this group

    • The name "dnsimple_update_zone_record" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update an existing DNS record. WARNING: mutates LIVE DNS — changing content/ttl takes effect for real resolution. Only the fields you provide are sent. API: PATCH /{account}/zones/{zone}/records/{record}.

    Annotations the server declares

    • title: Update a zone record
    • readOnlyHint: false
    • destructiveHint: true
Changes things 2Claude Code: ask
  • dnsimple_check_domainCheck whether a domain is available to register.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check whether a domain is available to register. Returns { domain, available, premium }. API: GET /{account}/registrar/domains/{domain}/check.

    Annotations the server declares

    • title: Check domain availability
    • readOnlyHint: true
  • dnsimple_create_zone_recordCreate a new DNS record in a zone.No findings

    Why it is in this group

    • The name "dnsimple_create_zone_record" says "create": a word for a change.
    Description, as the server wrote it
    Create a new DNS record in a zone. Additive — it adds a record without touching existing ones. API: POST /{account}/zones/{zone}/records.

    Annotations the server declares

    • title: Create a zone record
    • readOnlyHint: false
    • destructiveHint: false
Only reads 8Claude Code: allow
  • dnsimple_get_domainRetrieve a single domain by name or id.No findings

    Why it is in this group

    • The name "dnsimple_get_domain" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve a single domain by name or id. API: GET /{account}/domains/{domain}.

    Annotations the server declares

    • title: Get a domain
    • readOnlyHint: true
  • dnsimple_get_domain_pricesRetrieve the registration, renewal, and transfer prices for a domain.No findings

    Why it is in this group

    • The name "dnsimple_get_domain_prices" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the registration, renewal, and transfer prices for a domain. API: GET /{account}/registrar/domains/{domain}/prices.

    Annotations the server declares

    • title: Get domain prices
    • readOnlyHint: true
  • dnsimple_get_zone_recordRetrieve a single DNS record in a zone by its numeric id.No findings

    Why it is in this group

    • The name "dnsimple_get_zone_record" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve a single DNS record in a zone by its numeric id. API: GET /{account}/zones/{zone}/records/{record}.

    Annotations the server declares

    • title: Get a zone record
    • readOnlyHint: true
  • dnsimple_list_contactsList the contacts in the account (used as domain registrants).No findings

    Why it is in this group

    • The name "dnsimple_list_contacts" says "list": a word for reading.
    Description, as the server wrote it
    List the contacts in the account (used as domain registrants). API: GET /{account}/contacts.

    Annotations the server declares

    • title: List contacts
    • readOnlyHint: true
  • dnsimple_list_domainsList the domains in the account, with pagination and optional filters.No findings

    Why it is in this group

    • The name "dnsimple_list_domains" says "list": a word for reading.
    Description, as the server wrote it
    List the domains in the account, with pagination and optional filters. API: GET /{account}/domains.

    Annotations the server declares

    • title: List domains
    • readOnlyHint: true
  • dnsimple_list_zone_recordsList the DNS records in a zone, with pagination and optional filters.No findings

    Why it is in this group

    • The name "dnsimple_list_zone_records" says "list": a word for reading.
    Description, as the server wrote it
    List the DNS records in a zone, with pagination and optional filters. API: GET /{account}/zones/{zone}/records.

    Annotations the server declares

    • title: List zone records
    • readOnlyHint: true
  • dnsimple_list_zonesList the DNS zones in the account, with pagination and optional filters.No findings

    Why it is in this group

    • The name "dnsimple_list_zones" says "list": a word for reading.
    Description, as the server wrote it
    List the DNS zones in the account, with pagination and optional filters. API: GET /{account}/zones.

    Annotations the server declares

    • title: List zones
    • readOnlyHint: true
  • dnsimple_whoamiIdentify the authenticated account/user for the current API token.No findings

    Why it is in this group

    • The name "dnsimple_whoami" says "whoami": a word for reading.
    Description, as the server wrote it
    Identify the authenticated account/user for the current API token. Use this to discover your account id (data.account.id). API: GET /whoami.

    Annotations the server declares

    • title: Who am I
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http dnsimple https://dnsimple.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__dnsimple__dnsimple_whoami",
      "mcp__dnsimple__dnsimple_list_domains",
      "mcp__dnsimple__dnsimple_get_domain",
      "mcp__dnsimple__dnsimple_list_zone_records",
      "mcp__dnsimple__dnsimple_get_zone_record",
      "mcp__dnsimple__dnsimple_get_domain_prices",
      "mcp__dnsimple__dnsimple_list_zones",
      "mcp__dnsimple__dnsimple_list_contacts"
    ],
    "ask": [
      "mcp__dnsimple__dnsimple_check_domain",
      "mcp__dnsimple__dnsimple_create_zone_record"
    ],
    "deny": [
      "mcp__dnsimple__dnsimple_update_zone_record",
      "mcp__dnsimple__dnsimple_delete_zone_record"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as dnsimple. Review it before you use it.