Skip to main content
Glama
Official Porkbun MCP Server

Official Porkbun MCP Server

Delete DNS Record

delete_dns_record
DestructiveIdempotent

Delete a DNS record by its numeric record ID from list_dns_records, ideal for managing Porkbun DNS; idempotent, check warnings if domain uses other nameservers.

Instructions

Delete a single DNS record by its numeric record_id (obtained from list_dns_records). Idempotent: deleting an already-deleted record returns success. Free.

Check warnings in the response and pass it on. Porkbun keeps a DNS zone for every domain in the account whether or not the domain is delegated to Porkbun's nameservers, so this write succeeds either way. If the domain points somewhere else, the response is still SUCCESS but carries a warnings string naming the nameservers that actually answer — the record exists and nothing resolves differently. Do not report plain success in that case: either make the change at the provider that runs those nameservers, or offer update_nameservers to point the domain at Porkbun.

Input Schema

NameRequiredDescriptionDefault
domainYesDomain the record belongs to, e.g. `example.com`
dry_runNoIf true, validate only — confirms the record exists and is deletable, returns wouldSucceed without deleting it.
record_idYesNumeric record ID (as a string).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.39.4
    • addedInput schema / properties / dry_run
      Added value: +{
      +  "description": "If true, validate only — confirms the record exists and is deletable, returns wouldSucceed without deleting it.",
      +  "type": "boolean"
      +}
  2. First observedv0.4.1

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it explains that Porkbun hosts a zone for every domain regardless of delegation, that the write succeeds either way, that success may still carry a `warnings` string, and that the agent must not report plain success in that case. It adds cost ('Free') and the exact idempotency semantics (already-deleted returns success), which contextualizes the idempotentHint annotation rather than contradicting it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action in the first sentence, then layers idempotency, cost, and the warnings caveat. The warnings paragraph is long but every sentence carries actionable information (what a SUCCESS+warnings means and what to do), so little is waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by explaining the response's `warnings` field and its implications, plus the dry_run preflight. For a destructive, idempotent mutation with annotations covering safety, nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so `domain`, `record_id`, and `dry_run` are already fully documented. The description reinforces record_id's provenance (from list_dns_records) but adds no syntax or format detail beyond the schema; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Delete') and resource ('a single DNS record') and identifies the required key 'record_id' plus where to obtain it (`list_dns_records`). An agent can distinguish it from create_dns_record/update_dns_record and from the DNSSEC/Cloudflare/glue delete siblings without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operational guidance: delete by record_id from list_dns_records, expect idempotent success, and when the response carries `warnings`, either change the record at the answering provider or offer `update_nameservers`. It routes decisively to a sibling, though it does not explicitly say when NOT to use this tool (e.g., versus delete_cloudflare_record).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools