delete_nameserver
Remove a registered nameserver by hostname or delete all nameservers associated with a domain.
Instructions
Delete a registered nameserver by hostname, or delete all nameservers associated with a domain.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Nameserver hostname to delete | |
| domain | No | Delete all nameservers for this domain instead |
Implementation Reference
- src/tools/dns.ts:325-371 (handler)Tool handler for 'delete_nameserver'. Accepts optional 'host' (delete a specific nameserver by hostname) or 'domain' (delete all nameservers for a domain). Calls client.deleteNameserver(host) or client.deleteNameserverByDomain(domain) accordingly.
// ─── delete_nameserver ──────────────────────────────────────── server.tool( "delete_nameserver", "Delete a registered nameserver by hostname, or delete all nameservers " + "associated with a domain.", { host: z .string() .optional() .describe("Nameserver hostname to delete"), domain: z .string() .optional() .describe("Delete all nameservers for this domain instead"), }, async ({ host, domain }) => { try { let result; if (domain) { result = await client.deleteNameserverByDomain(domain); } else if (host) { result = await client.deleteNameserver(host); } else { return { content: [ { type: "text" as const, text: "Either host or domain is required" }, ], isError: true, }; } return { content: [ { type: "text" as const, text: JSON.stringify(result, null, 2) }, ], }; } catch (error) { const msg = error instanceof Error ? error.message : String(error); return { content: [ { type: "text" as const, text: `Failed to delete nameserver: ${msg}` }, ], isError: true, }; } } ); - Client method deleteNameserver(host) that calls the Dynadot API 'delete_ns' with the given host parameter.
async deleteNameserver(host: string): Promise<DynadotResponse> { return this.call("delete_ns", { host }); } - Client method deleteNameserverByDomain(domain) that calls the Dynadot API 'delete_ns_by_domain' with the given domain parameter.
async deleteNameserverByDomain(domain: string): Promise<DynadotResponse> { return this.call("delete_ns_by_domain", { domain }); } - src/tools/dns.ts:331-340 (schema)Zod schema for the delete_nameserver tool: optional 'host' (string) and optional 'domain' (string), at least one must be provided.
{ host: z .string() .optional() .describe("Nameserver hostname to delete"), domain: z .string() .optional() .describe("Delete all nameservers for this domain instead"), }, - src/tools/dns.ts:18-21 (registration)The registerDnsTools function registers all DNS tools (including delete_nameserver) on the MCP server instance.
export function registerDnsTools( server: McpServer, client: DynadotClient ): void {