DNSimple MCP by usefulapi
Server Details
MCP server for DNSimple — domains, DNS zone records, availability, pricing and contacts.
- Status
- Healthy
- Uptime
- 82.9% over 72 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 12 tools
Each tool targets a clearly distinct resource and action (check vs get vs list, domain vs zone vs record, etc.). The only potential confusion between list_domains and list_zones is resolved by the descriptions, which clarify they are different resources.
All tools follow the consistent snake_case pattern `dnsimple_<verb>_<noun>` (e.g., dnsimple_list_domains, dnsimple_create_zone_record). The only minor deviation is dnsimple_whoami, but that is a standard verb-only endpoint and does not break the pattern.
With 12 tools, the set is well-scoped for DNS management. Each tool maps to a distinct API operation, and none appear redundant or excessive.
DNS record CRUD is fully covered, but domain, zone, and contact management are read-only. Crucially, there is no tool to register a domain despite check_domain and get_domain_prices tools, leaving a significant dead end for registrar workflows.
Available Tools
12 toolsdnsimple_check_domainCheck domain availabilityARead-onlyInspect
Check whether a domain is available to register. Returns { domain, available, premium }. API: GET /{account}/registrar/domains/{domain}/check.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain name to check, e.g. example.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe, non-mutating call. The description goes further by disclosing the return payload ({ domain, available, premium }) — valuable since no output schema exists — and by giving the underlying API route. It stops short of noting rate limits or what 'premium' implies (e.g., premium pricing tier).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, with the core purpose front-loaded and the return shape plus API endpoint following. Every element earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description covers purpose, return fields, and endpoint, which is nearly everything an agent needs. Minor omissions (premium field meaning, error behavior for invalid or registered domains) keep it from being fully exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'domain' parameter is documented in the schema with a format example, so the schema carries the parameter burden. The description adds no extra semantics beyond the parameter name itself, making the baseline of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (check a domain's availability to register), which cleanly separates it from retrieval siblings like dnsimple_get_domain and dnsimple_list_domains. It does not name any sibling explicitly, but the 'available to register' scope is unambiguous enough that an agent can route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is a pre-registration lookup. There is no explicit statement of when to call it versus dnsimple_get_domain or dnsimple_get_domain_prices, nor any note about prerequisites such as the account/domain being reachable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_create_zone_recordCreate a zone recordAInspect
Create a new DNS record in a zone. Additive — it adds a record without touching existing ones. API: POST /{account}/zones/{zone}/records.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | Time-to-live in seconds. | |
| name | Yes | Record name = the subdomain part WITHOUT the domain. Use "" (empty string) for the apex/root. | |
| type | Yes | Record type, e.g. A, AAAA, CNAME, MX, TXT, NS. | |
| zone | Yes | Zone name, e.g. example.com. | |
| content | Yes | Record content, e.g. an IP for A, a hostname for CNAME. | |
| regions | No | Regions to publish the record in (e.g. ["global"]). | |
| priority | No | Priority, for MX/SRV records. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the write/non-destructive profile is already covered structurally. The description adds real value beyond that by clarifying additive semantics ('adds a record without touching existing ones'), which is exactly the kind of behavior an agent needs to distinguish this from an upsert. It does not mention auth requirements, error behavior, or what a duplicate name/type would do.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses: purpose, additive behavior, and endpoint. Front-loaded with the action, zero filler, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with full annotation coverage, complete parameter documentation, and no output schema, the description covers purpose and key behavioral nuance. It is slightly thin on usage context and failure modes, but adequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with detailed per-parameter guidance (empty string for apex, record type examples, content meaning). Baseline 3 applies because the schema already does the heavy lifting; the description adds no parameter-level detail beyond what is already documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a new DNS record in a zone'), which unambiguously distinguishes it from siblings like dnsimple_update_zone_record, dnsimple_delete_zone_record, and dnsimple_list_zone_records. The API endpoint reference reinforces exactly what operation is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'Additive' implicitly signals use this when you want to add without modifying existing records, an implied contrast to update_zone_record. But there is no explicit when-to-use vs when-not guidance, no mention of alternatives, and no note about preconditions such as needing an existing zone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_delete_zone_recordDelete a zone recordADestructiveInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| zone | Yes | Zone name, e.g. example.com. | |
| record | Yes | Numeric record id to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered. The description still adds real value beyond that: it stresses the removal is permanent and live-affecting, names the underlying API call, and states the 204/no-body response, which the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the operation and then the danger warning, then API/response detail. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter destructive tool with full schema coverage and no output schema, the definition is nearly complete, even specifying the 204 no-body response. It omits edge behavior such as what happens on an unknown record id or missing permissions, so it falls short of a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the schema itself documents both 'zone' (zone name, e.g. example.com) and 'record' (numeric record id). The description adds nothing to parameter meaning, so the baseline of 3 applies rather than a higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Delete) and resource (DNS record from a zone), which cleanly distinguishes it from siblings like dnsimple_get_zone_record, dnsimple_update_zone_record, and dnsimple_list_zone_records. An agent can identify the operation without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives (e.g., get_zone_record to verify the record id first, or update_zone_record to modify rather than remove). The warning implies caution but does not state conditions, prerequisites, or exclusions for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_get_domainGet a domainARead-onlyInspect
Retrieve a single domain by name or id. API: GET /{account}/domains/{domain}.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name (e.g. example.com) or numeric domain id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and 'Retrieve' is consistent with that, so there is no contradiction. The description adds the REST endpoint path, which is mildly useful context, but says nothing about what happens on a nonexistent domain (404), authentication needs, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the primary action front-loaded and no filler. Every clause carries information and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a trivial single-resource GET with one fully documented parameter and a readOnly annotation, the essentials are present. With no output schema, the description also does not hint at the returned domain object's contents, so the agent knows how to call it but not what to expect back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter and schema description coverage is 100%, with the schema itself supplying the 'example.com or numeric id' example. The description's 'by name or id' merely restates that, adding no format, validation, or lookup-failure semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve a single domain by name or id'), which is clearer than a bare name restatement and signals lookup of one item versus a collection. It does not, however, explicitly differentiate itself from siblings like dnsimple_list_domains or dnsimple_check_domain, leaving that inference to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'single domain' but there is no explicit when-to-use or when-not-to-use guidance, and no routing to alternatives such as dnsimple_list_domains for enumeration or dnsimple_check_domain for availability checks. Adequate but leaves the agent to infer the selection logic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_get_domain_pricesGet domain pricesBRead-onlyInspect
Retrieve the registration, renewal, and transfer prices for a domain. API: GET /{account}/registrar/domains/{domain}/prices.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain name to price, e.g. example.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this is a safe, non-mutating read. The description adds useful context by enumerating the three price kinds returned (registration, renewal, transfer) and the underlying API endpoint, but says nothing about currency, tiering, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the purpose and followed by the concrete endpoint. Every sentence earns its place with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with no output schema and safety already covered by annotations, the description is nearly sufficient. A minor gap: the endpoint references an {account} segment that has no corresponding schema parameter, leaving the agent unsure whether account is implied by auth context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single domain parameter, so the schema already carries the semantics; the description adds no example or format guidance for the parameter. Baseline 3 applies when structured fields do the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Retrieve) and resource (registration, renewal, transfer prices for a domain), which is far more precise than sibling names like get_domain or check_domain. It does not explicitly contrast itself with those siblings, but the resource specificity makes the distinction inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as check_domain (availability) or get_domain (metadata). The agent must infer that this tool is for pricing lookups purely from the name and verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_get_zone_recordGet a zone recordARead-onlyInspect
Retrieve a single DNS record in a zone by its numeric id. API: GET /{account}/zones/{zone}/records/{record}.
| Name | Required | Description | Default |
|---|---|---|---|
| zone | Yes | Zone name, e.g. example.com. | |
| record | Yes | Numeric record id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, so the description only needs to add context. It does contribute the underlying API call (GET /{account}/zones/{zone}/records/{record}), which corroborates the read-only nature and shows the resource hierarchy, but it says nothing about 404 behavior for unknown ids or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the verb and the identifying key, with zero redundant or filler text. The API endpoint is appended compactly rather than as a separate paragraph.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A two-parameter read tool with full annotation coverage needs little, and the description covers the addressing model. However, with no output schema, it could have indicated what the returned record contains or how it differs from a list entry; that omission leaves a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters ('zone' as zone name, 'record' as numeric id) are already fully documented. The description restates the same addressing ('in a zone by its numeric id') without adding format examples or constraints, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve a single DNS record in a zone') plus the addressing key ('by its numeric id'), which cleanly separates it from the plural dnsimple_list_zone_records sibling. It stops short of naming that sibling explicitly, so the differentiation is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrasing (fetch one record when you already have its numeric id), but there is no explicit when-to-use clause, no exclusion, and no pointer to dnsimple_list_zone_records for discovery or to the create/update/delete siblings for mutation. Nothing misleading, but nothing that actively routes the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_list_contactsList contactsARead-onlyInspect
List the contacts in the account (used as domain registrants). API: GET /{account}/contacts.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| sort | No | Sort order, e.g. "label:asc", "email:asc", "id:desc". | |
| per_page | No | Results per page (max 100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already declares this as a safe read, so the description's remaining job is light; it does add the useful domain context that these contacts serve as registrants and names the underlying endpoint. It discloses nothing about pagination behavior or result ordering beyond what the parameters imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the purpose and the domain-specific role front-loaded, and the endpoint tacked on without padding. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list with fully documented parameters and an output-schema-free response, little is missing. An agent would still not know the shape or volume of results, but that gap is minor at this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so page, per_page, and sort are fully documented in the schema already. The description adds no syntax or format detail for any of them, making the 3 baseline correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('contacts') and clarifies the domain-specific role of contacts as registrants, which distinguishes it from the sibling list_* tools. It stops short of naming any alternative or scope constraint, but the resource itself is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(used as domain registrants)' hints at why an agent would call this, i.e. to obtain a registrant contact for domain registration, but there is no explicit when-to-use statement, no prerequisite, and no mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_list_domainsList domainsBRead-onlyInspect
List the domains in the account, with pagination and optional filters. API: GET /{account}/domains.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| sort | No | Sort order, e.g. "name:asc", "expiration:desc", "id:desc". | |
| per_page | No | Results per page (max 100). | |
| name_like | No | Filter to domains whose name contains this substring. | |
| registrant_id | No | Filter to domains with this registrant (contact) id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already declares the safe read profile, so the description needn't restate it. It adds that results are paginated and filterable and discloses the backing endpoint (GET /{account}/domains), but says nothing about default page size, total counts, or result shape beyond what pagination implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with the operation front-loaded and the endpoint as a compact trailing detail. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema and fully documented parameters, the description covers scope, pagination, and filtering adequately. It stops short of describing what a domain entry contains, but with annotations carrying the safety profile and the schema carrying the params, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, all five parameters (page, sort, per_page, name_like, registrant_id) are already fully documented in the schema. The description only gestures at 'pagination and optional filters' without adding syntax or semantics beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the domains in the account') and notes scope with pagination/filters, which is clear on its own. It does not distinguish itself from siblings like dnsimple_get_domain or dnsimple_list_zones, so an agent must infer that this is the multi-domain enumerator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes pagination and optional filters but never states when to use this tool versus dnsimple_get_domain (single domain) or dnsimple_list_zones. There are no exclusions or prerequisites, leaving usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_list_zone_recordsList zone recordsARead-onlyInspect
List the DNS records in a zone, with pagination and optional filters. API: GET /{account}/zones/{zone}/records.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Filter by exact record name (subdomain part). | |
| page | No | Page number (1-based). | |
| sort | No | Sort order, e.g. "name:asc", "type:asc", "content:desc". | |
| type | No | Filter by record type, e.g. A, AAAA, CNAME, MX, TXT. | |
| zone | Yes | Zone name, e.g. example.com. | |
| per_page | No | Results per page (max 100). | |
| name_like | No | Filter by record name substring. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already establishes this is a safe read, so the bar is lower. The description adds that results are paginated, which is useful, but says nothing about page-size limits, total counts, or the shape of the returned record list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler; the capability is front-loaded and the endpoint is appended as compact reference. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, fully-schema-documented list tool this covers the essentials. The one gap is return-value shape — with no output schema, the description could say what a page of records looks like, but for a list operation this is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters including the filter and pagination fields. The description only restates that filters exist and are optional, adding no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the DNS records in a zone') plus the API endpoint, which cleanly separates it from the singular dnsimple_get_zone_record and the create/delete/update siblings. An agent can place this tool 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'with pagination and optional filters' implies when to reach for it (browsing many records, refining with filters), but it never states when not to use it or names the alternative for fetching a single record. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_list_zonesList zonesBRead-onlyInspect
List the DNS zones in the account, with pagination and optional filters. API: GET /{account}/zones.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). | |
| sort | No | Sort order, e.g. "name:asc", "id:desc". | |
| per_page | No | Results per page (max 100). | |
| name_like | No | Filter to zones whose name contains this substring. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, so the description's remaining burden is lighter. It adds the underlying endpoint (GET /{account}/zones), but says nothing about pagination metadata, default page size, or how many results come back per call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, scope stated first, endpoint appended as a compact aside. No filler or restated field names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with full schema coverage and a readOnlyHint, the description plus schema is nearly sufficient. The one gap is that no output schema exists, so the description could have hinted at what a zone record contains, but this is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – page, per_page, sort and name_like are all documented in the schema itself. The description's 'with pagination and optional filters' adds no syntax or format detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the DNS zones in the account') and notes the tool supports pagination and optional filters, which is enough to separate it from dnsimple_list_zone_records. It stops short of naming or contrasting a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as dnsimple_get_domain or dnsimple_list_zone_records. The agent must infer that this lists all zones in the account rather than one zone's records.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_update_zone_recordUpdate a zone recordADestructiveInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | New TTL in seconds. | |
| name | No | New record name (subdomain part; "" for apex). | |
| zone | Yes | Zone name, e.g. example.com. | |
| record | Yes | Numeric record id to update. | |
| content | No | New record content. | |
| regions | No | New regions list. | |
| priority | No | New priority, for MX/SRV records. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, but the description adds real beyond-annotation context: it warns the change affects LIVE DNS resolution and clarifies that only supplied fields are applied (partial PATCH semantics). It still omits auth/permission requirements, which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences front-loading purpose, then the safety warning, then the endpoint mapping. No filler, and the most consequential information (live DNS mutation) is prominent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no output schema, the description covers purpose, side effects, and partial-update semantics, and annotations cover the safety profile. Missing only permission/prerequisite details, which keeps it short of full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds genuine parameter meaning: "Only the fields you provide are sent" explains partial-update behavior that the schema alone (required zone/record, optional rest) does not spell out. The link to the PATCH endpoint reinforces this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb and resource ("Update an existing DNS record"), clearly separating it from the create/get/delete/list siblings. It does not explicitly name an alternative tool, but the operation is unambiguous and distinguishable from all siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the verb — there is no explicit when-to-use or when-not-to-use guidance, nor a named alternative. The PATCH note hints at the partial-update use case but does not tell the agent when to prefer this over delete+recreate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsimple_whoamiWho am IARead-onlyInspect
Identify the authenticated account/user for the current API token. Use this to discover your account id (data.account.id). API: GET /whoami.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, so the safety profile is covered. The description adds useful context beyond that: the result is scoped to the current API token, it is a GET endpoint, and the meaningful return path is data.account.id. It does not mention error behavior for invalid/expired tokens.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the purpose, followed by the concrete use case and the endpoint. No filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input parameters and no output schema, the description compensates by naming the key return field (data.account.id). That is likely sufficient to call and consume the result, though a brief note on what else the payload contains would make it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case. The description correctly indicates no inputs are required by describing the call purely in terms of the ambient token.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ("Identify") plus a precisely scoped resource ("the authenticated account/user for the current API token"), and it names the API endpoint. That clearly distinguishes it from the domain/zone/record siblings, which all operate on DNS resources rather than identity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a concrete use case: "Use this to discover your account id (data.account.id)." There are no alternative identity tools among the siblings to route against, so no exclusions are needed, but it also doesn't say when this call is required versus optional in a workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Related MCP Connectors
Official Porkbun MCP server: domains, DNS, SSL, hosting and Cloudflare via the Porkbun API.
Domains MCP — domain registration lookup + availability search over live RDAP (ICANN standard…
MCP server for Hostinger API
Read-only domain availability and registrar price research via a public remote MCP server.
Related MCP Servers
- AlicenseBqualityAmaintenanceMCP server for Dynadot domain registrar API3 — manage domains, DNS, contacts, transfers & more6796 npm1MIT
- AlicenseAqualityDmaintenanceMCP server for the DreamHost API that enables DNS management (list, add, remove records) and API metacommands.51MIT
- AlicenseAqualityCmaintenanceMCP server for the Porkbun DNS API. Manage DNS records, domains, DNSSEC, SSL certificates, and more.2563 PyPI23MIT
- AlicenseAqualityDmaintenanceMCP server for managing and analyzing Cloudflare DNS — zones, records, analytics, and DNSSEC.141MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.