list_domains
List all DNS domains managed in the OnlyDNS account.
limitoffset
io.github.OnlydnsPublished by GitHub account Onlydnsv1.0.6Updated Oct 31, 2026
Model Context Protocol server for OnlyDNS to manage DNS zones, records, DNSSEC, and TSIG keys.
Official OnlyDNS MCP server that lets an assistant list and create DNS zones, manage records, and handle DNSSEC and TSIG keys in an OnlyDNS account.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
@onlydns/mcp)Official Model Context Protocol (MCP) server for OnlyDNS enabling AI agents (Claude Desktop, Cursor, Devin, LangChain) to inspect and manage DNS zones, records, 1-click DNSSEC, and TSIG keys directly. Learn more on the AI Agent Infrastructure solution page.
Or run instantly: npx -y @onlydns/mcp
Authentication Environment Variable: ONLYDNS_API_TOKEN (see Configuration).
list_records: Query DNS records with optional filtering by type (A, AAAA, CNAME, MX, TXT, SRV, CAA, etc.) or hostname.add_record: Create new records or append values to existing record sets with automatic domain normalization.update_record: Modify existing DNS records and update TTLs.delete_record: Delete specific record values or entire record sets.set_records: Batch replace full zone record sets.Download onlydns-mcp.mcpb directly from the GitHub Releases page. Compatible desktop clients (such as Claude Desktop) allow one-click installation and configure your ONLYDNS_API_TOKEN through a secure settings dialog.
npx (No installation needed)You can run the server directly using npx:
The server requires an OnlyDNS API Bearer Token.
Add the following to your claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonAdd to your MCP settings or .cursor/mcp.json:
list_domains(limit?, offset?): Lists all domains in the account.create_domain(domainName): Creates a new DNS zone for a domain.list_records(domainName, type?, name?): Lists DNS records for a domain, with optional filtering.add_record(domainName, name, type, value, ttl?): Adds/appends a DNS record (e.g. A, CNAME, MX, TXT, URL, PROXY).update_record(domainName, name, type, value, ttl?): Replaces values and/or TTL for a record type.delete_record(domainName, name, type, value?): Deletes a record or specific value.set_records(domainName, records): Batch replaces all records for a zone.get_dnssec(domainName): Fetches DNSSEC status and keys (DS, DNSKEY).enable_dnssec(domainName): Enables DNSSEC signing for a zone.disable_dnssec(domainName): Disables DNSSEC signing.list_tsig_keys(): Lists all account TSIG keys.get_tsig_key(keyName): Retrieves TSIG key details.create_tsig_key(algorithm?): Generates a new TSIG key (hmac-sha256, hmac-sha512, etc.).get_domain_tsig(domainName): Retrieves TSIG keys and permissions configured on a domain.configure_domain_tsig(domainName, keyName, allowAxfr, allowDnsUpdate, subdomains?): Configures AXFR, DDNS, and optional subdomain restriction permissions for a domain.remove_domain_tsig(domainName): Removes all TSIG keys from a domain.MIT © 2026 OnlyDNS
Source: README.md at commit fad03e6
List all DNS domains managed in the OnlyDNS account.
limitoffsetCreate/add a new DNS zone/domain under the OnlyDNS account.
domainNamerequiredList all DNS records for a domain, with optional filtering by record type (A, AAAA, CNAME, MX, TXT, etc.) or hostname.
nametypedomainNamerequiredAdd a DNS record to a domain. Accepts relative hostnames (e.g. "testing"), domain-qualified names (e.g. "testing.example.com"), or canonical FQDNs (e.g. "testing.example.com."). If a record with the same name and type already exists, the new value is appended to the record set.
ttlnamerequiredtyperequiredvaluerequireddomainNamerequiredUpdate an existing DNS record set for a given name and type, completely replacing its values and/or TTL. Accepts relative names (e.g. "testing"), domain-qualified names (e.g. "testing.example.com"), or canonical FQDNs (e.g. "testing.example.com.").
ttlnamerequiredtyperequiredvaluerequireddomainNamerequiredDelete a DNS record or specific value from a domain. Accepts relative names (e.g. "testing"), domain-qualified names (e.g. "testing.example.com"), or canonical FQDNs (e.g. "testing.example.com.").
namerequiredtyperequiredvaluedomainNamerequiredCompletely replace ALL DNS records in a zone with a new list of records. Warning: destructive if omitted records are intended to be preserved.
recordsrequireddomainNamerequiredGet DNSSEC configuration status, NSEC3 parameters, and DS / DNSKEY keys for a domain.
domainNamerequiredEnable DNSSEC signing for a domain in OnlyDNS.
domainNamerequiredDisable DNSSEC signing and remove DNSSEC keys for a domain in OnlyDNS.
domainNamerequiredList all TSIG keys configured for the OnlyDNS account.
Takes no parameters.
Get details for a specific TSIG key by name.
keyNamerequiredGenerate a new TSIG key for secondary DNS transfers (AXFR) or dynamic DNS updates.
algorithmGet TSIG keys and permissions (AXFR transfers, dynamic DNS updates, subdomain restrictions) configured for a domain.
domainNamerequiredAttach and configure TSIG permissions (AXFR transfer / dynamic DNS updates / subdomain restrictions) for a domain.
keyNamerequiredallowAxfrrequireddomainNamerequiredsubdomainsallowDnsUpdaterequiredRemove all TSIG keys associated with a domain.
domainNamerequired90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
npm install -g @onlydns/mcpexport ONLYDNS_API_TOKEN="your_onlydns_api_token"npx -y @onlydns/mcpnpm install -g @onlydns/mcp{ "mcpServers": { "onlydns": { "command": "npx", "args": ["-y", "@onlydns/mcp"], "env": { "ONLYDNS_API_TOKEN": "YOUR_ONLYDNS_BEARER_TOKEN" } } }}{ "mcpServers": { "onlydns": { "command": "npx", "args": ["-y", "@onlydns/mcp"], "env": { "ONLYDNS_API_TOKEN": "YOUR_ONLYDNS_BEARER_TOKEN" } } }}# Clone and install dependenciesgit clone https://github.com/Onlydns/onlydns-mcp.gitcd onlydns-mcpnpm install
# Run unit testsnpm test
# Build TypeScriptnpm run build
# Run locally in developmentnpm run dev