OSIR Domain Registrar
Server Details
Register, renew, transfer, and manage domains, DNS, VPS, and email with 102 tools. By OSIR.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Osir-Inc/mcp-a2a
- GitHub Stars
- 0
- Server Listing
- Domain Name OSIR MCP
Available Tools
105 toolsaddPrefixToDomainAInspect
Generate domain suggestions by adding prefixes. Required: name (e.g., 'mycompany'). Optional: vocabulary ('@prefixes' or custom), tlds ('com,net'), lang ('eng'), maxResults (20)
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| name | Yes | ||
| tlds | No | ||
| maxResults | No | ||
| vocabulary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the full behavioral burden. It only says the tool generates suggestions and does not disclose whether the operation is read-only, what the return shape is, whether there are rate limits, or any side effects. This is a notable 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?
The description is a single focused sentence with parentea included example values. There is no padding, and the core operation is front-loaded. Every part of the sentence adds useful information.
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 flat-parameter generation tool, this description covers the operation and all parameters with examples. However, with no output schema and no annotations, it omits return-value semantics and explicit alternative selection guidance. An agent could call it correctly but would have to infer outputs.
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 0%, so parameter documentation falls entirely on the description. The description provides concrete example values for every parameter ('mycompany', '@prefixes', 'com,net', 'eng', 20), which materially helps an agent understand expected formats without opening external docs. It still leaves some ambiguity around lang format and tlds syntax, but it compensates well.
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 ('Generate') and resource ('domain suggestions') with a clear method ('by adding prefixes'). This distinguishes it from sibling tools like addSuffixToDomain, and the example clarifies what kind of input is expected.
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 through the tool name and description, but the description does not explicitly say when to choose this tool over alternatives like addSuffixToDomain or generateDomainSuggestions. No when-not conditions or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
addSshKeyAInspect
Store an SSH public key on your account so it can be injected into VPS installs. Idempotent — storing a key you already have returns the existing one instead of creating a duplicate, so it is safe to call before every order. Requires authentication. Required: name (a label, e.g. 'laptop'), publicKey (a single-line OpenSSH public key, e.g. 'ssh-ed25519 AAAA... user@host'). Returns the key id to pass to orderVps or buildVpsInstance.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| publicKey | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure and succeeds. It reveals idempotency ('storing a key you already have returns the existing one instead of creating a duplicate'), that authentication is required, that it is safe to call repeatedly ('safe to call before every order'), and what it returns (the key id). This is precisely the behavioral context the absent annotations would otherwise need to supply, and there is no contradiction.
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?
Five short sentences, each carrying distinct information: purpose, idempotency, authentication, required parameter formats with examples, and return value. The structure is front-loaded with the core purpose, and no sentence is redundant with the schema — even the 'Required:' repetition adds examples the schema lacks.
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?
Despite having no annotations and no output schema, the description covers the full call contract: what the tool does, authentication requirements, both required parameters' semantics and formats, idempotent behavior, the return value (key id), and how to use it downstream. Nothing an agent needs to invoke it correctly 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?
Schema description coverage is only 33% — only sessionKey has schema documentation, while the two required parameters have none. The description compensates for this gap by defining name as 'a label, e.g. laptop' and publicKey with its required format and an example ('single-line OpenSSH public key, e.g. ssh-ed25519 AAAA... user@host'). It leaves sessionKey to the schema, which already documents its auth-flow-dependent behavior, so compensation is complete but not exhaustive.
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 — 'Store an SSH public key on your account' — and adds its purpose ('so it can be injected into VPS installs'). It is clearly distinguishable from sibling key tools like deleteShKey and listMySshKeys, and the return-value tie to orderVps/buildVpsInstance reinforces what this tool is for.
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 gives explicit when-to-use guidance: 'safe to call before every order' and explains the downstream integration (pass the returned key id to orderVps or buildVpsInstance). However, it does not explicitly name sibling alternatives (e.g., listMySshKeys, deleteSshKey) or state when not to use this tool, stopping short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
addSuffixToDomainBInspect
Generate domain suggestions by adding suffixes. Required: name (e.g., 'mycompany'). Optional: vocabulary ('@suffixes' or custom), tlds ('com,net'), lang ('eng'), maxResults (20)
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| name | Yes | ||
| tlds | No | ||
| maxResults | No | ||
| vocabulary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It only states that the tool generates suggestions by adding suffixes and lists some inputs; it does not disclose read-only status, response format, side effects, or behavior around missing/invalid inputs. This is minimal for a tool with no safety annotations.
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?
The main behavior is front-loaded in one clear sentence, followed by a compact required/optional parameter summary. Every clause earns its place and the description remains scannable without redundant prose.
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?
The input side is complete enough to make a basic call, since all five parameters have examples. However, with no output schema and no annotations, it omits return format/behavior and doesn't explain when this tool should be preferred over its many siblings, leaving it minimally complete.
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 0%, but the description compensates by giving every parameter an example: name ('mycompany'), vocabulary ('@uffixes' or custom), tlds ('com,net'), lang ('eng'), and maxResults (20). It distinguishes required from optional and provides plausible formats, though 'custom' vocabulary and exact defaults remain vague.
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 uses a specific verb and resource ('Generate domain suggestions') and names the distinguishing method ('by adding suffixes'), which separates it from sibling tools like addPrefixToDomain. It does not explicitly contrast with generateDomainSuggestions, but the suffix-specific method is still a clear differentiator.
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 provides invocation details (required and optional parameters) but gives no when-to-use guidance. It never mentions alternatives such as addPrefixToDomain, generateDomainSuggestions, or bulkDomainSuggestions, so an agent gets no help choosing among overlapping siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buildVpsInstanceAInspect
Stage an operating system install on a VPS instance. DESTRUCTIVE — ERASES ALL DATA on the server, including any deployed application, and cannot be undone. This is also how a reinstall works. Requires authentication. Required: instanceId (VPS instance ID), operatingSystemId (integer template id from listVpsOsTemplates). Optional: sshKeyIds (integer key ids from listMySshKeys — without one you may not be able to log in), hostname (defaults to the instance's current hostname), swap (256, 512, 768 in MB, or 1, 1.5, 2, 3, 4, 5, 6, 8 in GB). The install is asynchronous — afterwards poll getVpsInstanceDetails until buildState is COMPLETE. Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| swap | No | ||
| hostname | No | ||
| sshKeyIds | No | ||
| instanceId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| operatingSystemId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the operation is DESTRUCTIVE, erases all data including deployed applications, and cannot be undone. It also discloses that the install is asynchronous, requires authentication, and returns an actionId that must be confirmed before execution.
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?
The description is dense but not bloated; every sentence adds necessary operational detail. The destructive warning is front-loaded, and the Required/Optional grouping plus explicit next steps keep the information scannable despite its length.
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 destructive asynchronous mutation with no output schema and no annotations, the description is remarkably complete. It covers prerequisites, parameter sourcing, irreversible data loss, async completion detection, and the required user approval workflow. An agent has everything needed to invoke the tool safely and follow up correctly.
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 only 17%, so the description must compensate, and it does. It explains instanceId, operatingSystemId, sshKeyIds, hostname, and swap in detail, including default behavior, allowed swap values, and where to obtain valid IDs. This is far more useful than the bare 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?
The description opens with a specific action and resource: 'Stage an operating system install on a VPS instance.' It also explicitly states that this is how a reinstall works, which distinguishes it from VPS lifecycle siblings like orderVps, deleteVpsInstance, and getVpsInstanceDetails.
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 explicitly lists required and optional parameters, points to listVpsOsTemplates and listMySshKeys as sources for valid IDs, and warns that omitting an SSH key may leave the user unable to log in. It also gives the exact post-install workflow: poll getVpsInstanceDetails until buildState is COMPLETE, then present the returned actionId and call executeConfirmedAction if the user approves.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bulkDomainSuggestionsAInspect
Generate domain name suggestions for one or more keywords across a chosen set of TLDs. Returns suggestions grouped by originating keyword.
USAGE PATTERN: This is typically called AFTER listCategorizedTlds. The standard flow is: 1. listCategorizedTlds → pick 3-6 TLDs based on the user's project 2. bulkDomainSuggestions → find specific available names on those TLDs
REQUIRED: keywords: 1-10 keywords describing the project. tlds: 1-6 TLDs (hard cap). Pass the TLDs chosen from listCategorizedTlds. Do not include the leading dot (use "tech" not ".tech").
OPTIONAL: lang: language code, default "eng". maxResults: max suggestions per keyword, default 20.
Returns: groups: [ { keyword: "voice", suggestions: [...] }, { keyword: "biomarker", suggestions: [...] } ] requestedTlds: echo of the TLDs passed in. returnedTlds: TLDs that actually had suggestions (may be a subset).
Note: availability per suggestion may be "available", "taken", or "unknown". For "unknown" results, follow up with checkDomainAvailability on specific names the user is interested in. Suggestions on premium-tier TLDs may have premium pricing — confirm with checkDomainAvailability before recommending to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| tlds | Yes | ||
| keywords | Yes | ||
| maxResults | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and handles it well. It discloses the grouped return structure, that returnedTlds may be a subset, the possible availability values ('available', 'taken', 'unknown'), and premium pricing considerations. This is substantive behavioral context beyond a simple action statement.
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?
The description is longer than average but tightly organized with clear sections (USAGE PATTERN, REQUIRED, OPTIONAL, Returns, Note). Every section earns its place, covering the call flow, parameter constraints, return shape, and caveats without redundant 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?
Given there is no output schema and no annotations, the description provides everything an agent needs to invoke the tool correctly: parameter constraints, the sequential dependency on listCategorizedTlds, the return group structure, and guidance for ambiguous availability results. It is complete for a suggestion-generation tool.
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 0%, but the description compensates thoroughly: it defines the keywords range (1-10), TLDs range and hard cap (1-6), the no-leading-dot format requirement, lang default ('eng'), and maxResults default (20). This is far more than the bare schema provides.
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 clearly states the verb ('Generate'), the resource ('domain name suggestions'), and the scope ('one or more keywords across a chosen set of TLDs'). It also specifies the grouping behavior ('grouped by originating keyword'), which differentiates it from the similarly named sibling generateDomainSuggestions.
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 explicitly prescribes the usage flow: call after listCategorizedTlds, then pick TLDs, then call bulkDomainSuggestions. It also instructs follow-up with checkDomainAvailability for 'unknown' or premium-priced results. However, it does not explicitly state when not to use this tool or mention the alternative generateDomainSuggestions, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancelTransferAInspect
Stage cancellation of a pending domain transfer. DESTRUCTIVE — irreversible. Requires authentication. Required: domain (e.g., 'example.com'). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It explicitly warns that the operation is DESTRUCTIVE and irreversible, notes that authentication is required, and reveals the staged two-phase behavior where cancellation is not completed until executeConfirmedAction is called.
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?
The description is compact and front-loaded: it opens with the core purpose and destructive warning, then covers authentication, the required parameter, return value, and the exact follow-up action. 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 two-parameter tool with no output schema, the description provides the required inputs, the output contract (actionId), the authentication requirement, the destructive nature, and the next step. Nothing essential is missing for an agent to use this tool correctly.
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 schema only documents sessionKey, while domain has no description. The description compensates for domain by marking it required and giving an example ('example.com'). It does not add much about sessionKey, but the schema already explains that parameter well.
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 action ('Stage cancellation of a pending domain transfer') with the resource clearly identified as domain transfers. It also distinguishes this tool from executeConfirmedAction by framing it as the staging step rather than the execution step.
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 clearly indicates this is for pending domain transfers and provides an explicit workflow: present the summary to the user and call executeConfirmedAction with the returned actionId if the user approves. It lacks explicit 'do not use when' guidance, but the context is clear and the follow-up tool is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
changeVpsPaymentTermCInspect
Change the payment term (billing cycle) for a VPS instance. Requires authentication. Required: instanceId (string), paymentTerm ('MONTHLY', 'SEMI_ANNUAL', 'ANNUAL', 'BIENNIAL', 'TRIENNIAL')
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| paymentTerm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It only adds 'Requires authentication' and lists required inputs. It does not disclose whether the change is immediate, prorated, reversible, subject to restrictions, or what side effects might occur on the existing billing cycle.
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?
The description is a single compact sentence that front-loads the action and then lists the required parameters and valid values. The 'Requires authentication' and 'Required:' parts are somewhat redundant with the schema and annotations, but the overall structure is easy to scan.
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?
This is a mutating billing operation with no annotations and no output schema, yet the description doesn't mention effects, error cases, or authentication flow details. Given the operation's financial impact, an agent needs more context to invoke it safely and correctly.
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 only 33%, so the description must compensate. It adds the allowed paymentTerm values ('MONTHLY', 'SEMI_ANNUAL', 'ANNUAL', 'BIENNIAL', 'TRIENNIAL') and repeats instanceId's type, but it does not explain how to obtain a valid instanceId or any constraints on changing between terms.
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 action ('Change the payment term') and targets a clear resource ('a VPS instance'), with the synonym 'billing cycle' to remove ambiguity. No sibling tool appears to do exactly this, but the description doesn't explicitly differentiate itself from related billing or VPS tools.
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 implies the tool is used when someone wants to change a VPS's billing cycle, but it gives no guidance on prerequisites, when not to use it, or how it compares to related tools like orderVps, createPaymentSession, or payInvoice. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkDeviceLoginStatusAInspect
Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: deviceCode (the device_code returned by loginWithDevice). On success returns a sessionKey — pass it as the sessionKey argument on every subsequent authenticated tool call.
| Name | Required | Description | Default |
|---|---|---|---|
| deviceCode | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It communicates that this is a polling operation, requires a device code, returns a sessionKey on success, and mandates that sessionKey be reused in subsequent authenticated calls. It does not describe failure or pending states, but the core behavior is well disclosed for a one-parameter polling tool.
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 concise sentences with no filler. The main purpose is front-loaded, followed by sequencing requirements and the essential parameter meaning. Every sentence adds value.
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 tool with one parameter and no output schema, the description covers the prerequisite flow, the required input, the expected success result, and the downstream sessionKey usage. It could be more complete about error or pending states, but nothing essential to invoking it correctly 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?
The schema only defines deviceCode as a required string with no description. The description adds critical meaning by explaining that deviceCode is the device_code returned by loginWithDevice, which is exactly what an agent needs to supply the correct value.
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 uses a specific verb and resource: 'Poll for device login completion.' It clearly ties the tool to the loginWithDevice flow, making it easy to distinguish from auth-related siblings such as getAuthStatus and logout.
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 explicitly states when to call this tool: after loginWithDevice, after opening the verification URL, and after the user has signed in. It also explains what to do with the result. It does not explicitly name alternatives or exclusions, but the sequencing guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkDomainAvailabilityAInspect
Check if a domain name is available for registration, with price. No authentication required — anonymous callers get list pricing; authenticated callers get their account pricing. Required: domain (e.g., 'example.com')
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well: it discloses authentication behavior (anonymous vs. authenticated pricing) and clarifies that this is a non-destructive lookup. It could add response-shape or rate-limit context, but the provided behavior is useful and accurate.
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 no filler. The core purpose and required input are front-loaded, and the auth/pricing nuance is stated efficiently.
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 two-parameter lookup with no output schema, the description is largely complete: it names the required parameter, gives a format example, and explains the auth-dependent pricing behavior. It would be slightly stronger if it mentioned the return shape, but that is not essential 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 coverage is only 50%, but the description compensates by explaining the domain parameter with a concrete example and by tying the optional sessionKey to the anonymous/authenticated pricing difference. The schema already documents sessionKey's source and usage, so the description adds value where it is most needed.
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 action ('Check if a domain name is available for registration') with a clear resource (domain) and an added outcome (price). It is easy to distinguish from sibling tools like checkHostAvailability and checkKeywordAvailability, though it does not explicitly name them.
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 gives clear context: this is the availability-checking tool for domains, and it notes that no authentication is required. It also specifies the required input ('domain') with an example, but it does not explicitly contrast with alternative availability-checking tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkHostAvailabilityAInspect
Check if a host/glue record name is available for creation. Requires authentication. Required: hostname (e.g., 'ns1.example.com')
| Name | Required | Description | Default |
|---|---|---|---|
| hostname | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses an authentication requirement, but does not describe the response format, whether the check is read-only, or what 'unavailable' means. Some behavioral context exists, but not full.
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, each adding necessary information: the operation, the authentication prerequisite, and the required parameter with an example. 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 simple two-parameter check tool, the core calling context is covered (purpose, auth, required hostname format). However, with no output schema, the description leaves the return shape and semantics of the availability result unstated, so it is only minimally complete.
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 only 50%; hostname has no schema description. The description compensates with a concrete example ('ns1.example.com') and states it is required. sessionKey is already well documented in the schema, so the description need not repeat it.
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?
Description specifies a precise operation: check availability of a host/glue record name for creation. This distinguishes it from sibling tools like createHost, getHostsForDomain, and validateDomainName by emphasizing the pre-creation availability check.
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?
Clear context: use before creating a host/glue record, and requires authentication. It does not explicitly name alternatives or state when not to use, but the intended use case is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkKeywordAvailabilityAInspect
Check keyword availability across all supported TLDs and registries with detailed results. Required: keyword (e.g., 'example'). Optional: registries ('verisign,pir,id,centralnic'), tlds ('com,net,org')
| Name | Required | Description | Default |
|---|---|---|---|
| tlds | No | ||
| keyword | Yes | ||
| registries | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It does disclose that the tool scans all supported TLDs/registries unless filtered, and that results are detailed. However, it does not state whether this is a read-only operation, what the detailed result structure contains, whether defaults apply, or any rate-limits or side effects—leaving meaningful behavioral gaps.
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?
The description is compact and front-loaded with the core action, then immediately provides required and optional parameter examples. Every sentence earns its place; there is no filler or repetition of schema fields.
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?
The description covers purpose and all parameters with examples, which is enough to make a basic call. However, there is no output schema, and 'detailed results' is too vague about the return shape, availability semantics, or default behavior, so an agent cannot fully anticipate the response before invoking the tool.
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 0%, so the description must compensate. It does add semantics by marking keyword as required, registries/tlds as optional, and providing concrete comma-separated example values for each parameter. This gives an agent a better understanding than the bare schema alone, though exact registry/TLD enumeration and dot conventions are not specified.
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 ('Check'), resource ('keyword availability'), and scope ('across all supported TLDs and registries'). It also signals 'detailed results', which helps differentiate it from the sibling checkKeywordAvailabilitySummary. This is a clear, actionable purpose statement.
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 is given about when to choose this tool over checkDomainAvailability, checkHostAvailability, or checkKeywordAvailabilitySummary. The description only explains required and optional parameters, not the use case or exclusions. An agent must infer the appropriate context from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkKeywordAvailabilitySummaryAInspect
Check keyword availability summary statistics without detailed domain results (faster). Required: keyword (e.g., 'example'). Optional: registries ('verisign,pir'), tlds ('com,net')
| Name | Required | Description | Default |
|---|---|---|---|
| tlds | No | ||
| keyword | Yes | ||
| registries | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses a key behavioral trait: it returns summary statistics rather than detailed domain results, and that it is faster. However, it does not explicitly state whether the operation is read-only or describe any side effects, though the verb 'Check' strongly implies a safe query. The disclosure is adequate but not rich.
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?
The description is only two sentences, with the purpose and primary differentiator front-loaded in the first sentence and parameter guidance in the second. Every word contributes value, and there is no repetition of schema information.
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 relatively simple read-only summary tool with no output schema, the description covers purpose, scope, speed trade-off, and all parameters with format examples. It does not describe the response format, but 'summary statistics' gives a reasonable expectation. Overall, the essential information an agent needs to invoke it correctly is present.
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 0%, so the description must compensate for the bare input schema. It does: it marks keyword as required with an example ('example'), and identifies registries and tlds as optional with comma-separated format examples ('verisign,pir' and 'com,net'). This adds meaningful semantic guidance for all three parameters beyond their data types.
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 clearly states the action: 'Check keyword availability summary statistics' and explicitly contrasts with 'without detailed domain results (faster)', which distinguishes it from the sibling tool checkKeywordAvailability. This gives an agent a precise understanding of what the tool does and how it differs from related tools.
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 phrase 'without detailed domain results (faster)' implicitly tells the agent when to use this tool: when summary statistics are sufficient and speed is preferred over detailed results. It does not explicitly name the alternative tool, but the sibling list includes checkKeywordAvailability, making the contrast clear. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
countMyVpsInstancesBInspect
Get the total count of VPS instances owned by the authenticated user. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the authentication requirement and implies a read-only aggregate operation via 'total count', which is meaningful context. However, it does not explicitly state that the operation is side-effect-free, what happens with zero instances, or the exact response format.
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 zero wasted words. The core purpose is front-loaded in the first sentence, and the authentication requirement is a valuable clarifying second sentence. Every word 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 simple tool with one optional parameter and no output schema, the description is largely complete: purpose, scope, and auth requirement are all covered. The main gap is that no output schema exists and the description does not clarify the exact return shape (e.g., a bare integer vs. an object with a count field), though 'total count' strongly implies a numeric return.
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%, and the schema already fully documents the sessionKey parameter, including its format, origin, and when to include or omit it. The description adds no parameter-level information, so the baseline of 3 applies since the schema does 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?
The description uses a specific verb ('Get') and a specific resource ('total count of VPS instances') with a clear scope ('owned by the authenticated user'). It clearly states an aggregate/count operation rather than a listing operation, which implicitly distinguishes it from listMyVpsInstances, but it does not explicitly name or differentiate any sibling.
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 states a precondition ('Requires authentication') but provides no guidance on when to use this tool versus alternatives such as listMyVpsInstances or getVpsInstanceDetails. There are no exclusions, no when-to-use conditions, and no mention of scenarios where the count tool is preferable over listing instances.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createAccountAInspect
Create a new OSIR customer account. No authentication required — this is step 1 of onboarding. The contact must be the PRINCIPAL's real ICANN registrant contact (the human or business the account is for), never the AI agent itself. Sends a verification email to the account email; the principal relays the emailed code to complete verification via verifyAccount. acceptedTerms must be true and requires the principal's actual consent to the OSIR terms (state the termsVersion you accepted). While PENDING_VERIFICATION the account can search, quote and fund; billable actions (registerDomain execution) need ACTIVE. Calling again for a PENDING account re-sends the verification email. Required: email, accountType (INDIVIDUAL|ORGANIZATION), contact {firstName, lastName, email, phone (+CC.number), street1, city, country (2-letter)}, acceptedTerms, termsVersion. Optional: password, agentName, agentVendor, principalReference (audit trail of which agent acted for whom). Next step: verifyAccount with the emailed code.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| contact | Yes | ||
| password | No | ||
| agentName | No | ||
| accountType | Yes | ||
| agentVendor | No | ||
| termsVersion | Yes | ||
| acceptedTerms | Yes | ||
| principalReference | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It does this thoroughly: it reveals that the tool sends a verification email, that calling it again re-sends the email, that no authentication is required, and that account capabilities depend on verification state. It also clarifies that acceptedTerms must reflect the principal's actual consent.
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?
The description is long but densely informative. Each sentence earns its place by covering workflow sequencing, state behavior, parameter requirements, or principal-agent semantics. It is slightly heavier than necessary, but the complexity of the onboarding flow justifies most of the length.
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 multi-step onboarding tool with no annotations and no output schema, the description covers the workflow, state machine, required parameters, and next step very well. The main gap is that it does not describe the response shape, such as whether an account ID is returned or what status object the caller should expect, which would be useful for an agent invoking this tool.
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 input schema has 0% description coverage, so the description must compensate, and it does. It lists every required and optional parameter with meaningful context: accountType values, phone format (+CC.number), country as 2-letter, the required contact subfields, and the audit-trail purpose of principalReference. This goes far beyond what the bare schema provides.
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, 'Create a new OSIR customer account,' and immediately distinguishes it from the follow-up verifyAccount step. It clearly identifies this as the first step of onboarding, so an agent can differentiate it from sibling tools like createContact or verifyAccount.
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 explicitly says no authentication is required, this is step 1 of onboarding, and the next step is verifyAccount with the emailed code. It also explains when the tool can and cannot be used by describing PENDING_VERIFICATION vs ACTIVE state restrictions, giving clear guidance on when to call this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createContactAInspect
Create a new contact for use with domain registrations. Requires authentication. Required: firstName, lastName, email, phone (E.164 format), street1, city, postalCode, country (ISO 3166-1 alpha-2). Optional: organization, street2, state
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | ||
| Yes | |||
| phone | Yes | ||
| state | No | ||
| country | Yes | ||
| street1 | Yes | ||
| street2 | No | ||
| lastName | Yes | ||
| firstName | Yes | ||
| postalCode | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| organization | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that authentication is required and imposes phone/country format constraints, but it does not mention what happens on success, whether duplicates are allowed, or what the return value contains. These are notable gaps for a mutation tool.
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?
The description is compact and front-loaded: purpose, authentication, then required/optional fields. Every sentence earns its place, and the field list is easy to scan despite the large parameter count.
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?
The input requirements are well covered, but the description does not state the response shape or return value, and there is no output schema to fill that gap. It also leaves the sessionKey authentication flow implicit, though the schema partially covers that.
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 only 8%, and the description compensates by enumerating all required and optional contact fields. It adds real meaning by specifying E.164 for phone and ISO 3166-1 alpha-2 for country. It does omit sessionKey, but the schema itself provides a thorough description for that parameter.
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 uses a specific verb-resource pair, 'Create a new contact', and states the purpose, 'for use with domain registrations.' This clearly distinguishes it from sibling tools such as updateContact, deleteContact, getContact, and listContacts.
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 gives clear context: create a contact for domain registrations, and it states the required authentication precondition. It does not explicitly explain when not to use it or contrast it with updateContact for existing contacts, but the intended use case is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createDnsRecordAInspect
Create a new DNS record for a domain. Requires authentication. For newly registered domains, the zone is initialized automatically if missing. Required: domain (e.g., 'example.com'), name (e.g., 'www', '@', 'mail'), type ('A', 'AAAA', 'CNAME', 'MX', 'TXT', 'NS', 'SRV'), content (record value). Optional: ttl (seconds, default 3600), priority (for MX/SRV, default 0)
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | ||
| name | Yes | ||
| type | Yes | ||
| domain | Yes | ||
| content | Yes | ||
| priority | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It explicitly states that authentication is required and discloses the non-obvious behavior that missing DNS zones are initialized automatically. It does not describe response format, propagation time, or duplicate-record handling, but the key side effects and prerequisites are surfaced.
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?
The description is efficient and front-loaded with the core purpose. The parameter guidance is compact and organized, with required vs optional clearly separated, and every sentence adds useful information without 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?
Given the lack of annotations and output schema, the description covers the essential invocation details: authentication, parameter values, defaults, and automatic zone initialization. It falls slightly short by not describing the shape of the response or how to interpret the result, but it is sufficient for a competent agent to make a correct call in most cases.
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 only 14%, so the description must compensate. It does by explaining domain, name, type, content, ttl, and priority with examples and defaults. However, the 'content' parameter is only described as 'record value,' leaving the type-specific format ambiguous for MX, SRV, TXT, and other record types.
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 action and resource: 'Create a new DNS record for a domain.' This clearly distinguishes the tool from siblings such as updateDnsRecord, deleteDnsRecord, getDnsRecord, and listDnsRecords. The type list further clarifies the exact scope of records it can create.
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 gives clear invocation context, including required vs optional parameters and the automatic zone initialization for newly registered domains, which implicitly tells users they do not need to call initializeDnsZone first. It does not explicitly mention when to prefer an alternative like updateDnsRecord, but the context is strong enough for most routing decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createHostAInspect
Create a new host/glue record (e.g., for custom nameservers). Requires authentication. Required: hostname (e.g., 'ns1.example.com'), ipAddresses (e.g., ['192.0.2.1', '198.51.100.1'])
| Name | Required | Description | Default |
|---|---|---|---|
| hostname | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| ipAddresses | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It adds useful context: authentication is required, this creates a new record, and it provides examples of expected input shapes. However, it does not disclose duplicate handling, response/return behavior, or failure modes.
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?
The description is compact and front-loaded with the action. Every clause serves a purpose: what the tool does, the use case, the authentication requirement, and the required parameters with examples. 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 simple three-parameter create tool with no output schema, the description provides enough information to invoke it correctly: required inputs, formats, and authentication. It could be improved by mentioning return values or duplicate-host behavior, but those are not critical 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 only 33%, so the description compensates by naming the required parameters and giving concrete examples ('ns1.example.com' and IPv4 addresses). It does not mention sessionKey, but the schema already documents that parameter thoroughly.
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 action and resource: 'Create a new host/glue record', and clarifies the use case with 'e.g., for custom nameservers'. This distinguishes it from related siblings like deleteHost, getHostsForDomain, and checkHostAvailability.
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 gives clear context for when to use the tool (creating host/glue records, typically for custom nameservers) and notes the authentication prerequisite. It does not explicitly name alternatives or when-not conditions, so it misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createMailboxAInspect
Stage creation of a paid mailbox on a mail-enabled domain. BILLABLE — deducts from account balance; get a quote with getMailboxQuote and confirm the price with the user first. Requires authentication. Required: domain (an ACTIVE mail domain), localPart (the part before the @), packageId (from listMailPlans — there is no default). Optional: term ('MONTHLY' or 'ANNUAL', default ANNUAL). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve. The result of the confirmed action contains the generated password EXACTLY ONCE — it can never be retrieved again, so show it to the user immediately; the user can change it later with setMailboxPassword. Also share the client settings from the result (IMAP/SMTP/webmail).
| Name | Required | Description | Default |
|---|---|---|---|
| term | No | ||
| domain | Yes | ||
| localPart | Yes | ||
| packageId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that the tool is BILLABLE, requires authentication, stages rather than instantly creates, returns an actionId, and that the password appears exactly once. This is exemplary transparency for a paid creation flow.
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?
The description is long but every sentence carries operational value. It is front-loaded with the billing warning, then prerequisites, parameters, workflow, and critical password-handling instruction. The structure makes it easy to scan and act on.
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?
Given the complexity, the absence of output schema, and lack of annotations, this description is remarkably complete. It explains prerequisites, billing, the two-step confirmation flow, what the returned actionId means, what the result contains, and what to do with the password and client settings. An agent has enough to call the tool correctly and follow through.
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 only 20% (sessionKey has a description), so the description must compensate. It adds substantive meaning to all other params: domain must be ACTIVE, localPart is the part before the @, packageId comes from listMailPlans with no default, and term has explicit values with a default. It greatly exceeds what the schema provides.
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 says 'Stage creation of a paid mailbox on a mail-enabled domain,' which is a specific verb and resource. It also distinguishes this staging action from the later executeConfirmedAction step and from related mail tools. An agent can immediately tell what this tool is for and what it is not.
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 gives an explicit workflow: get a quote with getMailboxQuote, confirm price with the user, then call executeConfirmedAction with the returned actionId. It also says the user can later change the password with setMailboxPassword, providing clear guidance on when to use related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createPaymentSessionAInspect
Stage creation of a Stripe payment checkout session to add funds to account balance. Requires authentication. Required: amount (double, in USD). Optional: currency (string, default 'USD'). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve. The executed result includes checkoutUrl (hand it to the human to pay), expiresAt, and pollTool — after the human opens the URL, poll with that tool (getPaymentTransactions) until the balance credit appears.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| currency | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It honestly reveals that this tool only stages the payment session, that user confirmation is required before execution, and that the executed result exposes checkoutUrl, expiresAt, and pollTool. It does not cover failure modes or edge-case behavior, but the two-phase workflow is well explained.
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?
The description is dense but every sentence earns its place, covering purpose, required/optional inputs, return values, and the full confirmation/polling workflow. It is front-loaded with the main purpose and avoids filler or repetition.
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?
There is no output schema, so the description correctly enumerates the key return fields: actionId, checkoutUrl, expiresAt, and pollTool. It also explains the overall flow from staging to confirmation to polling. Minor gaps like input validation, error handling, and exact authentication mechanics remain, but the tool is sufficiently complete 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 only 33%, so the description compensates by adding type and default details for amount (double, in USD) and currency (string, default 'USD'). The remaining sessionKey parameter is well described in the schema with its usage and format, so all parameters are interpretable.
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 clearly states the tool's function with a specific verb and resource: 'Stage creation of a Stripe payment checkout session to add funds to account balance.' It distinguishes this from related payment tools by explaining it only stages, and explicitly names the follow-up executeConfirmedAction and polling via getPaymentTransactions.
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 provides a clear step-by-step usage flow: requires authentication, takes amount and optional currency, returns actionId, then instructs to call executeConfirmedAction after user approval and poll with getPaymentTransactions until balance credit appears. It does not explicitly contrast this with alternatives like previewPaymentFees or payInvoice, but the workflow guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteContactAInspect
Stage deletion of a contact. DESTRUCTIVE — cannot delete if assigned to active domains. Requires authentication. Required: contactId (string). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It flags the operation as DESTRUCTIVE, states that authentication is required, reveals the staged-deletion behavior, and discloses the active-domains constraint. It also explains the critical behavior of returning an actionId that must be used with executeConfirmedAction, which is far beyond what the schema alone provides.
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?
The description is compact and front-loaded: destructive warning, key constraint, required parameter, and the confirmation workflow are all delivered in two sentences with no filler. The handoff to executeConfirmedAction is explicitly stated, making the structure highly efficient.
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 destructive two-phase tool with no output schema, the description explains the key return value (actionId), the required follow-up step, and the blocking condition. It could add detail about the error behavior when a contact is assigned to active domains or clarify what 'summary' means, but the essential invocation and completion flow is present.
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 only 50%: sessionKey is documented in the schema, but contactId has no schema description. The description only repeats 'Required: contactId (string)', which adds no semantic value beyond the schema's type and required flag. It does not explain what contactId represents, where it comes from, or how it maps to the target contact.
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 opens with a specific verb and resource: 'Stage deletion of a contact.' It also distinguishes itself from the sibling executeConfirmedAction by clarifying that this tool only stages the deletion and returns an actionId for later confirmation.
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 clearly states when to use the tool: when a contact needs deletion, and it explicitly instructs calling executeConfirmedAction with the returned actionId if the user approves. It also provides a key exclusion: the contact cannot be deleted if assigned to active domains. It does not mention non-destructive contact alternatives like updateContact or getContact, but the two-phase workflow is well explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteDnsRecordAInspect
Stage deletion of a DNS record. DESTRUCTIVE — irreversible. Requires authentication. Required: domain (e.g., 'example.com'), recordId (string). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| recordId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral disclosure burden and does so well: it warns 'DESTRUCTIVE — irreversible', requires authentication, and explains that deletion is staged until a separate confirmation call. This is exactly the kind of high-stakes behavioral context an agent needs.
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?
The description is three short sentences with no filler. It front-loads the destructive warning, then states requirements, then defines the follow-up action. 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 simple 3-parameter tool with no output schema, the description covers everything needed to invoke it correctly: required inputs, authentication, the destructive nature, the returned actionId, and the mandatory confirmation step via executeConfirmedAction. 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?
Schema description coverage is only 33%, so the description compensates by explicitly naming domain and recordId as required and giving an example for domain and a type for recordId. The sessionKey parameter is already well described in the schema, so the description's omission there is acceptable.
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 uses a specific verb and resource ('Stage deletion of a DNS record') and immediately clarifies that this is a staging action, not the actual deletion. It is clearly distinguishable from updateDnsRecord and executeConfirmedAction, which are its closest 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?
The description explicitly states required inputs, the authentication prerequisite, and the exact follow-up flow: present the summary, then call executeConfirmedAction with the returned actionId if approved. It does not enumerate exclusions or alternative approaches, but the workflow context is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteHostAInspect
Stage deletion of a host/glue record. DESTRUCTIVE — irreversible. Requires authentication. Required: hostname (e.g., 'ns1.example.com'). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| hostname | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It prominently warns that the deletion is DESTRUCTIVE and irreversible, requires authentication, and clarifies that the actual destructive action happens only after executeConfirmedAction is called. This is excellent transparency for a deletion-capable tool.
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?
The description is compact and front-loaded: action, danger warning, authentication, required input, and next step all fit in a few sentences. Every sentence contributes necessary operational or safety information without redundant 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?
The description is sufficiently complete for a mutation tool with no output schema: it covers required input, authentication, return value, and the follow-up action. The only minor gap is that the sessionKey usage is not echoed in the description, though the schema already documents it clearly.
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 50%, so the description must compensate at least partially. It adds a required-hostname note with a concrete FQDN example ('ns1.example.com'), which helps clarify expected format. However, it does not explain the semantic relationship to host/glue records beyond that, and it leaves the sessionKey parameter entirely to 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 action ('Stage deletion') on a specific resource ('host/glue record'), which clearly distinguishes it from sibling delete tools like deleteDnsRecord, deleteVpsInstance, and deleteSshKey. The verb and object make the tool's purpose immediately understandable.
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 provides clear operational guidance: authentication is required, hostname is mandatory, the call returns an actionId, and executeConfirmedAction should be called only if the user approves. It does not explicitly contrast this tool with alternative deletion paths, but the staged-deletion workflow is clearly spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteMailboxAInspect
Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication. Required: mailboxId (from listMailboxes). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| mailboxId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses immediate mailbox stoppage, data destruction after 14 days, authentication need, and the actionId-based confirmation flow. It does not mention whether staged deletion can be cancelled or idempotency, but the destructive impact and sequencing are clearly communicated.
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 sentences front-load the core purpose, then cover effects, auth, parameter source, return value, and the next action. Every sentence adds necessary information with 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 destructive, two-phase operation with no output schema, the description is remarkably complete: it explains the required parameter, the immediate and delayed consequences, the auth requirement, the returned actionId, and the exact follow-up call to executeConfirmedAction.
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 schema leaves mailboxId undocumented, but the description compensates by noting it is required and sourced from listMailboxes. sessionKey already has a thorough schema description, so the 50% coverage gap is meaningfully filled.
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 opens with a specific verb-resource pair, 'Stage deletion of a mailbox', which clearly distinguishes this from immediate permanent deletion and from sibling delete* tools. It also explains the staged nature by stating the mailbox stops working immediately but data is destroyed only after a 14-day grace period.
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 explicitly says the required mailboxId comes from listMailboxes, requires authentication, and instructs to call executeConfirmedAction with the returned actionId if the user approves. This provides strong usage context and a clear follow-up, though it does not explicitly list when not to use it or mention any alternative deletion pathway.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteSshKeyAInspect
Remove an SSH key from your account. This does not affect servers already built with it, and the key can simply be added again. Requires authentication. Required: keyId (integer key id from listMySshKeys).
| Name | Required | Description | Default |
|---|---|---|---|
| keyId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the non-destructive effect on existing servers, the reversibility of adding the key again, and the authentication requirement. This goes beyond a bare 'delete' statement and helps an agent anticipate consequences.
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?
The description is compact and front-loaded: the action is stated first, followed by the most decision-relevant caveats. Every sentence contributes either operational guidance or behavioral context, 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 two-parameter delete operation with no annotations and no output schema, the description adequately covers purpose, side effects, reversibility, authentication, and parameter sourcing. It doesn't describe return values or error behavior, but those are less critical for this simple call.
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 description adds real value for the required keyId parameter by specifying it is an integer and directing the agent to listMySshKeys as the source. The sessionKey parameter is already documented in the schema, so the 50% schema coverage is compensated where it matters most.
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 opens with a specific verb and resource: 'Remove an SSH key from your account.' This clearly distinguishes it from sibling tools like addSshKey and listMySshKeys, and explicitly says the deletion is scoped to the account.
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 gives clear context: the key is removed from the account but not from already-built servers, and it can be re-added later. It doesn't explicitly name alternatives like addSshKey, but the behavioral context is enough for an agent to infer the appropriate use case versus other SSH-key tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteVpsInstanceAInspect
Stage deletion/cancellation of a VPS instance. DESTRUCTIVE — irreversible. Requires authentication. Required: instanceId (string). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It openly warns that the action is destructive and irreversible, states that authentication is required, and clarifies that this is only a staging step returning an actionId rather than an immediate deletion. This is strong transparency for a destructive tool.
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?
The description is compact and front-loaded, starting with the destructive warning and then explaining the required workflow. Every sentence serves a purpose, with no filler or redundant background.
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 destructive, no-annotations, no-output-schema tool, the description covers the essential workflow, safety concerns, authentication, required input, and follow-up action. Minor gaps exist, such as not mentioning how to obtain the instanceId or explicitly distinguishing this from other deletion-related tools, but the core information an agent needs is present.
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 only 50%, with instanceId lacking a schema description, but the description merely restates 'Required: instanceId (string)' without adding meaningful semantics such as where to find the ID or any format constraints. The sessionKey parameter is already well described in the schema, so the description adds almost no value beyond the structured data.
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 ('Stage deletion/cancellation') and a clear resource ('VPS instance'), making it immediately distinguishable from sibling tools like deleteHost, deleteSshKey, and deleteContact. The two-step nature is also implied by 'Stage' and the reference to executeConfirmedAction.
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 gives clear usage context: requires authentication and must be followed by executeConfirmedAction only if the user approves. It does not explicitly list exclusions or when not to use the tool, but the resource-specific wording and workflow make the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enableMailDomainAInspect
Enable email hosting on a domain you own. Free — mailboxes are what cost money. Requires authentication. Required: domain. Optional: dnsMode ('PDNS_AUTO', the default, publishes all mail DNS records automatically — the domain must use our nameservers; 'EXTERNAL_MANUAL' returns the DNS records for you to publish at your DNS provider, and the domain stays PENDING_DNS until verifyMailDns succeeds). If the call fails with a DNS conflict (an existing SPF or MX record), ask the user for explicit consent, then re-call with spfMergeConfirmed=true (replace a foreign SPF record) and/or takeoverConfirmed=true (repoint a foreign MX — this moves their live email).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| dnsMode | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| spfMergeConfirmed | No | ||
| takeoverConfirmed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so thoroughly. It discloses that the operation is free, publishes DNS records automatically or returns them for manual publication, and warns that takeoverConfirmed=true repoints a foreign MX and moves live email. It also explains the PENDING_DNS state and the need for explicit user consent on conflict.
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?
The description is dense but every sentence adds value. It starts with the core purpose, then pricing and auth, then required/optional parameters, and finally the conflict-handling flow. It is well-structured and front-loaded, 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?
The tool has five parameters and no output schema, but the description covers all needed call context: ownership, authentication, DNS mode behavior, follow-up via verifyMailDns, and the consent-and-retry flow for conflicts. An agent has enough information to invoke it correctly and handle failures.
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?
Given only 20% schema description coverage, the description compensates by explaining the meaning of domain (owned), dnsMode (both enum-like options and their consequences), spfMergeConfirmed (replace foreign SPF), and takeoverConfirmed (repoint foreign MX). This goes well beyond the schema, which only describes sessionKey.
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 uses a specific verb and resource: 'Enable email hosting on a domain you own.' It clearly distinguishes the tool from siblings like createMailbox, verifyMailDns, or listMailDomains by defining the core action and its ownership prerequisite.
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 provides clear context: requires authentication, domain ownership, and the domain must use our nameservers for the default dnsMode. It also explains the alternative EXTERNAL_MANUAL flow and how to handle DNS conflicts, though it does not explicitly state when not to use the tool or name sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
executeConfirmedActionAInspect
Execute a previously staged destructive or financial action after user approval. Required: actionId (the UUID returned by the staging tool). The action expires after 5 minutes and can only be executed once.
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of explaining behavior. It discloses that the action is destructive or financial, that it expires after 5 minutes, and that it can only be executed once. This is strong behavioral context, though it stops short of describing side effects, error cases, or what happens after execution.
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 with no filler. The main purpose is front-loaded, and each sentence adds a distinct piece of critical information: what it does, the required parameter, and the constraints on execution.
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 tool with no output schema and no annotations, the description covers the essential operational details: prerequisite, approval requirement, expiry, and one-time use. It does not enumerate which staging tools produce actionId or what the response contains, but the core calling context is sufficiently complete.
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 50%. The description compensates for the undocumented actionId by explaining that it is the UUID returned by the staging tool and is required. The sessionKey parameter is already described well in the schema, so the description does not need to repeat it.
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 uses a specific verb ('Execute') and clearly identifies the resource ('a previously staged destructive or financial action after user approval'). It distinguishes this tool from siblings that create, modify, or pay for resources because it is explicitly the confirmation/execution step for a staged action.
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 clearly states the context for use: only after user approval and only with the actionId returned by the staging tool. It does not explicitly name alternative tools or list when-not-to-use cases, but the staging-and-approval precondition is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generateDomainSuggestionsBInspect
Generate domain name suggestions based on keywords. Required: name (e.g., 'mycompany'). Optional: tlds (e.g., 'com,net,org'), lang ('eng'), useNumbers (true/false), maxResults (20)
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| name | Yes | ||
| tlds | No | ||
| maxResults | No | ||
| useNumbers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It says the tool 'generates' suggestions but does not reveal whether this is a read-only operation, what the response contains, how results are ordered, or whether TLDs are validated against a known 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?
The description is a single, efficient sentence that leads with the core action and then packs required and optional parameters with examples. No filler or redundant wording is present.
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?
The tool has no annotations and no output schema, so the description must carry more context. It covers parameters and core purpose, but it omits return-value shape, limitations, and any relationship to sibling tools. This is minimum viable but leaves clear gaps for an agent deciding between similar suggestion tools.
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 0%, yet the description adds meaningful semantics for all five parameters, including allowed formats, example values, and a default for maxResults. It could be slightly richer (e.g., what 'useNumbers' actually controls), but it compensates well for the empty schema descriptions.
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 clearly states the tool's function: generating domain name suggestions from keywords, with a concrete example ('mycompany'). However, it does not differentiate from closely related siblings like bulkDomainSuggestions or spinDomainWords, so the agent must infer which one fits the task.
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 is given about when to use this tool versus alternatives such as bulkDomainSuggestions, suggestAlternatives, or spinDomainWords. The description only explains parameters, not the intended use case or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAccountBalanceBInspect
Get the current account balance for the authenticated user. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the authentication requirement but says nothing about failure behavior, return format, currency, or whether repeated calls have side effects. The verb 'Get' implies a read operation, but this is left implicit rather than stated.
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 no wasted words. The core purpose is front-loaded, and the authentication note is placed after the main action, making the description easy to parse quickly.
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, the description covers the essential purpose and authentication requirement, and the schema handles the parameter documentation. However, with no output schema, the description does not indicate what the balance value looks like, and it offers no comparison against getAccountSummary, leaving some context gaps.
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%, and the sessionKey parameter is already fully documented in the schema, including the osk_ prefix and when to pass or omit it. The tool description adds no new parameter-level meaning, 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?
The description uses a specific verb and resource ('Get the current account balance') and clearly scopes it to the authenticated user. It doesn't explicitly distinguish itself from sibling getAccountSummary, but the phrase 'account balance' makes the purpose 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 description provides a precondition ('Requires authentication') but no guidance on when to choose this tool over alternatives such as getAccountSummary or getAuthStatus. There is no mention of when not to use it or what differentiates it from related account tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAccountSummaryAInspect
Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It does state that authentication is required, which is a useful prerequisite. However, it does not disclose read-only status, potential backend aggregation cost, or behavior on missing or invalid credentials beyond requiring authentication.
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?
The description is a single sentence that front-loads the action and resource, uses a colon to enumerate the included data categories, and ends with the auth requirement. It has no filler words; every clause adds concrete information.
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 output schema, the description compensates by listing the key components of the returned summary (profile, balance, domain count, VPS count, pending transfers), giving an agent a concrete idea of what to expect. It also covers the auth prerequisite. It does not specify the response shape or field types, but for a low-complexity optional-parameter tool that is a minor 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?
The sole parameter sessionKey is already fully described in the schema, including its format (osk_...), when to pass it (device flow), and when to omit it (OAuth), so schema coverage is 100%. The tool description itself adds no parameter details, placing it at the baseline for high schema coverage.
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 names a specific verb ('Get') and resource ('comprehensive summary of the user's account') and enumerates the exact contents: profile, balance, domain count, VPS count, and pending transfers. This clearly scopes the tool apart from the many sibling getters, each of which targets a single data category.
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 explicit when-to-use or when-not-to-use guidance is provided relative to sibling tools such as getAccountBalance, getMyProfile, or listPendingTransfers. The 'comprehensive summary' phrasing implies it is an aggregating alternative, but the description never states that an agent should prefer it over multiple individual calls or when it should be avoided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAuthStatusAInspect
Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginStatus).
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It discloses that the tool returns status and token expiry and explains the sessionKey behavior, which is helpful. It does not mention side effects, auth requirements, or error behavior, but 'Check whether...' reasonably implies a non-mutating read operation.
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?
The description is three short sentences with no filler. It front-loads the purpose, then states return values, then gives the parameter usage guidance. Every sentence earns its place and the whole is easy to scan.
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 low-complexity status-check tool with one optional parameter and no output schema, the description covers the essential points: what it checks, what it returns, and how to handle sessionKey. It could mention how to interpret the authenticated status or what happens when unauthenticated, but this is not a major 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 coverage is 100%, so the schema already documents sessionKey clearly. The description adds value beyond the schema by explaining where the key comes from ('from checkDeviceLoginStatus') and specifying when to pass it versus omit it, which is not present in 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?
The description uses a specific verb and resource: 'Check whether the current session is authenticated' and states what it returns ('authenticated status and token expiry'). It is clear about the tool's core function, but it does not explicitly differentiate from the similar sibling checkDeviceLoginStatus.
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 provides clear context on when to include sessionKey: 'Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth.' It also references checkDeviceLoginStatus as the source of sessionKey. However, it does not explicitly state when to prefer this tool over sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getContactAInspect
Get detailed information about a specific contact. Requires authentication. Required: contactId (string)
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important authentication requirements, which is useful since no annotations are present. However, it does not describe what happens on missing/invalid contactId, what response shape to expect, or whether the operation is strictly read-only beyond the verb 'Get.'
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?
The description is short, front-loaded, and contains no filler. Each sentence contributes either the core purpose or the key call constraint (authentication and required parameter).
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 get-by-ID tool, this is minimally adequate: it names the resource, the required parameter, and the auth requirement. But with no output schema and no annotation context, the description omits useful details about response contents, error behavior, and the OAuth vs sessionKey distinction that the schema only partially covers.
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 description only restates 'Required: contactId (string),' which duplicates the schema's required/type declaration and adds no meaning about how to obtain or use the contactId. It does not mention the sessionKey parameter at all, leaving the schema's sessionKey description as the only real guidance for that parameter.
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: 'Get detailed information about a specific contact.' This clearly distinguishes it from sibling list/create/update/delete contact tools and implies a lookup action by contactId.
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 provides clear context: use this when you need detailed information for one specific contact. It does not explicitly name alternatives like listContacts or getContactsForDomain, but the 'specific contact' framing gives enough direction for an agent to select it over list-style siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getContactsForDomainAInspect
Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Required: domain (e.g., 'example.com')
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose that authentication is required, which is useful behavioral context. Yet it does not state whether the operation is read-only, what happens if the domain has no contacts, or any error/return behavior.
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?
The description is a compact two-sentence definition, front-loading the action and scope, then adding authentication and the required parameter. No redundant or filler language.
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 getter with two parameters and no output schema, the description covers the core purpose, authentication requirement, and required domain argument. It could be more complete with explicit alternative guidance or return-shape hints, but the essential information for invoking the tool is present.
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 description compensates for the missing domain parameter description by providing an example ('example.com') and clarifying that the contacts are 'assigned to a domain.' The sessionKey parameter is already fully described in the schema, so the combined coverage is adequate.
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 uses a specific verb ('Get') and resource ('contacts assigned to a domain'), and enumerates role types (registrant, admin, tech, billing). This clearly distinguishes it from sibling tools like getContact (single contact) or listContacts (by filtering context).
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 implies when to use it: whenever you need all contact roles for a specific domain. However, it does not explicitly mention when not to use it or point to alternatives like listContacts or getContact, so the agent is left to infer the boundary from the domain-specific wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDedicatedServerCatalogAInspect
Get all available dedicated server configurations with pricing and specifications. No authentication required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds 'No authentication required,' which is a useful behavioral note. However, it does not mention whether the operation is read-only, whether pagination exists, or how results are ordered/returned, though 'Get all' implies a non-destructive operation.
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?
The description is a single, front-loaded sentence that states the purpose and the key auth requirement with no wasted words. Every piece of information is relevant.
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 no-parameter catalog-fetch tool, the description is largely complete: it specifies the resource type, the data included (pricing and specifications), and the auth requirement. The absence of an output schema and pagination details is a minor gap but acceptable given the tool's simplicity.
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 has zero parameters, so the baseline is 4. The description correctly does not invent or explain parameters, and since the schema is empty, no parameter documentation is needed.
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 clear verb and resource: 'Get all available dedicated server configurations with pricing and specifications.' 'Dedicated server configurations' distinguishes it from VPS-related siblings like listVpsPackages and from broader catalog tools like getProductCatalog, though it doesn't explicitly contrast with those alternatives.
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 is given about when to prefer this tool over siblings such as getProductCatalog, listVpsPackages, or getVpsPackageDetails. The description does not mention filters, prerequisites, or alternatives, leaving the agent to infer the appropriate context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDnsRecordAInspect
Get details of a specific DNS record. Requires authentication. Required: domain (e.g., 'example.com'), recordId (string)
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| recordId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. 'Get details' implies a read-only operation, and 'Requires authentication' discloses a precondition. It lacks explicit statements about lack of side effects, return shape, or error behavior, but for a simple read tool this is acceptable.
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 contain all essential information: purpose, authentication requirement, and required parameters with an example. There is no fluff or redundancy, though 'Required:' partially restates the schema's required array.
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 3-parameter read tool with no output schema, the description covers purpose, authentication, and required args, including a domain format example. It could note how to obtain recordId (e.g., from listDnsRecords), but the param name and sibling tool make this inferable.
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 only 33%, so the description must compensate. It adds a concrete domain format example, but for recordId it merely repeats the string type without semantic context such as where the ID comes from. sessionKey is already well-described in the schema, so the description adds little over the structured data.
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 uses a specific verb ('Get') and resource ('details of a specific DNS record'), clearly indicating a single-record read operation and distinguishing it from listDnsRecords or mutation tools. It does not explicitly name a sibling or contrast itself, so it stops short of the strongest possible differentiation.
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 states prerequisites: authentication is required, and both domain and recordId must be supplied. It gives a useful domain format example, but does not explain when to choose this tool over listDnsRecords or describe any exclusion conditions, leaving usage guidance mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDomainAuditTrailBInspect
Get the audit trail (history of all changes) for a specific domain. Requires authentication. Required: domain (string)
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It adds 'Requires authentication', but does not mention that this is a read-only operation, what the audit trail contains, pagination, or any 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?
The description is short and front-loaded with the core purpose. 'Requires authentication' adds value, but 'Required: domain (string)' largely duplicates the input schema.
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 tool with two parameters, the description covers purpose and authentication but, with no output schema, it does not describe the expected return structure or any audit trail filtering/pagination behavior.
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 only 50% because 'domain' has no schema description. The description reaffirms domain as required and ties it to a specific domain, but does not explain its format or address sessionKey beyond what the schema already provides.
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 uses a specific verb ('Get') and resource ('audit trail ... for a specific domain'), and clarifies it is the history of all changes. It is clear on its own, though it does not explicitly contrast with sibling tools like getMyAuditLogs.
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 phrase 'for a specific domain' implies the natural use case: retrieving change history for one domain. However, it does not state when to prefer this over getMyAuditLogs/getRecentActivity or mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDomainExtensionsAInspect
Get all available domain extensions (TLDs) with pricing information. No authentication required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does add one useful fact—'No authentication required'—and the 'get' prefix implies a read-only operation. However, it does not mention response format, pagination, currency, or caching behavior, which are relevant for a tool that returns pricing data.
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?
The description is a single front-loaded sentence that conveys scope, output content, and authentication status without any filler or repetition. Every word contributes useful information.
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 zero-parameter list operation, the description states what is returned ('all available domain extensions ... with pricing information') and that no auth is required, which is sufficient for an agent to select and invoke it. It lacks explicit details about response structure or currency, but the core contract is clear enough for this simple tool.
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 has zero parameters and the schema has 100% coverage with an empty properties object. Per the rubric, 0 params earns a baseline of 4; there is no parameter information for the description to add.
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 clearly names the resource ('domain extensions (TLDs)') and the verb ('Get'), and specifies that pricing information is included. However, it does not differentiate this from the sibling tool listCategorizedTlds, which may also return TLD data, so the purpose is clear but not fully distinguished.
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 is provided about when to use this tool versus listCategorizedTlds or other TLD-related tools. The description only states what the tool does and that no authentication is required, leaving usage decisions entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDomainInfoBInspect
Get detailed information about a domain including expiration date, nameservers, and status. Required: domain (e.g., 'example.com')
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. 'Get' clearly implies a read operation and the listed fields indicate the output, but the description does not state whether the domain must be managed/owned, mention authentication prerequisites, or note error behavior. It is not misleading, just thin.
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?
Definition is a single front-loaded sentence followed by the required-parameter hint. No filler; every phrase 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 two-parameter read-only getter, the core call shape is clear, and the schema covers sessionKey. However, with no output schema, the description only partially enumerates return fields and does not clarify preconditions or when this tool applies versus sibling lookup tools.
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 only 50%: domain lacks a schema description, and the tool description fills that gap with an example ('example.com'). The sessionKey parameter is already thoroughly documented in the schema, so no additional description is required there.
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 uses a specific verb ('Get') and resource ('detailed information about a domain'), and names concrete fields (expiration date, nameservers, status). It does not explicitly contrast with sibling tools like checkDomainAvailability or getDomainAuditTrail, but the field list makes the general-info purpose recognizable.
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 guidance about when to choose this tool over related siblings (e.g., listUserDomains, checkDomainAvailability, getDomainAuditTrail). The only usage hint is the required domain example, which is input guidance, not decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getDomainPricingBInspect
Get pricing for domain extensions from the product catalog. Requires authentication. Optional: extension (e.g., 'com', 'net', 'org') to filter results
| Name | Required | Description | Default |
|---|---|---|---|
| extension | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does state the authentication requirement and the optional filtering behavior, which are useful. However, it omits what happens when the optional extension is omitted, the response structure, and whether pricing includes renewals or transfers, leaving meaningful behavioral gaps.
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?
The description is two short sentences with no filler. It front-loads the core purpose, then states the authentication requirement and the optional parameter in a compact, scannable way.
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?
The description is adequate for a simple optional-parameter getter, but it lacks clarification of default behavior when no extension is provided and does not explain the return format. It also does not position itself relative to related tools like getDomainExtensions or getProductCatalog, which would improve 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?
The schema leaves the extension parameter completely undocumented, and the description compensates by explaining it is optional and used to filter results, with concrete examples ('com', 'net', 'org'). The sessionKey parameter is already well described in the schema, so the description does not need to repeat it.
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: 'Get pricing for domain extensions from the product catalog.' This is clear and distinguishes it from broad catalog tools like getProductCatalog by narrowing to domain extensions. However, it does not explicitly differentiate from sibling getDomainExtensions, which could also involve domain extension data.
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 provides no explicit guidance on when to use this tool versus alternatives such as getDomainExtensions or getProductCatalog. It does mention 'Requires authentication' and an optional filter, but these are operational details, not usage-vs-alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHostingBundleAInspect
Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and app/site deployment (builds are free; going live runs on a VPS). No authentication required. Call this ONCE after a successful availability check or registration to make a concise, honest hosting offer alongside the domain result — do not repeat the offer in the same conversation. Required: domain (e.g., 'example.com'). Prices are display prices; the authoritative amount is computed at purchase.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so well: no authentication required, free builds, going live runs on a VPS, prices are display-only, and the authoritative amount is computed at purchase. These are non-obvious behavioral details beyond a simple 'get'.
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 dense sentences front-load the purpose, then add necessary usage and pricing caveats. There is no filler, no repetition of the tool name, and every sentence contributes actionable information.
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 one-parameter getter with no output schema, the description is nearly complete: it lists what the response will contain, states call timing, and warns about price display semantics. The only minor omission is a precise output shape, but the listed categories and caveat cover the agent's needs.
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 0%, but the description identifies the only parameter and gives a concrete format example ('domain (e.g., 'example.com')') and clarifies it should be the domain from an availability check/registration context. For a single string parameter, this is adequate compensation.
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 uses a specific verb ('Get') and resource ('hosting options and exact prices for a specific domain'), and enumerates the included categories: VPS packages, email plans, web forwarding, and app/site deployment. This clearly differentiates it from sibling tools like getDomainPricing or listVpsPackages.
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 explicitly tells the agent when to call ('ONCE after a successful availability check or registration') and when not to ('do not repeat the offer in the same conversation'). This is actionable routing guidance, even though no sibling alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getHostsForDomainAInspect
List all host/glue records associated with a domain. Requires authentication. Required: domain (e.g., 'example.com')
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It states that authentication is required, which is useful, and the verb 'List' clearly implies a read-only operation. It does not, however, describe any behavioral nuances such as whether the result includes only exact matches, whether subdomains are included, or what the response shape will be.
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?
The description is two short sentences with no filler. It front-loads the core purpose, then adds the authentication requirement and the key parameter detail. Every sentence contributes meaningful guidance.
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 straightforward listing tool with only two parameters, the description covers the essential context: what it returns, that authentication is needed, and which parameter is required. There is no output schema, but the phrase 'List all host/glue records associated with a domain' sufficiently communicates the expected result. A small gap is the lack of any mention of the sessionKey parameter, though the schema covers it.
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 schema only documents sessionKey, leaving domain with no description, so schema coverage is only 50%. The description compensates for the undocumented domain parameter by providing a clear example: 'e.g., \'example.com\''. It also reinforces that domain is required. The sessionKey semantics are fully handled by the schema, so the description does not need to repeat them.
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 uses a specific verb and resource: 'List all host/glue records associated with a domain.' This clearly distinguishes it from siblings like getDnsRecord, listDnsRecords, and getContactsForDomain. The purpose is immediately understandable without needing to inspect 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?
The description gives useful context: it is for listing host/glue records for a domain, requires authentication, and the domain parameter is required. However, it does not explicitly state when to prefer this over sibling tools such as listDnsRecords or getDnsRecord, or when it should not be used. The usage is mostly implied rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getInvoiceDetailsAInspect
Get detailed information about a specific invoice including line items. Requires authentication. Required: invoiceId (string)
| Name | Required | Description | Default |
|---|---|---|---|
| invoiceId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the essential auth requirement and the read-like nature of 'Get,' plus that line items are included. It does not describe possible errors, response shape, or side effects, but for a simple fetch tool these omissions are moderate rather than severe.
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-load the core purpose and add the auth note. The 'Required: invoiceId (string)' fragment is redundant with the schema, but the overall size is appropriate.
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?
The description is adequate for a simple retrieval tool: it identifies the target, the auth requirement, and that line items are returned. It lacks guidance on where invoiceId comes from (likely listInvoices) and what errors/return shape to expect, and there is no output schema or annotations to cover those gaps.
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 description merely restates that invoiceId is required and a string, which duplicates the input schema and adds no meaning about how to obtain or use it. The sessionKey parameter is well documented in the schema, but the description does not compensate for invoiceId's missing schema description.
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?
Description states a specific verb and resource: 'Get detailed information about a specific invoice including line items.' This clearly distinguishes it from list-oriented siblings like listInvoices and getInvoiceStatistics by emphasizing a single invoice and its line items.
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 intended use is implicit: call this for one invoice's details rather than listing invoices. However, it never explicitly names alternatives, when-not-to-use conditions, or the prerequisite of obtaining invoiceId from listInvoices; 'Requires authentication' is a prerequisite, not usage-routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getInvoiceStatisticsBInspect
Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does add 'Requires authentication' and the verb 'Get' implies a read-only operation, but it does not explicitly confirm non-mutating behavior, error scenarios, or behavior when no invoices exist.
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?
The description is a single compact sentence that front-loads the operation and result fields, then adds the authentication requirement. There is no wasted wording or repetition.
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 low-complexity call with one optional parameter and no output schema, the description adequately names the summary fields and the auth prerequisite. It could further clarify whether statistics cover all invoices for the authenticated user or a specific period, but this is a minor gap given the tool's simplicity.
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% and the single optional sessionKey parameter is already fully documented in the input schema. The description adds no additional parameter-level meaning, so the baseline score of 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?
The description clearly states a specific operation: 'Get summary statistics of invoices' and enumerates the output fields (total paid, pending, overdue amounts). It distinguishes itself from detail/list tools through the word 'summary', though it does not explicitly name siblings like listInvoices or getInvoiceDetails.
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 explicit guidance is given on when to use this tool versus closely related alternatives such as listInvoices, getInvoiceDetails, or getPaymentTransactions. The intended use is merely implied by the name and phrase 'summary statistics', with no when/when-not conditions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMailboxQuoteAInspect
Get a display-only price quote for a mailbox plan. Requires authentication. Required: packageId (from listMailPlans). Optional: term ('MONTHLY' or 'ANNUAL', default ANNUAL). The backend re-derives the authoritative price at purchase.
| Name | Required | Description | Default |
|---|---|---|---|
| term | No | ||
| packageId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly communicates that this is a non-binding, display-only quote, that authentication is required, and that the backend re-derives the authoritative price at purchase. It does not describe the response shape or error behavior, but the essential behavioral caveats are present.
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 compact sentences front-load the purpose, then state required and optional inputs, and end with an important caveat about price authority. There is no filler, no tautology, and no unnecessary repetition of the tool name.
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 quote tool with only three parameters and no output schema, the description covers the necessary input sourcing, term choices, authentication, and the non-authoritative nature of the quote. It does not specify the return shape, but that is a minor gap given the simplicity of the operation and the absence of an output schema.
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 only 33%, but the description compensates well: it explains that packageId comes from listMailPlans and that term accepts MONTHLY or ANNUAL with a default. Combined with the schema's description of sessionKey, all parameters have meaningful guidance.
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 ('Get'), a specific resource ('mailbox plan'), and a key qualifier ('display-only'), which clearly distinguishes it from purchase or transfer quote tools. It also references listMailPlans as the source of packageId, further grounding the agent in the correct workflow.
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 provides concrete usage context: authentication is required, packageId must come from listMailPlans, and term accepts MONTHLY or ANNUAL with a default. It does not explicitly name sibling alternatives or state when not to use this tool, but the 'display-only' wording and the 'authoritative price at purchase' caveat make the intended pre-purchase use case clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMailboxUsageAInspect
Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It discloses that the tool is a read operation ('Get'), specifies output semantics in relation to bytes and per-mailbox usage, and calls out the authentication requirement. It does not describe response shape or edge cases, but the core behavior is adequately transparent for a simple read-only tool.
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?
The description is one focused sentence, front-loaded with the key action and resource, and includes only useful context about quota display and authentication. Every clause 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 single-parameter read tool with full schema coverage, the description gives the essential context: what it returns, in what unit, why it is used, and that authentication is required. It could be more complete by describing the return shape or explicitly differentiating from getMailboxQuote, but nothing critical is missing for basic 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%, and the sessionKey parameter is fully documented in the schema, including when to pass it and when to omit it. The description adds no additional parameter-level meaning beyond the auth requirement, so the baseline of 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?
The description explicitly states the operation: 'Get disk usage per mailbox in bytes.' It names the exact resource (mailbox), the quantity (disk usage), and the unit (bytes). The phrase 'for quota display alongside the plan's quotaBytes' clarifies its role and helps distinguish it from siblings like getMailboxQuote.
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 gives a clear use context: this is for quota display next to the plan's quotaBytes, and it notes the authentication requirement. It does not explicitly name alternative tools or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMailDnsRecordsAInspect
Get the DNS records a mail domain needs (MX, SPF, DKIM, ...) — for customers managing DNS externally. Requires authentication. Required: domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses authentication requirements and scopes the tool to external DNS management. It does not clarify whether the tool returns recommended records vs. live DNS lookups, how invalid/unconfigured domains are handled, or the response shape, which would be valuable with no output schema.
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?
The description is compact and front-loaded with the core action and resource. The only minor inefficiency is that 'Required: domain' restates schema information, but the overall length is appropriate and free of unnecessary prose.
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 two-parameter tool with no output schema, the description adequately covers the purpose, the target user scenario, authentication, and representative record types (MX, SPF, DKIM). It stops short of full completeness because it does not define the output structure or explicitly distinguish itself from mail DNS verification and generic DNS record tools.
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 only 50%, and the undocumented 'domain' parameter is not explained beyond repeating that it is 'Required'—which the schema already states. The description does not explain domain format or constraints, and it says nothing about sessionKey beyond what the schema already provides. It fails to compensate for the low schema coverage.
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?
Description states a specific action ('Get') and a precise resource: 'the DNS records a mail domain needs (MX, SPF, DKIM, ...)'. This clearly distinguishes it from generic DNS sibling tools like listDnsRecords or getDnsRecord by framing it around mail-domain requirements for externally managed DNS.
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?
Gives useful context with 'for customers managing DNS externally' and notes authentication, so an agent can infer the intended scenario. However, it does not explicitly name alternatives like listDnsRecords or verifyMailDns, nor does it state when not to use this tool. Usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMyAuditLogsAInspect
Get recent audit logs for the authenticated user across all services. Requires authentication. Optional: page (Integer), size (Integer)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the behavioral disclosure burden. It does mention an important precondition ('Requires authentication') and the broad scope, which is useful. However, it does not disclose the authentication flow tied to sessionKey, potential error conditions, rate limits, or pagination behavior details, leaving some gaps for a definition with no annotation support.
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?
The description is compact and front-loaded with the core purpose, followed by authentication and parameter hints. The final sentence about optional parameters is slightly redundant with the schema, but it keeps the description scannable without adding significant bloat.
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 paginated endpoint with no output schema, the description covers the essential context: what is returned, whose logs, across what scope, and that authentication is needed. It is not fully exhaustive about return shape, ordering, or pagination defaults, but those are reasonably inferable for a retrieval tool of this simplicity.
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 only 33%, so the description needed to compensate for under-documented parameters. It only repeats that page and size are optional integers, which the schema already communicates, and it does not explain the meaning of page/size or mention the sessionKey parameter at all. The useful sessionKey guidance lives only in the schema, not the description.
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 clearly states the verb 'Get', the resource 'recent audit logs', and a precise scope: 'for the authenticated user across all services'. It is specific and readable, though it does not explicitly differentiate itself from similar sibling tools like getRecentActivity or getDomainAuditTrail.
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 provides clear context: this is for the authenticated user and spans all services, and it explicitly notes that authentication is required. It does not mention when to prefer alternatives such as getRecentActivity, but the scope statement gives enough context for an agent to judge basic applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getMyProfileAInspect
Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and it does disclose the auth requirement and the returned data shape. It doesn't explicitly state read-only behavior or failure modes, but 'Get' plus the field list makes the side-effect profile reasonably inferable.
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?
A single dense sentence front-loads the operation, lists the key returned fields, and adds the auth prerequisite with no filler. Every clause contributes.
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 zero-required-parameter profile getter with no output schema, the field enumeration and auth note make the call outcomes clear. It is slightly incomplete in not routing the agent away from getAccountSummary/getAccountBalance, but that is not essential for invoking this tool correctly.
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 the sessionKey parameter is already documented. The description's 'Requires authentication' hints at why the sessionKey may be needed, but adds no new parameter-level 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?
The description names a specific operation ('Get the authenticated user's profile and account information') and enumerates the returned fields, so the agent knows what it does. It doesn't explicitly differentiate from getAccountSummary or getAccountBalance, but the 'profile' framing is distinct enough.
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 the prerequisite that the user must be authenticated, which is useful context. However, it gives no guidance on when to prefer this tool over the similar siblings getAccountSummary or getAccountBalance, leaving alternatives to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getPaymentTransactionsCInspect
Get payment transaction history for the authenticated user. Requires authentication. Optional: page (integer), size (integer)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals only that authentication is required and that the result is scoped to the authenticated user. It does not disclose return format, pagination behavior, defaults, error conditions, or whether the operation is read-only, which is especially important given the absence of an output schema.
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?
The description is a single efficient sentence with no filler, and the primary action is front-loaded. It is slightly unstructured (parameters are tacked on as a clause), but overall it is appropriately short and scannable for an agent.
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?
Given three parameters, no annotations, and no output schema, the description is not complete enough. It fails to explain the return shape, pagination semantics, sessionKey usage rules already implied by the schema, or typical use cases. An agent would likely need to guess about defaults and response structure.
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 only 33%, so the description should clarify the undocumented parameters. It mentions 'page' and 'size' are optional integers, but the schema already indicates their types and optionality. It does not explain what page/size control, valid ranges, defaults, or how sessionKey relates to authentication, leaving meaningful gaps.
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 clear verb ('Get') and resource ('payment transaction history') scoped to the authenticated user. It identifies the tool as a history/listing operation, which is distinct from related invoice or balance tools, though it does not explicitly name a sibling to differentiate against.
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 that authentication is required and that page/size are optional, giving some operational context. However, it does not say when to prefer this tool over alternatives like getInvoiceDetails, getRecentActivity, or getAccountBalance, nor does it describe any exclusions or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getProductCatalogAInspect
Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It usefully states that no authentication is required, and 'Get' implies a read-only operation. However, it does not mention whether the response is paginated, cached, large, or structured in any particular way, leaving some behavioral gaps.
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?
The description is a single, front-loaded sentence that states the core purpose first, then enumerates the included categories, then adds the auth requirement. There is no wasted wording.
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 parameterless, read-only catalog retrieval tool, the description is mostly complete: it says what the tool returns, the scope of that return, and that no authentication is needed. It could be slightly stronger by clarifying that this is the umbrella catalog vs category-specific siblings, but that is not essential 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?
The tool has zero parameters, so the baseline is 4. The description adds value by clarifying what the returned catalog contains, even though no parameter documentation is needed.
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 names a specific verb and resource: 'Get the complete product catalog'. It also enumerates the included categories (domain extensions, VPS packages, dedicated servers), which clearly distinguishes it from narrower siblings like getDomainExtensions, getDedicatedServerCatalog, and listVpsPackages.
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 phrase 'complete product catalog' implies this is the right tool when a broad catalog is needed rather than a category-specific one, and 'No authentication required' gives an access condition. However, it does not explicitly mention alternatives or state when a sibling tool such as getDedicatedServerCatalog or getDomainExtensions should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRecentActivityBInspect
Get the most recent activity across all domains and services for the user. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It does state that authentication is required and that the activity spans all domains and services, which is useful. However, it does not disclose whether the call is read-only, pagination/limits, or what form the returned activity takes.
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?
The description is one sentence, front-loads the action and scope, and contains no filler. Every word contributes.
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 optional-parameter read call the description is mostly sufficient, but with no output schema it does not describe what the agent should expect in the response or the recency window. It also does not point to sibling audit-log tools, leaving some selection ambiguity.
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 schema already documents sessionKey with 100% coverage, including when to pass it and when to omit it, so the description adds little parameter-level meaning. The baseline of 3 applies because the schema does 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?
The description uses a specific verb ('Get') and names the resource ('most recent activity across all domains and services for the user'), so an agent can tell what it operates on. It does not explicitly distinguish this from nearby siblings like getMyAuditLogs or getDomainAuditTrail, so it stops short of full differentiation.
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 gives no guidance about when to use this tool versus alternatives such as getMyAuditLogs or getPaymentTransactions. It only states that authentication is required, which is a precondition rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getTransferQuoteAInspect
Get a transfer price quote for a domain. Requires authentication. Required: domain (e.g., 'example.com'). Returns transfer price, currency, extension years, and new expiration date.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure, and it does usefully state that authentication is required and enumerate the returned fields. However, it does not explicitly disclose whether the quote is non-binding, whether a transfer is not initiated, or whether any charge occurs.
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-load the purpose and then pack authentication, required input, and return values with no filler. 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 simple two-parameter operation with no output schema, the description covers the essential agent needs: authentication, required input, and exact returned values. It is slightly incomplete in not distinguishing from similar transfer-related tools, but those distinctions are secondary for invoking this quote tool.
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 schema already documents sessionKey well, but the 'domain' parameter has only a type, so the description compensates with a concrete example and a required marker. It does not provide deeper domain-format guidance, leaving some parameter-semantic burden unmet.
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 uses the specific verb 'Get' and clearly identifies the resource as a transfer price quote for a domain, listing the returned data: price, currency, extension years, and new expiration date. It is clear and distinguishable from name alone, but it does not explicitly contrast it with sibling tools like getTransferStatus or initiateTransfer.
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 states the operation and authentication requirement but provides no explicit guidance on when to choose this tool over related siblings such as getTransferStatus, initiateTransfer, or getDomainPricing. Usage context is implied by the name and purpose rather than directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getTransferStatusAInspect
Check the current status of a domain transfer. Requires authentication. Required: domain (e.g., 'example.com'). Returns status, request date, current registrar, and expected completion.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It explicitly states authentication is required and enumerates the returned fields. It also implies a non-mutating operation through 'check' rather than a modification verb, though it doesn't explicitly say 'read-only' or describe error behavior.
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 with the main action front-loaded, followed by necessary auth/parameter context, then return values. There is no fluff and the description does not merely restate the tool name.
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 two-param read tool with no output schema, the description covers purpose, auth precondition, required argument, and the fields the caller will receive. An agent has enough to invoke it correctly and interpret the result.
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 only 50%, and the description compensates for the undocumented domain parameter by marking it required and giving an example ('example.com'). It does not repeat sessionKey semantics already documented in the schema, which is acceptable.
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?
Description opens with a specific verb+resource: 'Check the current status of a domain transfer.' It also lists the return fields (status, request date, current registrar, expected completion), which distinguishes this status tool from mutation/quote siblings like transferDomain, cancelTransfer, and getTransferQuote.
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 gives prerequisites ('Requires authentication', 'Required: domain') and implies the use case by saying it checks status. However, it never contrasts itself with alternatives such as listPendingTransfers or getTransferQuote, so the when-not-to-use guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getVpsInstanceDetailsAInspect
Get detailed information about a specific VPS instance including resource usage. Requires authentication. Required: instanceId (string)
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses 'Requires authentication' and the required instanceId, but does not describe potential errors, permission requirements beyond authentication, or whether the call has side effects. For a read-only 'get' tool this is minimally adequate.
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?
The description is two short sentences with no fluff. It front-loads the core purpose and then adds the necessary authentication and required-parameter note, making it easy to parse quickly.
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 low-complexity read tool with one required parameter, the description plus schema is reasonably complete. It states the purpose, the required parameter, and authentication need; the optional sessionKey is already documented in the schema. Some details about response structure or error cases are absent, but nothing critical blocks 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 only 50%, and the description's 'Required: instanceId (string)' merely repeats the schema rather than adding semantic meaning. It does not explain what an instanceId looks like, how to obtain it, or clarify the optional sessionKey, leaving the agent with a partial understanding of the parameters.
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 ('Get'), a clear resource ('detailed information about a specific VPS instance'), and a distinguishing aspect ('including resource usage'). This separates it from siblings like listMyVpsInstances and getVpsPackageDetails, which cover listing and package-level details.
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 implies when to use the tool: when you need detailed information and resource usage for one specific VPS instance. However, it does not explicitly compare with alternatives or state when not to use it, leaving the routing partially implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getVpsPackageDetailsAInspect
Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. Required: packageId (string). For anonymous browsing use listVpsPackages, which already includes per-term pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| packageId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds useful behavioral context: authentication is required and the operation is read-only in intent ('Get detailed information'). However, it does not disclose return format, whether the response includes any nested pricing structures, or any rate-limit/error behavior.
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 sentences with no filler. The core purpose is first, followed by auth/required-parameter guidance, then a clear routing note. 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 simple two-parameter read tool with no output schema, the description covers the essential call context: what it does, auth requirement, required parameter, and when to use a sibling. It does not describe the response shape, which might matter for parsing, but the low complexity keeps this from being a major 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 50%; packageId has no schema description, but the description supplies its meaning and requiredness: 'Required: packageId (string)'. It also explains the anonymous alternative. sessionKey is already documented in the schema, so the description adds value where the schema is weakest.
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 ('Get detailed information'), a specific resource ('specific VPS package'), and a distinguishing scope ('including all pricing tiers'). It clearly differentiates from siblings: listVpsPackages lists packages, getVpsInstanceDetails targets instances, while this targets package details.
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 explicitly says authentication is required, names the required parameter packageId, and provides a direct alternative: 'For anonymous browsing use listVpsPackages'. This tells an agent exactly when to use this tool and when to route to a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
initializeDnsZoneAInspect
Initialize (create) the DNS zone for a domain. NOT needed after registerDomain — registration initialises the zone automatically. Use this only for pre-existing domains without a zone (e.g. after a transfer, or if registration opted out with initializeDnsZone:false). Safe to call on existing zones — it will not overwrite records. Required: domain (e.g., 'example.com')
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the important safety trait that calling it on existing zones will not overwrite records, and clarifies that registration normally initializes the zone automatically. It does not mention authorization requirements or failure conditions, but the key non-destructive behavior is clearly stated.
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?
The description is compact and front-loaded. Each sentence adds distinct value: purpose, when it is unnecessary, when it is necessary, safety behavior, and the required parameter with an example. No filler or redundant restatement.
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 relatively simple two-parameter tool with no annotations and no output schema, the description covers the core decisions needed to invoke it correctly: what it does, when to use it vs. not, the required parameter format, and its non-destructive behavior. An agent has enough context to select and call it.
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 50%, with domain lacking a schema description. The description compensates by marking domain as required and providing a concrete example ('example.com'). The sessionKey parameter is already well documented in the schema, so the description does not need to repeat it.
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 opens with a specific verb and resource: 'Initialize (create) the DNS zone for a domain.' It clearly distinguishes this tool from related operations like createDnsRecord and registerDomain, and even states when it is not needed.
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?
Explicit usage guidance is provided: the tool is not needed after registerDomain, and should only be used for pre-existing domains without a zone, such as after a transfer or when registration opted out with initializeDnsZone:false. This leaves little ambiguity about when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
initiateTransferAInspect
Stage initiation of a domain transfer from another registrar. Deducts from account balance. Requires authentication. Required: domain (e.g., 'example.com'), authCode (EPP authorization code from current registrar). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| authCode | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It discloses that the call deducts from the account balance, requires authentication, and returns an actionId pending user approval. It does not cover edge behaviors such as insufficient balance or invalid authCode handling, so a 5 is not justified.
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?
Four concise sentences, each adding necessary value: purpose, financial/auth implications, required parameters, and next-step workflow. The key purpose is front-loaded, and there is no filler or repetition.
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?
Covers the essential facts: what the tool does, cost, auth, required params, and the expected follow-up action. It does not mention failure modes or explicitly explain when not to use it versus transferDomain, but the staged-confirmation workflow is clearly enough 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 coverage is only 33% (only sessionKey is described), so the description must compensate. It explicitly defines 'domain' with a concrete example and 'authCode' as an EPP authorization code from the current registrar, giving both required parameters meaningful semantics 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: 'Stage initiation of a domain transfer from another registrar.' It clearly distinguishes the staging action from the later confirmation step by telling the agent to call executeConfirmedAction, and from the broader context of transferDomain.
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?
Provides a clear workflow: stage the transfer, get the actionId, present the summary to the user, then call executeConfirmedAction. It does not explicitly contrast with sibling tools like transferDomain or cancelTransfer, so it stops short of a full when-to-use vs alternatives guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listCategorizedTldsAInspect
List TLDs from the OSIR catalog that have category and audience metadata populated. Returns structured candidates only — no ranking, no scoring.
USAGE PATTERN:
Call this tool with optional structured filters (price cap, exclude ccTLDs, exclude restricted, etc.) based on what the user said.
Examine the returned
candidates. Each hascategoriesandaudiencearrays you can match against the user's keywords and intent.Pick 3-6 TLDs based on relevance to the user's project. Show your reasoning to the user.
Pass the chosen TLDs to bulkDomainSuggestions to find specific names.
The categories vocabulary is controlled. Common values include: generic, business, commerce, tech, dev, ai, software, web, mobile, api, cloud, data, health, medical, pharma, clinical, wellness, fitness, dental, finance, fintech, banking, education, academic, media, news, design, art, creator, agency, community, social, blog, nonprofit, personal, brand, marketplace, retail, music, audio, video, photo, startup, infrastructure, journal.
The audience vocabulary includes: b2c, b2b, professional, developer, creator, enterprise, smb, consumer, startup.
Note: registrationPrice and renewalPrice in each candidate are decimal strings (e.g. "10.39"), not numbers.
When the user's request is budget-conscious, set maxRegisterPrice. When they explicitly say "no country domains", set excludeCcTLDs=true. When they mention regulated industries casually (without intent to register a restricted TLD), set excludeRestricted=true.
Do NOT set excludePremium as a budget filter. hasPremium=true means the TLD has registry-level premium pricing for a small subset of names — the standard registrationPrice shown in the catalog applies to most names. .app, .dev, and .tech are all hasPremium=true but register most names at their standard price. Only set excludePremium=true when the user explicitly asks for "no premium domains" or "no surprise pricing."
Auth: not required.
| Name | Required | Description | Default |
|---|---|---|---|
| registry | No | ||
| excludeCcTLDs | No | ||
| excludePremium | No | ||
| maxRegisterPrice | No | ||
| excludeRestricted | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it delivers: auth not required, output is structured candidates only, no ranking/scoring, prices are decimal strings, and hasPremium semantics are explained to prevent misinterpretation. It also clarifies what excludePremium does not mean.
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?
Long but well organized with a front-loaded purpose sentence, a numbered workflow, controlled vocabulary lists, and price-format note. Every section earns its place, and there is no repetition of schema fields or fluff.
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 tool with no output schema and no annotations, the description explains the return shape (candidates with categories and audience arrays), the pricing format, the intended workflow, and the meaning of each important filter. The only real gap is the unexplained registry parameter, which is minor against the overall 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?
With 0% schema description coverage, the description compensates strongly by explaining maxRegisterPrice, excludeCcTLDs, excludeRestricted, and excludePremium with concrete triggers. However, the registry parameter is never explained, leaving one of five parameters without semantic guidance.
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 TLDs from the OSIR catalog that have category and audience metadata populated.' It also explicitly contrasts itself with ranking/scoring tools, and the usage pattern names bulkDomainSuggestions as the downstream sibling, so an agent can distinguish it from nearby tools.
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?
Provides a numbered usage pattern with explicit next steps, plus conditional filter guidance: maxRegisterPrice for budget-conscious users, excludeCcTLDs for 'no country domains', excludeRestricted for casual mentions of regulated industries, and clear when-not-to-use guidance for excludePremium. This is unusually actionable and complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listContactsAInspect
List all contacts for the authenticated user with optional search. Requires authentication. Optional: search (search by name/email/org)
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It usefully states that authentication is required and that search is optional, and 'List' implies a read-only operation. However, it does not disclose pagination, response shape, or other runtime behavior.
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?
The description is short and front-loaded with the core purpose. There is minor redundancy in saying 'with optional search' and then 'Optional: search', but overall it remains concise and skimmable.
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 list tool with two optional parameters, the description covers the main behavioral context: authentication requirement, scope, and search semantics. It omits return-format or pagination details, but the operation is simple enough that the description is generally sufficient 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?
The schema only describes sessionKey, leaving 'search' as an undocumented string. The description compensates by specifying that search filters by name, email, or org, which adds meaningful semantics beyond the schema. sessionKey is already well described in 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?
The description identifies a specific verb ('List') and resource ('all contacts for the authenticated user'), which clearly distinguishes it from sibling tools like getContact and getContactsForDomain. However, it does not explicitly name or contrast itself with those siblings, so it stops just short of top-tier differentiation.
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 establishes clear context: list all contacts for the authenticated user, with optional search. It does not state when to prefer this over getContact or getContactsForDomain, nor does it mention exclusions or alternative conditions. Usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listDnsRecordsAInspect
List all DNS records for a domain. Requires authentication. Required: domain (e.g., 'example.com')
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It mentions authentication but does not disclose pagination, empty-result behavior, error handling, or whether the domain must exist. Minimal behavioral context for a read-only list operation.
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 without filler. The core purpose is front-loaded, followed by authentication and parameter guidance. 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?
Adequate for a simple list tool with only one required parameter, but the absence of an output schema means the description should ideally note the return format, pagination, or failure behavior. It covers the minimum viable information but leaves gaps.
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 50% because domain lacks a schema description. The description adds an example format ('example.com') and confirms domain is required, compensating partially. sessionKey is already well described in the schema, so no additional value is added there.
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 ('List') and resource ('all DNS records for a domain'), which clearly distinguishes it from singular getDnsRecord or mutating DNS tools like create/delete/updateDnsRecord. The scope 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?
It provides useful context by mentioning authentication requirements and the required domain parameter, but it does not explicitly contrast with sibling tools like getDnsRecord or state when not to use this tool. Usage is implied rather than fully guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listInvoicesBInspect
List invoices for the authenticated user with optional status filtering and pagination. Requires authentication. Optional: status ('DRAFT', 'PENDING', 'PAID', 'CANCELLED', 'OVERDUE'), page (default 0), size (default 20)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| status | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the disclosure burden. It discloses the authentication requirement and default pagination values, but it does not mention response shape, error behavior, ordering, or whether an absent status means 'all'. This is useful but not rich behavioral context.
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?
The description is short and front-loaded with the main operation, followed by auth and parameter details. The parameter list is slightly redundant with the schema but earns its place by adding enums and defaults; a bulleted layout would improve scannability.
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 list tool with no annotations and no output schema, the description covers the essentials: what is listed, who it is for, optional filters, and pagination defaults. However, it leaves out routing to related invoice tools and any return/error semantics, so an agent is not fully equipped to use it in all contexts.
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 low (25%) because page, size, and status lack schema descriptions. The tool description compensates by enumerating the allowed status values and giving defaults for page and size, adding real meaning beyond the bare property types. It does not go into bounds or interaction between filters, so not a perfect 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?
The description starts with a specific verb and resource ('List invoices for the authenticated user') and mentions optional filtering and pagination, making the core purpose unmistakable. It does not explicitly contrast with sibling tools like getInvoiceDetails or getInvoiceStatistics, so it falls short of full sibling differentiation.
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 prerequisite ('Requires authentication') and describes configurable options, but gives no guidance about when to choose this tool over alternatives such as getInvoiceDetails or when pagination is appropriate. No exclusions or alternative conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listMailboxesAInspect
List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It usefully states that authentication is required and enumerates returned fields, and 'List' implies a read-only operation. However, it does not disclose output structure, pagination behavior, or whether the mailbox identifier/address is included.
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?
The description is one short, front-loaded sentence that immediately states the action and scope. The authentication note is relevant and not redundant.
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 list operation with one optional parameter and no output schema, the description provides enough context to understand the call's purpose and result fields. Minor gaps like output formatting and explicit mailbox identity are not significant enough to undermine usability.
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 schema already documents the only parameter (sessionKey) with 100% coverage, so the baseline applies. The description adds no parameter-specific meaning, but none is needed given the schema's description is already clear.
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 uses a specific verb and resource: 'List your mailboxes', and clarifies what fields are returned (plan, payment term, status, next renewal date). This clearly distinguishes it from sibling tools like listMailDomains and listMailPlans, even though those alternatives are not named.
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 purpose strongly implies when to use the tool, and the authentication requirement is a useful precondition. However, it does not explicitly state when to prefer this tool over alternatives such as listMailDomains or listMailPlans, nor does it mention any when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listMailDomainsAInspect
List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly states that authentication is required and indicates a read-only listing operation via the verb 'List', while also surfacing the expected status values (PENDING_DNS or ACTIVE) and DNS mode. It does not discuss pagination or failure behavior, but these are minor for a simple list tool.
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?
The description is a single focused sentence that front-loads the core action and resource, then adds the key output details and authentication requirement. There is no redundant or vague wording.
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 low-complexity tool with one optional parameter and no output schema, the description adequately conveys the entity being listed, the filtering condition, output fields, and authentication. It does not describe the full response shape or explicitly compare with listUserDomains, but those gaps are minor given the tool's simplicity.
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 input schema already fully explains the sessionKey parameter. The tool description adds no additional parameter-level meaning beyond what the schema provides, so the baseline of 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?
The description states a specific verb ('List'), a clear resource ('your domains that are enabled for email hosting'), and the relevant output fields (status and DNS mode). This distinguishes it from sibling tools like listUserDomains, which likely lists all domains, and listMailboxes, which lists mailboxes rather than domains.
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 implies when to use the tool: when you need email-enabled domains and their DNS status. However, it does not explicitly name alternatives or state when not to use this tool versus listUserDomains or listMailboxes, leaving some routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listMailPlansAInspect
List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here — never from memory.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the authentication requirement, the pricing unit (cents), and the fact that this tool is the authoritative source for mailbox plan pricing. It does not explicitly state read-only behavior or response shape, but 'List' and the data-focused wording make the behavior reasonably transparent.
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 no filler: the first sentence states the resource and its relevant attributes, and the second is a high-value guardrail about pricing accuracy. Every word 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 simple, zero-required-parameter catalog-list tool with no output schema, the description is complete: it names the resource, the included data (quotas, prices), the pricing cadence and unit, the authentication requirement, and the correct usage rule for quoting prices. 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?
Schema description coverage is 100%, so the schema already fully documents the sessionKey parameter. The description's 'Requires authentication' aligns with the schema but adds no new parameter-level meaning, so the baseline score of 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?
The description uses a specific verb ('List') and a clear resource ('available email mailbox plans') with the key attributes 'quotas and prices (monthly and annual, in cents)'. This clearly differentiates it from siblings like listMailboxes, which lists actual mailboxes, and getMailboxQuote, which provides a quote.
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 gives clear context: use this tool to retrieve mailbox plan pricing and quotas, and it explicitly instructs the agent to always quote prices from here rather than memory. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listMySshKeysAInspect
List the SSH keys stored on your account, with their ids and SHA256 fingerprints. Use this to check whether a key is already stored and to get the ids to pass to orderVps or buildVpsInstance. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses the account scope, the returned information (ids and SHA256 fingerprints), and the authentication requirement. For a simple read-only listing tool, this provides adequate transparency without needing to state the absence of side effects explicitly.
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 sentences with no filler: purpose is front-loaded, usage guidance follows, and the authentication constraint is stated last. 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?
The tool is simple, has one optional parameter, and no output schema, and the description covers the resource, purpose, output details, and authentication. It does not describe error cases or empty results, but those are minor for a listing operation.
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 input schema has 100% coverage for the only parameter, sessionKey, fully explaining its format and usage. The description adds no parameter-specific semantics beyond the schema, so the baseline of 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?
The description names a specific verb ('List'), a specific resource ('SSH keys stored on your account'), and the key output (ids and SHA256 fingerprints). It is clearly distinguishable from sibling tools like addSshKey and deleteSshKey, which perform different operations.
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 explicitly states when to use the tool: to check whether a key is already stored and to get ids for orderVps or buildVpsInstance. It does not discuss when not to use it or mention alternatives, but the listing operation is unique among siblings, so the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listMyVpsInstancesAInspect
List all VPS instances owned by the authenticated user. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral context. It states that authentication is required and that results are scoped to the authenticated user's ownership, which are useful behavioral traits. It does not disclose pagination or response shape, but for a list operation this is acceptable.
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?
The description is two short sentences with no filler. It front-loads the core action and scope, then adds the necessary authentication requirement. Every word 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?
Given the simple parameter surface and clear purpose, the description is nearly complete. It lacks an explicit statement of return format or pagination, but 'List all' implies a collection of instances, and the schema covers the only parameter.
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 only parameter, sessionKey, is already fully documented in the input schema with clear guidance on when to pass it and when to omit it. The description's authentication note is consistent but adds no new parameter-level meaning 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?
The description uses a specific verb ('List') and resource ('VPS instances') with an explicit scope ('owned by the authenticated user'). It clearly distinguishes this tool from sibling tools like countMyVpsInstances, getVpsInstanceDetails, and listVpsLocations.
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 intended use is clear: call this when you need all VPS instances for the authenticated user. It does not explicitly name alternatives or state when not to use it, but the scope is specific enough that an agent can select it correctly for listing purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listPendingTransfersAInspect
List all pending incoming (gaining) domain transfers. Requires authentication. Returns a list of transfers with their status, request date, current registrar, and expected completion.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does disclose an important behavioral trait: authentication is required. It also lists the output fields. However, it does not mention that the operation is read-only, how errors behave, or whether the list is paginated.
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?
The description is concise, front-loaded with the core action and scope, and each sentence adds distinct value: what it lists, the auth requirement, and what the response contains. There is 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 simple list operation with no output schema, the description provides the essential return fields and auth context. It falls slightly short on behavioral detail and does not clarify when to prefer this over related transfer-status tools.
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 fully documents the single optional sessionKey parameter. The description adds no parameter-specific meaning, keeping this at the baseline of 3.
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 uses a specific verb ('List') and a well-defined resource ('pending incoming (gaining) domain transfers'). It clarifies scope by saying 'pending' and 'incoming (gaining)', which distinguishes it from outgoing transfers and related transfer tools.
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 implies when to use the tool by focusing on pending incoming transfers, but it does not explicitly contrast it with sibling tools like getTransferStatus or initiateTransfer. No exclusions or alternative routing guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listUserDomainsAInspect
List all domains owned by the authenticated user. No parameters required. Must be authenticated first.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the authentication prerequisite and explicitly notes that no parameters are required. However, it does not describe the return shape, potential errors (e.g., unauthenticated calls), or whether the list is complete/paginated. The added auth context is useful but limited.
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 crisp sentences: the first states the action and scope, the second covers parameters and auth. No filler, and the most important detail ('List all domains') is front-loaded.
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 list tool, the description covers the essential context: what is listed, ownership scope, no required parameters, and authentication prerequisite. A slightly richer note about the response format would make it fully complete, but nothing critical is missing for an agent to call it correctly.
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 baseline is 3. The description's statement 'No parameters required' reinforces the optional nature of sessionKey but adds no new semantics beyond what the schema's required: [] and sessionKey description already convey.
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 ('List'), a clear resource ('all domains'), and a precise scope ('owned by the authenticated user'). This distinguishes it from sibling tools like getDomainInfo (single domain) or listMailDomains (mail domains).
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 clearly establishes the context: this tool lists the authenticated user's own domains and requires prior authentication. It does not explicitly mention alternatives or exclusions, but the scoping and auth note give sufficient guidance for when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listVpsLocationsAInspect
List available VPS hosting locations (cities/countries) with available packages. No authentication required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It adds one useful behavioral detail, 'No authentication required', and indicates the result includes locations and packages. However, it does not explicitly state that this is a read-only/safe operation, nor does it describe output format, ordering, or pagination behavior.
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?
The description is a single, focused sentence that front-loads the core purpose and includes only the additional relevant behavioral note about authentication. No filler or redundant explanation exists.
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 zero-parameter, no-authentication lookup tool, the description is largely complete: it states what is returned (locations and available packages) and that no auth is required. It could be slightly more explicit about the exact response shape, but given the simplicity of the tool, the missing detail is minor.
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 has zero parameters and the schema is empty, so there is nothing for the description to clarify. The baseline of 4 applies because no parameter semantics are needed.
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 clearly states the action ('List') and the resource ('available VPS hosting locations (cities/countries)') and adds that it includes available packages. This distinguishes it from siblings like listVpsPackages, listVpsOsTemplates, and listMyVpsInstances by explicitly focusing on locations.
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 does not explicitly name alternative tools or state when to use this one versus them, but the intended use is implied: it is the go-to tool for discovering available VPS locations and associated packages. The note 'No authentication required' provides a useful usage context, though it does not explain when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listVpsOsTemplatesAInspect
List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of: packageId (a VPS package id from listVpsPackages) to see what a package can install BEFORE ordering — use this to pick an operatingSystemId for orderVps, so the server arrives with an OS already on it; or instanceId (from listMyVpsInstances) to see what an existing server can be reinstalled with, for buildVpsInstance. The two are not interchangeable: the available set depends on the package, so ask with the key that matches what you are about to do. Optional: includeEol (boolean, default false — include end-of-life templates). Template ids are per-install and change over time, so always resolve an id here rather than reusing a remembered or hardcoded one.
| Name | Required | Description | Default |
|---|---|---|---|
| packageId | No | ||
| includeEol | No | ||
| instanceId | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It discloses authentication requirements, a mutually exclusive argument constraint, the default of includeEol, and the fact that template ids are per-install and change over time. It stops short of describing error behavior when both/neither key is passed, but the disclosed traits go well beyond a minimal listing.
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?
Every sentence carries operational value: the auth constraint, the two mutually exclusive argument paths, the non-interchangeability warning, the optional flag default, and the ID-stability warning. Though fairly long, no sentence is redundant and the key constraint is front-loaded.
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 tool with no output schema and no annotations, the description gives everything needed to select and call it correctly: when to use each key, where to get those keys, what to pass to downstream tools, and a warning against hardcoded IDs. The only omission is return-value shape, which is secondary for 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 covers only sessionKey (25% coverage); the description compensates by explaining packageId (source and pre-order use), instanceId (source and reinstall use), and includeEol (boolean, default false). It also explains the relationship between the two alternative keys, adding meaning the schema lacks.
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?
Description opens with a clear verb and resource: 'List operating system templates available to install.' It distinguishes itself from siblings by naming related VPS tools (listVpsPackages, listMyVpsInstances, orderVps, buildVpsInstance) and framing the tool as the resolver for OS template ids. The purpose 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?
It explicitly states 'Pass EXACTLY ONE of' and gives two distinct scenarios: packageId before ordering for orderVps, instanceId for reinstalling with buildVpsInstance. It also warns the two are not interchangeable, telling the agent to choose based on what it is about to do. This is more explicit than typical alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listVpsPackagesAInspect
List available VPS hosting packages with pricing, specs, and locations. No authentication required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It explicitly discloses the authentication requirement, which is valuable. However, it does not mention other behavioral aspects like whether the list is static/cached, whether it reflects real-time availability, or what the response structure looks like. For a simple read-only listing, the disclosure is adequate but not rich.
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?
A single, compact sentence that front-loads the core action and immediately states the key behavioral detail (no auth). Every word earns its place; 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 parameterless listing tool with no output schema, the description fully covers what the tool does, what data it returns, and the access requirement. Nothing an agent needs to invoke it successfully 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 zero parameters, the schema already fully covers parameter semantics (trivially). The description adds useful context about the content of the return value (pricing, specs, locations), which helps set expectations beyond the empty input schema. Baseline 4 is appropriate given the parameterless design.
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 uses a specific verb ('List'), names the resource ('available VPS hosting packages'), and specifies the kind of information returned ('pricing, specs, and locations'). This clearly differentiates it from siblings like listVpsLocations or getVpsPackageDetails, which cover narrower or different aspects.
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 that no authentication is required, which is a useful usage condition. However, it does not explicitly say when to prefer this tool over alternatives such as getProductCatalog or getVpsPackageDetails, nor does it mention any exclusions or prerequisites. Usage is implied rather than fully spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lockDomainAInspect
Enable registrar lock on a domain to prevent unauthorized transfers. Required: domain (e.g., 'example.com')
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the main effect and intention, but it does not mention possible side effects, prerequisites such as the domain being active/registered, idempotency, or what response the caller should expect.
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?
The description is a single tightly written sentence that states the action, the purpose, and the one required input. There is no fluff or unnecessary repetition.
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 two-parameter action with no output schema, the description is mostly complete: it identifies the resource, the effect, and the required argument. It does not describe edge cases like already-locked domains or failure responses, but these are not critical for a basic lock operation.
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 50%, and the description compensates for the undocumented 'domain' parameter by adding a concrete format example ('e.g., 'example.com''). The 'sessionKey' parameter already has a description in the schema, so the description does not need to repeat it.
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 uses a specific verb and resource ('Enable registrar lock on a domain') and explains the purpose ('prevent unauthorized transfers'). It is clear what the tool does, though it does not explicitly differentiate itself from the sibling unlockDomain tool.
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 implies when to use this tool: when you want to protect a domain from unauthorized transfers. It gives a required-parameter note ('Required: domain') but does not provide alternatives, exclusions, or conditions such as 'do not use if the domain is already locked.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loginToVpsPanelAInspect
Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication. Required: instanceId (string)
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the one-time nature of the URL and the authentication requirement, which are meaningful behavioral traits. However, it does not mention side effects such as whether previous login URLs are invalidated, the lifetime of the URL, or how authentication failures are handled.
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?
The description is a single, well-structured sentence that front-loads the core action, followed by two short notes. There is no fluff or redundant elaboration; every sentence serves a purpose, even if some information duplicates the schema.
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?
The tool is relatively simple with two parameters and no output schema, so the description need not be extensive. It covers the core purpose, the required parameter, and the authentication prerequisite. However, it does not describe the return value (the login URL) explicitly, nor does it mention the optional sessionKey parameter, leaving gaps that an agent must infer from the schema.
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 50%: sessionKey has a description, but instanceId does not. The description only repeats 'Required: instanceId (string)', which adds no semantic meaning beyond the schema. It does not explain what instanceId refers to or how to obtain it, and it omits sessionKey entirely, so the description fails to compensate for the schema gap.
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 ('Generate'), a clear resource ('one-time login URL to the VPS control panel'), and adds context ('VirtFusion', 'for managing the server'). This distinguishes it from sibling tools like loginWithDevice or getVpsInstanceDetails, whose purposes are different.
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 implies when to use the tool — when a one-time login URL for a VPS panel is needed — and notes that authentication is required. However, it provides no explicit guidance on when not to use it, no mention of alternatives, and no contextual selection criteria beyond the obvious use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loginWithDeviceAInspect
Start a device authorization login (RFC 8628). Returns a verificationUri and userCode. Open the URI in your browser, enter the code, and sign in with your OSIR credentials. Then call checkDeviceLoginStatus with the returned deviceCode to complete login. No parameters required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It explains the interactive browser step, the need for user sign-in, and that login completion requires a follow-up call, making the asynchronous and non-terminal nature of this call clear.
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?
Every sentence earns its place: what the operation does, what it returns, how to use those values, and the follow-up call. It is compact, front-loaded, and free of 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 parameterless startup call, the description covers the essential flow, return values, and next step. It does not mention expiration or polling behavior for the device code, but the explicit follow-up instruction prevents the agent from assuming login is already complete.
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 has zero parameters and the schema is trivially fully covered. The description adds the useful explicit confirmation 'No parameters required,' which is appropriate for a parameter-less tool.
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 clearly identifies the operation as starting a device authorization login per RFC 8628, which is a specific verb and resource. It also names the returned values and the follow-up tool, distinguishing it from other auth-related 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?
The description provides explicit step-by-step usage guidance: open the returned URI, enter the user code, sign in, then call checkDeviceLoginStatus with the deviceCode. It also explicitly states that no parameters are required, leaving no ambiguity about invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logoutAInspect
Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus) — pass it to end that conversation session.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It discloses the immediate revocation at the identity provider and clarifies that the optional sessionKey scopes the logout to a specific conversation session. This is meaningful behavioral context beyond the bare 'log out' label.
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?
The description is a single sentence that front-loads the core action and then addresses the optional parameter. Every clause earns its place; there is no filler or repetition.
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, no-output-schema logout tool, the description covers the purpose, the effect, and the parameter usage. It is slightly less explicit about the OAuth case, but the schema fills that gap, and the overall context is sufficient 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?
The schema already covers 100% of the parameter, so baseline is 3. The description adds valuable meaning by linking sessionKey to checkDeviceLoginStatus and explaining its purpose ('end that conversation session'), going beyond the schema's more administrative wording.
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 clearly identifies the operation: 'Log out: revokes the session's tokens at the identity provider immediately.' It names the exact resource (session tokens at the IdP) and the verb (revokes), leaving no ambiguity. There is no sibling logout tool, so differentiation is not needed.
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 explicitly explains when to pass sessionKey: 'pass it to end that conversation session,' and references the source tool, checkDeviceLoginStatus. The schema adds the exclusion rule about omitting it for OAuth, but the description itself gives sufficient practical guidance for the common device-flow case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orderVpsAInspect
Stage an order for a new VPS instance. Deducts from account balance. Requires authentication. Required: packageId (VPS package ID), hostname (e.g., 'myserver.example.com'), paymentTerm ('MONTHLY', 'SEMI_ANNUAL', 'ANNUAL', 'BIENNIAL', 'TRIENNIAL'). Optional: operatingSystemId (integer OS template id — resolve one with listVpsOsTemplates using this same packageId; omit to get a server with NO operating system installed), sshKeyIds (integer key ids from listMySshKeys or addSshKey, injected during install — without one you cannot log in). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| hostname | Yes | ||
| packageId | Yes | ||
| sshKeyIds | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| paymentTerm | Yes | ||
| operatingSystemId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full disclosure burden and delivers: the financial side effect ('Deducts from account balance'), the two-phase confirm-before-execute flow, the authentication requirement, the return type (actionId), and critical parameter-driveen behaviors — omitting operatingSystemId yields 'a server with NO operating system installed,' and no sshKeyId means 'without one you cannot log in.' This exceeds what typical annotations would cover.
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?
One dense paragraph ordered logically: purpose → side effect → auth → required params → optional params → return value and next step. Every clause earns its place; there is no filler and no repetition of schema facts — sessionKey is deliberately left to the schema. The most dangerous omission behavior (no OS, cannot log in) is front-loaded into its parameter description.
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 6-param tool with no annotations, no enums, no output schema, and no nested objects, the description tells the agent everything needed to call it correctly: allowed values, resolution sources, money impact, return type, and the exact next step (executeConfirmedAction after user approval). Small gaps — behavior on insufficient balance and packageId lookup — are covered by siblings getAccountBalance and listVpsPackges.
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 only 17% (just sessionKey) and there are no enums, so the description compensates fully: paymentTerm enumerates all five allowed states, hostname gives an inline format example, operatingSystemId explains both resolution via listVpsOsTemplates and the no-OS consequence of omission, and sshKeyIds names its sources and the login consequence. Only packageId ('VPS package ID') restates the name, but sibling listVpsPackages covers resolution.
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+resource: 'Stage an order for a new VPS instance.' The word 'Stage' plus the explicit confession that it returns an actionId to be confirmed via executeConfirmedAction distinguishes it from the confusable sibling buildVpsInstance, which implies immediate construction. The 'Deducts from account balance' sentence further scopes what this tool does.
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?
Provides strong workflow context: it names the follow-up call (executeConfirmedAction with the returned actionId) and instructs the agent to present the summary to the user before proceeding. It cross-references listVpsOsTemplates, listMySshKeys, and addSshKey for parameter resolution, and the 'Requires authentication' note routes the agent to the auth tools. It does not explicitly exclude alternatives such as buildVpsInstance, so no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirAppCreateUploadAInspect
Create an upload ticket for deploying app source code to Osir. Returns an uploadTicket, a putUrl, and instructions to zip the project and upload it. After uploading, call osirAppDeploy with the uploadTicket. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and it discloses the operation, authentication requirement, returned artifacts, and the fact that a separate zip-and-upload step is required. It does not mention ticket expiry or upload limits, but none are necessary for basic invocation.
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 convey purpose, outputs, process, and authentication with no redundancy. Key action and artifact names are front-loaded.
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 tool with zero required parameters and no output schema, the description fully covers what an agent needs: why to call it, what it returns, and what to do next. The returned instructions cover the remaining upload details.
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 single parameter sessionKey is already fully described in the input schema, including when to pass it and when to omit it. The description adds no additional parameter semantics, 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?
The description uses a specific verb and resource: creates an upload ticket for deploying app source code to Osir. It also names the exact artifacts returned, which distinguishes it from sibling deployment tools like osirAppDeploy.
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 clearly frames the workflow: create the ticket, upload, then call osirAppDeploy with the uploadTicket. It does not explicitly contrast with alternative tools, but the named next step and purpose give enough context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirAppDeleteAInspect
Stage deletion of an Osir app. DESTRUCTIVE and irreversible — removes its microVM, image, route, and data. Required: appId (string). Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly warns that the operation is DESTRUCTIVE, irreversible, and lists exactly what will be removed (microVM, image, route, data), and clarifies that this is a staging action, not immediate deletion.
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?
The description is three sentences with no wasted words. It front-loads the purpose and destructive warning, then provides the required parameter, return value, and next-step instruction efficiently.
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?
Even without an output schema, the description adequately explains the return value (actionId), the required confirmation step, the destructive scope, and authentication need. An agent has enough information to invoke the tool correctly and know what to do next.
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 description only restates 'Required: appId (string)', which is already in the schema, adding no semantic value about what appId identifies. It does not mention sessionKey at all, even though schema coverage is only 50% and the description should compensate for the undocumented appId parameter.
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 clearly states a specific verb and resource: 'Stage deletion of an Osir app.' It further distinguishes itself by explaining that deletion is destructive and irreversible, removing microVM, image, route, and data, which separates it from sibling osirApp tools like osirAppDeploy or osirAppStatus.
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 explicitly explains the two-step usage flow: stage the deletion, present the summary to the user, then call executeConfirmedAction with the returned actionId upon approval. It also notes authentication requirements, giving clear context for when and how to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirAppDeployAInspect
Deploy an app to Osir (free tier) and get a live HTTPS URL; the app runs isolated in a microVM. Deploying an existing app name redeploys it (new version) and applies any secrets set via osirAppSetSecret. Required: name (lowercase letters/digits/hyphens, e.g. 'habit-tracker'), language ('node'|'python'|'php-laravel'|'go'), uploadTicket (from osirAppCreateUpload, after you upload the zipped source). A plain static website (HTML/CSS/JS with no framework or build step) is also supported — it's auto-detected and served directly; pass language 'node' for it. Optional: region ('us'|'al'; 'al' = Albania/Tirana). Defaults to the platform's home region. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| region | No | ||
| language | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| uploadTicket | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses authentication requirements, redeployment behavior, secret application, microVM isolation, and static-site auto-detection. It stops short of describing deployment time, failure modes, or exact response shape, but the core behavioral profile is clear.
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?
The description is dense but every sentence earns its place: purpose first, then redeploy behavior, then required parameters, then optional parameter and authentication. It is well-front-loaded and avoids fluff.
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?
Given no annotations and no output schema, the description covers prerequisites, validation rules, supported variants, defaults, and authentication. A minor gap is the lack of explicit return-value or failure information, but the promised 'live HTTPS URL' gives the agent enough orientation.
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 only 20%, and the description compensates strongly: name format with example, all language values, uploadTicket origin, region values with meaning, and the static-site language exception. It adds meaning well beyond the raw schema for every key parameter.
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 names a specific verb and resource: 'Deploy an app to Osir (free tier) and get a live HTTPS URL'. It also distinguishes redeployment semantics for existing app names from a fresh deploy, and the microVM isolation detail sets it apart from related osir* tools.
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 gives clear workflow guidance: uploadTicket must come from osirAppCreateUpload after uploading the zipped source, and a static site should pass language 'node'. It provides required/optional fields and defaults, though it doesn't explicitly state when-not-to-use or name competing alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirAppGetSourceAInspect
Get a short-lived signed download URL for an Osir app's current source zip — use this to make edits to a deployed app without the user re-attaching the project: download, patch the files, then osirAppCreateUpload (PUT the new zip) and osirAppDeploy under the SAME name; the platform rebuilds and, for owned-tier apps, auto-ships the new version to the user's box. Required: appName. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| appName | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses that the URL is short-lived and signed, that it points to the current source zip, that authentication is required, and that the platform rebuilds and auto-ships for owned-tier apps. It does not mention expiry duration or the exact return envelope, so it stops short of a 5.
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?
The description is compact despite conveying a multi-step workflow, and the main purpose is front-loaded. The embedded workflow is useful but slightly dense; every clause earns its place, though the final authentication sentence mostly restates what the schema already implies.
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-required-param tool with no output schema, the description covers purpose, workflow, authentication, and downstream steps. It omits the URL expiration timeframe and the exact response format, but the agent has enough context to invoke the tool correctly and interpret the result as a download URL.
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 50%: appName has no schema-level description, while sessionKey does. The description confirms appName is required and ties it to the target Osir app, but it does not explain how to obtain or format the app name or how sessionKey flows differ. The added semantic value is modest and only partially compensates for the missing appName schema description.
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 opens with a specific verb and resource: 'Get a short-lived signed download URL for an Osir app's current source zip.' It clearly distinguishes this from sibling tools like osirAppDeploy, osirAppCreateUpload, and osirAppStatus by stating it is for retrieving the source archive. The workflow reference makes its role 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 description explicitly states when to use this tool: 'use this to make edits to a deployed app without the user re-attaching the project.' It also names the follow-up sibling tools (osirAppCreateUpload, osirAppDeploy) and the important constraint to deploy under the SAME name. This is actionable routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirAppListAInspect
List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the disclosure burden. It is transparent about the authenticated-user scope, the deployed-only filter, the returned data (URLs and status), and the authentication requirement. It does not discuss pagination or output structure, but this is a straightforward read-only 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?
A single sentence delivers the action, the resource scope, the key output fields, and the auth requirement with 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 simple single-parameter list tool with no output schema, the description states the essential return content (live URLs and status) and the auth requirement. It could be more explicit about the exact response shape or pagination, but an agent can invoke it correctly from this description plus the schema.
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 only parameter, sessionKey, is already fully documented in the schema with 100% coverage, including when to pass it and when to omit it. The description adds no parameter-specific detail, but the schema covers the semantics fully; 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?
The description names a specific action and resource: listing the authenticated user's deployed Osir apps, including live URLs and status. This clearly separates it from sibling tools like osirAppStatus, which implies checking a single app, and osirAppDeploy, which is about deployment.
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 implies when to use the tool: whenever a caller needs the set of deployed Osir apps for the authenticated user. However, it does not explicitly state when not to use it or point to alternatives such as osirAppStatus for a single app's details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirAppLogsAInspect
Get recent logs from an Osir app's microVM ('why is my app broken?'). Required: appId (string). Optional: tail (number of recent lines, default 100). Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| tail | No | ||
| appId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden; it explicitly discloses that authentication is required and that the operation only reads recent logs. It does not describe output ordering or potential truncation, but for a log-retrieval call the essential traits are covered.
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 put the intent, user ai, required parameter, optional parameter, and auth prerequisiste up front with no waste. Every clause adds information.
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?
Given a simple three-parameter tool with no output schema, the description covers purpose, authentication, appId, and tail default. It could be more explicit about where appId comes from or how logs are returned, but the essentials are sufficient for an agent to invoke it correctly.
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 only 33% because appId and tail lack schema descriptions; the tool description compensates by identifying appId as required and specifying tail as 'number of recent lines, default 100.' The sessionKey parameter is already described in the schema, so no gap remains there.
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 names a clear operation and resource: 'Get recent logs from an Osir app's microVM.' The parenthetical 'why is my app broken?' makes the diagnostic purpose immediate and distinguishes it from the other osirApp* management tools.
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 'why is my app broken?' phrasing gives an agent a clear trigger condition for calling this tool. It does not explicitly list sibling alternatives or exclusions, but the log-focused use case is obvious from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirAppMoveToOwnedAInspect
Move a deployed Osir app from the shared free tier onto a paid VPS owned by the user. First call stages a VPS order (COSTS MONEY — returns an actionId; present the price/summary to the user and call executeConfirmedAction only if they approve). After confirmation the platform installs Ubuntu, ships the app onto the box server-side, and binds the domain's DNS if it is hosted on osir.app nameservers (otherwise returns the IP and manual DNS instructions). If the result status is BUILDING or BUILD_FAILED, follow its nextStep — calling this tool again with the same arguments RESUMES the move and never orders a second server. Required: appName, packageId (from listVpsPackages). Optional: domain (custom domain to serve the app on). Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | ||
| appName | Yes | ||
| packageId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does an excellent job. It discloses that the first call costs money, returns an actionId, requires user approval before calling executeConfirmedAction, installs Ubuntu, moves the app, handles DNS conditionally, and never orders a second server on resume. This is unusually transparent for a mutating, paid operation.
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?
The description is long but every sentence delivers essential workflow information: purpose, cost warning, approval requirement, post-confirmation behavior, DNS branching, resume semantics, and parameter requirements. It is organized chronologically and front-loaded with the core purpose before the operational details.
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 complex, money-spending, multi-step tool with no annotations and no output schema, the description covers the full contract: cost, approval step, response actionId, server-side workflow, DNS behavior, resume behavior, required and optional parameters, and authentication. Nothing critical is missing for an agent to select and invoke this tool safely.
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 only 25%, so the description must compensate. It explains that packageId comes from listVpsPackages, that domain is an optional custom domain, and marks appName and packageId as required. It does not explicitly mention the sessionKey parameter or its authentication context, but the closing 'Requires authentication' partially covers that gap.
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 names a specific verb and resource: 'Move a deployed Osir app from the shared free tier onto a paid VPS owned by the user.' This clearly distinguishes it from sibling tools like orderVps, buildVpsInstance, or osirAppDeploy because it targets the migration of an already-deployed app onto user-owned infrastructure.
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 gives clear context on when to call it, including prerequisites (deployed app, packageId from listVpsPackages) and a conditional workflow (first call stages an order, subsequent calls with BUILDING/BUILD_FAILED resume the move). It does not explicitly name alternatives or say when not to use it, but the usage context is strong enough that an agent can select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirAppProvisionDatabaseAInspect
Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, injected on the next osirAppDeploy) and is NEVER returned. Required: appId (string). Optional: engine ('postgres', default). Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| engine | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses important behaviors: the connection string is stored as an encrypted secret, is injected on next deploy, is NEVER returned, and authentication is required. It does not mention whether provisioning is asynchronous, whether an existing DATABASE_URL is overwritten, or what result is returned, but the core side effects are well covered.
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?
The description is three sentences with no filler. The primary purpose is front-loaded, followed by the most important side-effect warning and the required/optional parameters. 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?
The description covers purpose, side effects, authentication, and parameter essentials, but there is no output schema and the description never states what the tool returns on success or failure. It also omits whether provisioning is synchronous or asynchronous, which an agent would need to know to verify completion. This is a notable gap for a provisioning operation.
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 low at 33%, so the description compensates by documenting appId as required and engine as optional with a default of 'postgres'. The sessionKey parameter is already described in the schema, so the description does not need to repeat it. Together, the description and schema adequately cover all three parameters.
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 action, 'Provision a managed Postgres database for an Osir app', with a clear resource and target. It further disambiguates itself by explaining the connection string becomes the app's DATABASE_URL secret, which separates it from generic database or secret-management tools.
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 gives clear usage context: it is for provisioning a Postgres database for an Osir app, requires authentication, and the DATABASE_URL is injected on the next osirAppDeploy, implying it should be called before deployment. It does not explicitly name alternatives or provide when-not-to-use guidance, but the intended workflow is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirAppSetSecretAInspect
Set an environment secret for an Osir app (e.g. DATABASE_URL, API_KEY). The value is stored encrypted and injected as an env var on the next osirAppDeploy of the app; it is NEVER returned or logged. Required: appId (string), key (env var name), value (string). Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| appId | Yes | ||
| value | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so well: it discloses encrypted storage, deferred injection timing, that the value is NEVER returned or logged, and that authentication is required. This goes far beyond the schema.
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 sentences with no filler: purpose first, key behavioral notes second, required arguments and authentication last. 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 mutation tool with no annotations and no output schema, the description covers purpose, storage, deployment timing, security handling, required arguments, and authentication. It omits only minor details such as overwrite semantics and exact response shape.
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 only 25%, so the description must compensate. It adds useful meaning for key ('env var name', examples) and lists the required parameters, but appId and value receive only type labels. It partially compensates but does not fully document all parameter semantics.
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 opens with a specific verb and resource: 'Set an environment secret for an Osir app,' and gives concrete examples like DATABASE_URL and API_KEY. It clearly distinguishes this tool from sibling app-management tools by focusing on secret injection.
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 when the secret takes effect ('injected as an env var on the next osirAppDeploy'), which tells an agent to call this before deploying. It also notes authentication is required. It does not list exclusions, but no competing secret-setting sibling exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirAppStatusAInspect
Get an Osir app's current status, live URL, and health ('is my app working?'). If the status is BUILD_FAILED, 'recentErrors' explains why (e.g. a missing start command) so you can fix the source and redeploy. 'qa' is an independent black-box check of the LIVE app after deploy: qa.status PASSED means it loaded and worked; FAILED means it deployed but didn't actually work (qa.findings lists the problems — e.g. a server error or blank page — so you can fix and redeploy). Required: appId (string). Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the auth requirement and explains the semantics of recentErrors, qa.status, and qa.findings, including what PASSED and FAILED mean. It only implicitly conveys that this is a read-only status check and doesn't enumerate all possible status values.
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?
The description is front-loaded with the core purpose, followed only by conditional details about failure/QA statuses. Every sentence earns its place and no information is redundant with the schema.
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 tool with no output schema and no annotations, it describes the important response fields (status, recentErrors, qa.status, qa.findings) and explains their meaning. A minor gap is not pointing to osirAppList for obtaining appId and not listing every possible status value, but these are not blocking.
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 50%; sessionKey is documented but appId is not. The description adds only 'Required: appId (string)', which duplicates the schema's required flag, and does not explain how to obtain or format the appId. This is adequate but not enriching.
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 names a specific verb and resource: get an Osir app's status, live URL, and health. It also explains the purpose in plain terms ('is my app working?') and distinguishes this from deployment/logging tools by focusing on status and QA verification.
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 clearly frames when to call this tool: to check whether an app is working and to get diagnostic reasons for build or QA failures. It also gives follow-up guidance (fix and redeploy), but it does not explicitly name sibling alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirSiteDesignBriefAInspect
Step 1 of designing a website with OSIR. BEFORE calling: ask the user for any required field you would otherwise have to guess, and offer the optional extras in ONE batch — logo, brand colours, own photos, real content (tagline, services with prices, contact details), reference sites plus what they like about each, language, tone. Don't invent what the user could simply tell you; skipped extras are fine. Validates the client's brief and returns 'systemPrompt' — the design instructions YOU must then follow to write one complete self-contained HTML page — plus 'editRules' for later revisions. Required: businessName, whatItIs (what the business concretely does/sells), audience (who visits and why), pageJob (get_contact|sell_product|book_appointment|collect_signups|inform_portfolio|other), primaryAction (the one CTA, e.g. 'Book a table'). Optional briefJson: a JSON object with site_type, sections[], language (ISO, default en), tone (warm|premium|playful|technical|minimal|bold), mood_words[] (max 5), brand{logo_url, primary_color '#RRGGBB', secondary_color, fonts[], existing_site_url, references[{url, what_you_like}] (max 3; direction only, never copied), dislikes}, content{tagline, services_or_products[{name,description,price}], about_text, contact{phone,email,address,hours,social[]}, image_urls[], testimonials[{quote,name}] (real only)}, constraints{dark_mode, animations (none|subtle|expressive), form_endpoint, legal_footer}. No authentication needed. Afterwards publish with osirSitePublish.
| Name | Required | Description | Default |
|---|---|---|---|
| pageJob | Yes | ||
| audience | Yes | ||
| whatItIs | Yes | ||
| briefJson | No | ||
| businessName | Yes | ||
| primaryAction | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and succeeds: it discloses return values, the agent's follow-up responsibility to produce an HTML page, that no authentication is needed, that skipped extras are fine, and that the process is a validation/generation step rather than a publish action.
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?
The content is dense and valuable with no filler, but it is delivered as one long paragraph with many embedded clauses. Structuring the briefJson specification separately would improve scannability without adding length.
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 complex 6-parameter tool with no output schema and no annotations, the description is remarkably complete: required vs optional params, full optional object shape, output contract, workflow positioning, auth status, and next sibling step are all covered.
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 0%, and the description fully compensates. It explains every required field in plain language, enumerates pageJob values, gives a concrete primaryAction example, and details the nested structure of briefJson including enums, max counts, and content rules.
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: it validates the client's brief and returns systemPrompt and editRules as Step 1 of OSIR website design. It also distinguishes itself from the sibling osirSitePublish by naming it as the follow-up publish step.
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?
Provides explicit before-calling guidance: ask the user for anything you would otherwise guess, offer optional extras in one batch, and do not invent values. It also tells the agent what to do afterwards, making the intended workflow unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osirSitePublishAInspect
Publish a single-page website to a live HTTPS URL on Osir (free tier) — ANY complete HTML document works: the user's own site, a page designed in this chat, or one from the osirSiteDesignBrief flow. Required: name (lowercase letters/digits/hyphens, e.g. 'bar-mediterran'), html (complete document, max 1 MiB). Calling again with the same name redeploys the new version. Optional: region ('us'|'al'); designContract (true ONLY for pages generated via the osirSiteDesignBrief flow — additionally enforces its output contract: exactly one , self-contained, no external scripts/CSS except Google Fonts, no iframes; never set it for a user's own site). For MULTI-FILE sites (separate CSS/JS/images) use osirAppCreateUpload + osirAppDeploy with a zip instead. Then poll osirAppStatus until READY. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | ||
| name | Yes | ||
| region | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| designContract | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so well: it reveals redeployment behavior ('Calling again with the same name redeploys the new version'), size limits ('max 1 MiB'), naming constraints, designContract enforcement rules, and the authentication requirement. This gives an agent a realistic picture of side effects and prerequisites.
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?
The description is long but every clause earns its place: core purpose is front-loaded, required versus optional parameters are clearly separated, and the sibling-tool alternative is placed logically at the end. No filler or redundant restatement of the tool name.
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?
Given the lack of annotations and output schema, the description is remarkably complete: it covers all parameters, required inputs, authentication, constraints, redeploy semantics, and the exact alternative path for multi-file sites. An agent has everything needed to decide whether and how to invoke this tool correctly.
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 only 20%, so the description must compensate, and it does: it details the name format with an example, mandates a complete <html> document with a size cap, enumerates region options, and explains the meaning and restricted usage of designContract. This adds substantial semantic value beyond the bare 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?
The description states a specific action and resource: 'Publish a single-page website to a live HTTPS URL on Osir (free tier)'. It clarifies what inputs are acceptable ('ANY complete HTML document works') and distinguishes itself from multi-file deployment flows by naming sibling tools.
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 explicitly explains when to use this tool (single-page complete HTML documents) and when not to ('For MULTI-FILE sites... use osirAppCreateUpload + osirAppDeploy with a zip instead'), including follow-up polling via osirAppStatus. It also gives a clear conditional rule for designContract, saying it is only for osirSiteDesignBrief-generated pages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payInvoiceAInspect
Stage payment of an outstanding invoice from account balance. Requires authentication. Required: invoiceId (string). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| invoiceId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses that the action is staged, requires authentication, returns an actionId, and must be followed by executeConfirmedAction if the user approves. This is the key safety-relevant behavior. It could add what 'stage' implies about balance holds or expiry, but the critical two-phase behavior is clearly stated.
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-load the core action, then provide authentication, required parameter, and the return/confirmation flow. No fluff or repetition of schema details beyond the essential required-parameter note.
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 no-output-schema action tool, the description explains the return value (actionId), the prerequisite (authentication), and the mandatory follow-up (executeConfirmedAction). It is complete enough for an agent to handle the normal flow safely. Minor gaps like expiration of the actionId or behavior on insufficient balance are not covered.
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 schema covers 50% of parameters: sessionKey has a full description, but invoiceId does not. The description adds that invoiceId must refer to an outstanding invoice, which is meaningful, but it largely repeats the required/string information already in the schema. It does not fully compensate for the missing schema documentation of invoiceId semantics or mention where to obtain it.
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: 'Stage payment of an outstanding invoice from account balance.' It clearly communicates that this tool only stages the payment, not finalizes it, and the follow-up to executeConfirmedAction is named. This differentiates it from sibling payment-related tools.
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 gives clear context for when to use the tool: for outstanding invoices paid from the account balance, and it specifies the required next step (call executeConfirmedAction after user approval). It does not explicitly enumerate alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
previewPaymentFeesAInspect
Preview the fees that would be charged for a given payment amount. Requires authentication. Required: amount (double). Optional: currency (string)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| currency | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. 'Preview' and 'would be charged' reasonably imply a non-mutating operation, and the auth requirement is disclosed. However, it does not explicitly state that no payment or charge is created, nor describe rate limits or response behavior.
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?
The description is two compact sentences with no wasted words. It front-loads the core action, then provides the critical auth and parameter summary in a scannable format.
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 preview tool with three parameters and no nested objects, the description covers the essential inputs, the auth requirement, and the preview nature of the call. It does not explain the return structure, but since no output schema exists, a slightly richer note about the response shape would improve 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 description coverage is only 33%, so the description must compensate. It adds plain-language semantics for the otherwise undocumented amount and currency parameters, while sessionKey is already well described in the schema. It does not detail currency formats or amount bounds, but it covers the main gaps.
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 clearly states the tool's action ('Preview the fees') and resource ('for a given payment amount'), making the purpose unambiguous. It implies a read-only quote operation but does not explicitly differentiate itself from payment-related siblings like createPaymentSession or getTransferQuote.
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 states that authentication is required and lists the input parameters, but gives no guidance on when to use this tool versus alternatives such as createPaymentSession, payInvoice, or getTransferQuote. It also does not mention the sessionKey vs. OAuth distinction, which is left to the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
registerDomainAInspect
Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronously — if a createDnsRecord call right after registration reports a missing zone, retry after a few seconds); no separate initializeDnsZone call needed (pass initializeDnsZone:false to opt out). Required: domain (e.g., 'example.com'), years (1-10), registrantInfo (contact details), nameservers (e.g., ['ns1.example.com', 'ns2.example.com']). Optional: privacyProtection (true/false), autoRenew (true/false), initializeDnsZone (default true). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | ||
| domain | Yes | ||
| autoRenew | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| nameservers | Yes | ||
| registrantInfo | Yes | ||
| initializeDnsZone | No | ||
| privacyProtection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It discloses the financial side effect ('deducts from account balance'), the asynchronous DNS zone initialization behavior, and the two-stage confirmation flow ('returns an actionId... call executeConfirmedAction'). It even warns about the race condition with createDnsRecord and how to handle it.
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?
The description is dense but well-organized: purpose and side effect first, then DNS-related caveats, then required/optional parameters, then the return-and-confirm flow. Every sentence adds distinct information and none of it duplicates the schema. It is appropriately front-loaded for an agent scanning for purpose and critical warnings.
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 tool with eight parameters, a nested object, no output schema, and no annotations, the description covers the essential operational context: required vs optional fields, examples, the financial impact, asynchronous DNS behavior, retry guidance, and the actionId confirmation handoff to executeConfirmedAction. This is enough for an agent to invoke the tool correctly and follow through on the post-call workflow.
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 only %13%, so the description must compensate, and it substantially does: it identifies required vs optional parameters, gives concrete examples for domain and nameservers, constrains years to 1-10, and clarifies the default for initializeDnsZone. The only gap is that the nested registrantInfo object is summarized as 'contact details' without elaborating its required subfields or format, and sessionKey is not mentioned here — though the schema itself fully documents sessionKey.
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 opens with the specific verb 'register' and the resource 'domain name', and clearly frames this as a registration action, not renewal or transfer. It also distinguishes the tool from the nearby initializeDnsZone and createDnsRecord siblings by explaining that DNS zone initialization is handled automatically. The staging/confirmation nature is explicit, so an agent can select it 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?
The description gives concrete when-to-use guidance: use this for new domain registration, and there is no separate initializeDnsZone call needed. It also instructs the agent to retry createDnsRecord after a delay if the zone is not yet visible, and to call executeConfirmedAction with the returned actionId after user approval. This provides a clear operational path and names the relevant sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
renewDomainAInspect
Stage renewal of a domain for a specified number of years. Deducts from account balance. Required: domain (e.g., 'example.com'), years (1-10). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | ||
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and handles it well. It explicitly discloses a financial side effect ('Deducts from account balance'), clarifies that this is a staged action rather than immediate execution, and specifies that executeConfirmedAction must be called after user approval. This is materially important behavioral information.
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?
The description is compact and front-loaded: purpose first, then key requirements, then the return value and required follow-up. Every sentence earns its place, and there is no redundant 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 two-step mutation flow with no output schema, the description explains what the tool returns (actionId), what to do with it, and the key consequence (deducting balance). The agent has enough context to call the tool and complete the confirmation flow correctly.
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 only 33%, with domain and years lacking schema descriptions. The description compensates by providing a domain format example ('example.com') and the allowed years range (1-10). The sessionKey parameter is documented in the schema, so coverage across parameters is adequate.
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 clearly states the operation: 'Stage renewal of a domain for a specified number of years.' It names the resource (domain), the action (renewal), and the key constraint (years). This differentiates it from sibling tools like registerDomain, transferDomain, and updateDomainAutoRenew.
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 gives concrete usage context: required inputs, valid years range, and the confirm-then-execute flow via executeConfirmedAction. It does not explicitly name alternatives or exclusions, but the domain renewal context is clear enough for an agent to use it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setMailboxPasswordAInspect
Set a new password on a mailbox. Requires authentication. Required: mailboxId (from listMailboxes), password. Never log or store the password.
| Name | Required | Description | Default |
|---|---|---|---|
| password | Yes | ||
| mailboxId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It does disclose that authentication is required and adds the important security instruction to never log or store the password. It does not mention potential side effects such as invalidating existing sessions or what happens to the current password, which would strengthen transparency.
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?
The description is three short sentences with no filler. The primary purpose is front-loaded, followed by authentication context, required parameters, and a critical security warning. Every sentence adds value.
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 action, the description covers purpose, required inputs, authentication, and security. However, there is no output schema and no description of what the call returns or what side effects occur on success, so the agent is left without full expectations for the tool's behavior.
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 only 33%, so the description needs to compensate for the undocumented mailboxId and password parameters. It does clarify that mailboxId comes from listMailboxes and that password is the new password, but it adds no format, length, or constraint details and omits mention of the optional sessionKey parameter.
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 clearly states the verb 'Set' and the resource 'a new password on a mailbox', making the tool's function immediately understandable. It is distinct from any sibling tool in the list, though it does not explicitly name or contrast an alternative such as createMailbox.
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 gives useful context by requiring authentication and pointing to listMailboxes as the source for mailboxId. It does not explicitly explain when to choose this over alternatives or how the optional sessionKey fits in, so usage guidance is implied rather than fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spinDomainWordsAInspect
Generate domain suggestions by spinning/replacing words. Required: name (e.g., 'pizza,restaurant'). Optional: position (0-based index), similarity (0.0-1.0), tlds ('com,net'), lang ('eng'), maxResults (20)
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| name | Yes | ||
| tlds | No | ||
| position | No | ||
| maxResults | No | ||
| similarity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does explain the generation approach ('spinning/replacing words') and parameter constraints, but it does not describe output shape, side effects, rate limits, or error behaviors.
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?
The description is a single compact sentence that front-loads the purpose and then efficiently enumerates required and optional parameters. No filler or redundant information is present.
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 output schema and no annotations, the description covers the full input contract well, including defaults/ranges for optional fields. It could be more complete by stating the return format, but the call contract itself is fully actionable.
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 0%, but the description compensates fully by documenting every parameter with concrete examples and constraints: name ('pizza,restaurant'), position (0-based), similarity (0.0-1.0), tlds ('com,net'), lang ('eng'), and maxResults (20). This gives the agent everything needed to construct a valid call.
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 clear verb ('Generate') and a specific resource ('domain suggestions'), with the mechanism 'spinning/replacing words' making the tool's function distinct. It does not explicitly name sibling tools, so the differentiation is conveyed only through the wording rather than a direct comparison.
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 gives required and optional parameters with examples, but offers no guidance on when to prefer this tool over related siblings such as generateDomainSuggestions, bulkDomainSuggestions, or suggestAlternatives. No exclusions or alternative-selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggestAlternativesAInspect
Suggest alternative domain names if the requested one is unavailable (legacy method). Required: domain (e.g., 'example.com'). Optional: limit (default 10)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds useful context by marking the method as legacy and by scoping behavior to unavailable domains, but it does not explicitly state that the operation is read-only, describe the response format, or disclose any rate-limit/deprecation implications.
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?
A single compact sentence delivers purpose, condition, legacy status, and parameter guidance with no filler. It is front-loaded with the core action and adds the parameter details in a scannable format.
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?
The tool is simple and low-risk, but with no output schema and no annotations, the description should at least sketch the return shape (e.g., list of domain strings) and clarify whether this legacy endpoint can still be used. It gives the essentials for calling the endpoint, yet leaves output behavior and deprecation status under-specified.
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 only 33%, but the description compensates for the two undocumented parameters: it marks domain as required with a concrete example ('example.com') and documents limit's default of 10. The sessionKey parameter is already described in the schema, so all parameters are meaningfully explained.
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 clearly identifies the action (suggest), the resource (alternative domain names), and the trigger condition (requested domain unavailable), so an agent understands the core purpose. It is less explicit about how this differs from sibling tools like generateDomainSuggestions or bulkDomainSuggestions, though 'legacy method' gives a partial distinction.
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 the intended use case — suggest alternatives only when the requested domain is unavailable — which gives helpful context. However, it does not name alternatives or say when to prefer the newer suggestion tools, and 'legacy method' only implies that other tools may be better choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transferDomainAInspect
Stage transfer of a domain from another registrar to OSIR. Deducts from account balance. Required: domain (e.g., 'example.com'), authCode (EPP code from current registrar), registrantInfo (contact details). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| authCode | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| registrantInfo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It discloses an important side effect ('Deducts from account balance'), the staging nature of the operation, and the required follow-up via executeConfirmedAction. It could mention reversibility or permission requirements, but the material behavior is well covered.
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 sentences carry all necessary information: purpose, side effect, required params, return value, and follow-up action. There is no filler or redundant restatement of the tool name.
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?
Given a nested object parameter, no annotations, and no output schema, the description covers the main call requirements and the post-call workflow. It would be more complete if it named the relevant sibling initiateTransfer or listed prerequisites, but the description is sufficient for an agent to call correctly.
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 only 25%, so the description compensates by explaining domain with an example, describing authCode as the EPP code from the current registrar, and summarizing registrantInfo as contact details. The sessionKey parameter is already documented in the schema, so not repeating it is acceptable.
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 action and resource: 'Stage transfer of a domain from another registrar to OSIR.' It also names the required inputs, so the core purpose is clear. It does not explicitly contrast with the sibling initiateTransfer, leaving some ambiguity about how the two transfer-related tools differ.
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 gives clear operating context: stage the transfer, deducts from account balance, returns an actionId, present its summary to the user, and call executeConfirmedAction if approved. It does not state when to use initiateTransfer or cancelTransfer instead, but it provides enough workflow guidance to use this tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlockDomainAInspect
Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE — reduces domain security. Required: domain (e.g., 'example.com'). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if they approve.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does well: it warns that the operation is destructive, reduces domain security, stages rather than immediately executes, returns an actionId, and instructs the agent to get user approval before finalizing. This is excellent behavioral disclosure.
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?
The description is compact and front-loaded: it names the operation, states the risk, specifies the required parameter, and explains the actionId flow. Every sentence adds necessary information.
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?
The description covers the key context: the action, the destructive effect, the required parameter, and the confirmation step. It is slightly vague about what 'the summary' refers to and assumes the user has an existing domain eligible for unlocking, but overall it is complete enough for a two-parameter tool with no output schema.
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 only 50% because the domain parameter lacks a description, but the tool description adds the required format with 'example.com'. The sessionKey parameter is already well-described in the schema, so the combined coverage is sufficient.
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 uses a specific verb and resource: it stages removal of the registrar lock from a domain. It clearly distinguishes itself from the sibling lockDomain by stating it removes the lock, and it connects the action to enabling transfers.
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 gives clear context for when to use the tool — when a domain lock must be removed to allow transfers — and explains the required follow-up flow via executeConfirmedAction. It does not explicitly name alternatives or exclusions, but the usage context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateContactBInspect
Update an existing contact's information. Requires authentication. Required: contactId (string). Optional: firstName, lastName, email, phone, organization, street1, street2, city, state, postalCode, country
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| No | |||
| phone | No | ||
| state | No | ||
| country | No | ||
| street1 | No | ||
| street2 | No | ||
| lastName | No | ||
| contactId | Yes | ||
| firstName | No | ||
| postalCode | No | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| organization | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavior. It only mentions that authentication is required and lists updatable fields. It does not reveal whether fields are merged or fully replaced, what happens if contactId does not exist, what the response format is, or any side effects. For a mutating tool, this is under-disclosed.
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?
The description is compact and front-loaded: a clear one-line purpose, an authentication note, then a direct list of required and optional parameters. It avoids unnecessary detail or repetition, though the optional field list could be shortened by pointing to the schema.
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 13 parameters, no output schema, and no annotations, the description leaves critical questions unanswered: what the return value is, whether this is a partial or full update, how errors are surfaced, and what exact authentication mechanism is required. This is insufficient for an agent to reliably invoke the tool without additional assumptions.
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 only 8% (only sessionKey is described). The description repeats parameter names and marks contactId as required and the rest as optional, but this adds little beyond what the schema's required array already shows. It provides no additional meaning about formats, constraints, or field purposes, so it fails to compensate for the sparse 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?
The description states a specific verb ('Update') and resource ('existing contact's information'), clearly distinguishing it from sibling tools like createContact, deleteContact, getContact, and listContacts. There is no ambiguity about what operation this tool performs.
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 phrase 'existing contact' implies this tool is for modifying contacts that already exist, which provides some usage context. However, it does not explicitly name alternative tools like createContact for new contacts or getContact for retrieval, nor does it explain when to prefer this tool. The authentication requirement is a prerequisite, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateDnsRecordBInspect
Update an existing DNS record. Requires authentication. Required: domain (e.g., 'example.com'), recordId (string). Optional: name, type, content, ttl, priority
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | ||
| name | No | ||
| type | No | ||
| domain | Yes | ||
| content | No | ||
| priority | No | ||
| recordId | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only mentions 'Requires authentication' and does not disclose whether omitted optional fields are preserved or reset, whether DNS propagation occurs, what errors can arise, or whether the update is idempotent.
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?
The description is short, front-loaded with the main action, and uses a clear required/optional breakdown. It is efficient, though the list format could be slightly more structured for readability.
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 eight parameters, no annotations, and no output schema, this description is incomplete. It covers authentication and parameter presence but omits update semantics, response format, error conditions, and side effects, leaving an agent without enough context to confidently handle unexpected outcomes.
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 only 13%, so the description must compensate. It does list required and optional parameters and provides a domain format example, which helps. However, it does not explain ttl units, valid type values, priority semantics, or the sessionKey parameter beyond what the schema already describes.
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 clearly states the action and resource: 'Update an existing DNS record.' It also names the required identifiers (domain, recordId), which disambiguates it from createDnsRecord, deleteDnsRecord, getDnsRecord, and listDnsRecords without needing to inspect sibling schemas.
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 phrase 'existing DNS record' implies this tool is for modification rather than creation or deletion, and the required domain/recordId signals that the record must already exist. However, it does not explicitly state when to prefer this tool over createDnsRecord or deleteDnsRecord, or mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateDomainAutoRenewAInspect
Enable or disable auto-renewal for a domain. Required: domain (e.g., 'example.com'), enabled (true/false)
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| enabled | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It states that the tool enables or disables auto-renewal, but does not disclose side effects, billing implications, idempotency, or what a successful call returns. For a mutating operation, this is a meaningful 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?
The description is a single focused sentence with no filler. The core action is front-loaded and the required parameters are stated compactly.
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 two-required-parameter toggle, the description is usable as-is. However, with no annotations and no output schema, it would benefit from noting prerequisites such as domain ownership, potential billing effects, or expected return values.
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 only 33%, but the description adds concrete examples for domain and enabled, which helps the agent provide valid values. It does not explain domain formatting rules or the precise meaning of enabled beyond the boolean type, and sessionKey is already well-described in 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: enabling/disabling auto-renewal for a domain. This clearly differentiates the tool from siblings like renewDomain, updateDomainPrivacy, and lockDomain.
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 clearly implies the intended use case: toggling the recurring auto-renewal setting. It does not explicitly name alternative tools or exclusion conditions, but the context is clear enough without them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateDomainPrivacyAInspect
Enable or disable WHOIS privacy protection for a domain. Required: domain (e.g., 'example.com'), enabled (true/false)
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| enabled | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It indicates the state change but does not mention authentication requirements, reversibility, side effects on WHOIS data, or what the response contains.
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?
Single sentence that front-loads the action and immediately lists the required parameters. Every word adds value and there is no redundant 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?
Adequate for a simple toggle tool: the required parameters are covered and the operation is clear. But with no annotations and no output schema, the description leaves authentication expectations and result handling implicit, which creates a noticeable gap for an agent invoking it independently.
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 low (33%), but the description compensates for the two required parameters by explaining domain format with an example and clarifying that enabled expects true/false. The optional sessionKey is adequately documented in the schema itself.
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?
Description uses a specific verb-action pair ('Enable or disable') with a clear resource ('WHOIS privacy protection for a domain'). It is immediately distinguishable from sibling tools like updateDomainAutoRenew or lockDomain.
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?
States the intended action and the required inputs, giving clear context for when to use the tool. However, it does not explicitly name alternatives or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateNameserversBInspect
Update nameservers for a domain. Required: domain (e.g., 'example.com'), nameservers (e.g., ['ns1.example.com', 'ns2.example.com'])
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. | |
| nameservers | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It only says 'Update nameservers' without explaining side effects, propagation, authorization requirements, or whether the change overwrites existing nameservers. This is a significant gap for a mutation tool.
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?
The description is a single front-loaded sentence with useful examples and no filler. Every word contributes to understanding the tool's purpose and required inputs.
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 annotations and no output schema, the description leaves out important operational context: expected result, error conditions, authentication needs, and whether this is an immediate or asynchronous operation. It is minimally adequate for constructing a call but not complete enough for confident agent decision-making.
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 only 33%, and the two required parameters lack schema descriptions. The description adds examples for both domain and nameservers, which helps, but it does not explain constraints such as minimum number of nameservers or accepted name formats. It partially compensates for the sparse schema but not fully.
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: 'Update nameservers for a domain.' This clearly distinguishes it from sibling tools like updateDnsRecord, updateDomainAutoRenew, and updateDomainPrivacy. The inline examples for domain and nameservers further sharpen the tool's intent.
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 is provided about when to use this tool versus alternatives such as updateDnsRecord or initializeDnsZone. The description only restates the action and required parameters, leaving the agent to infer appropriate usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validateDomainNameBInspect
Validate if a domain name format is correct. Required: domain (e.g., 'example.com')
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It conveys that the operation is a validation/check rather than a mutation, but it does not disclose what the tool returns for valid versus invalid input, whether errors are thrown, or any additional side effects. The core behavior is clear, but the outcome semantics are missing.
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?
The description is short and front-loaded with the core purpose. The example earns its place, but the phrase 'Required: domain' largely duplicates the input schema's required field, adding minor redundancy. Overall, it is appropriately concise with little waste.
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?
Given the tool's simplicity, a one-parameter validator, the description is nearly adequate, but it omits return/result semantics and does not clarify acceptance criteria for 'correct' domain format. The lack of an output schema and annotations increases the need for that information, so completeness is only moderate.
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 0%, so the description must compensate. It does clarify the single parameter with an example ('example.com') and marks it as required, but it does not define what constitutes a correct format, whether protocols or subdomains are allowed, or if IDN/punycode is accepted. The example adds some value but leaves important semantics unspecified.
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: validating whether a domain name format is correct. This clearly distinguishes it from siblings like checkDomainAvailability, which checks availability rather than format. The example 'example.com' further anchors what input is expected.
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 does not explain when to prefer this tool over sibling tools such as checkDomainAvailability, bulkDomainSuggestions, or validate-related alternatives. It gives no exclusions, prerequisites, or explicit call-context guidance beyond the implied purpose of validating format.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verifyAccountAInspect
Verify a newly created OSIR account with the code from the verification email — step 2 of onboarding, no authentication required. The code is the same token as the email link, so the principal can relay it to their agent. On success the account becomes ACTIVE and billable actions are unlocked. If the code expired, call createAccount again with the same email to get a fresh one. Required: accountId (from createAccount), code.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| accountId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It explains that no authentication is required, that the code is the same token as the email link and can be relayed, that success transitions the account to ACTIVE and unlocks billable actions, and how to handle an expired code. This is strong behavioral context, though it does not cover error cases like invalid codes or already-verified accounts.
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?
The description is compact and well-structured, front-loading the core purpose before adding workflow context, behavior, failure recovery, and parameter guidance. Each sentence earns its place, and there is no redundant 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 two-parameter tool with no output schema, the description is complete: it explains the onboarding step, authentication expectations, the effect of success, and the expired-code recovery path. Nothing essential is missing for an agent to select and invoke this tool correctly.
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 0%, so the description must compensate. It does: accountId is identified as coming from createAccount, and code is identified as the verification email code that is the same token as the email link. This gives both parameters meaningful provenance and practical meaning beyond the bare 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?
The description states a specific verb ('Verify'), a specific resource ('a newly created OSIR account'), and the mechanism ('code from the verification email'). It also positions this as 'step 2 of onboarding', clearly distinguishing it from related account-creation and authentication tools in the sibling list.
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 gives explicit when-to-use context: it is step 2 of onboarding and requires no authentication. It also provides a clear recovery path, instructing the caller to use createAccount again with the same email if the code has expired, which is an explicit pointer to an alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verifyMailDnsAInspect
Check that a mail domain's DNS records resolve; activates the domain for email when all records are found. Returns any still-missing records. Requires authentication. Required: domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| sessionKey | No | Session key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It transparently discloses a non-obvious side effect beyond the 'verify' name: the domain is activated for email when all records are found. It also states the return value ('returns any still-missing records') and the authentication requirement.
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?
The description is short, front-loaded with the primary action, and contains no excess explanation. 'Requires authentication' and 'Required: domain' are slightly redundant with the schema, but they are minimal and reinforce important preconditions.
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 two-parameter tool with no output schema and no annotations, the description covers the essential behavior, the state-changing activation side effect, the return value, and required preconditions. It does not specify which DNS records are checked or repeated-call behavior, but these are not critical 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 only 50% (sessionKey is described, domain is not). The description partially compensates by identifying 'domain' as the mail domain whose DNS records are checked and by noting it is required. It does not add format or validation details, but enough context is provided for straightforward use.
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 ('Check'), a precise resource ('a mail domain's DNS records'), and an explicit additional outcome ('activates the domain for email'). This clearly differentiates verifyMailDns from read-only siblings like getMailDnsRecords and manual enablement tools like enableMailDomain.
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 intended use is implied: use this when you want to verify DNS records and automatically activate the mail domain. However, the description does not explicitly mention alternatives or state when to prefer getMailDnsRecords/enableMailDomain instead. It does provide prerequisites such as authentication and the required domain parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Search, Register , Renew , Transfer and Manage domains
Domain search, registration, DNS, marketplace, and checkout with your AI agent.
Search newly registered, expired, aged, active, deleted and for-sale domains, plus WHOIS and DNS.
Buy & manage domains from any AI chat: availability, register, DNS, email forwarding, AI bot stats.
Related MCP Servers
- AlicenseAqualityBmaintenanceProvides comprehensive tools for real-time DNS queries across 53 record types, global propagation checks, and SSL certificate analysis. It also enables domain security scans for SPF/DKIM/DMARC configurations and HTTP uptime monitoring.88822Apache 2.0
- AlicenseBqualityBmaintenanceEnables interaction with the NameSilo Domain API through 67 tools for domain registration, transfers, DNS management, contacts, privacy, forwarding, email, portfolios, account funds, marketplace, and auctions.67MIT
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive domain and DNS management through the Porkbun API, including domain registration checks, DNS record operations, URL forwarding, DNSSEC configuration, and SSL certificate management. Provides 27 tools for complete domain administration through natural language interactions.3MIT
- AlicenseCqualityDmaintenanceProvides a comprehensive suite of SEO and web utility tools for domain analysis, keyword tracking, SERP data, and technical site audits. It enables users to perform various tasks such as checking domain age, WHOIS information, and website technology stacks.34MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
The set has several near-duplicate or heavily overlapping tools: initiateTransfer and transferDomain appear to do the same thing, and generateDomainSuggestions, bulkDomainSuggestions, suggestAlternatives, spinDomainWords, and addPrefix/addSuffixToDomain all occupy suggestion space. Account/profile tools like getAccountSummary, getMyProfile, getRecentActivity, and getMyAuditLogs also blur together.
Many tools follow verb_noun camelCase (createDnsRecord, listInvoices, updateContact), but the broader set mixes styles: osirAppCreateUpload vs osirAppList vs osirAppStatus, plus inconsistent verbs like check/verify/validate/preview for similar lookup actions. The naming is readable but not predictable across the full surface.
105 tools is an extreme count for any single MCP server, even one spanning domain registration, DNS, VPS, email, billing, app deployment, and site publishing. The surface would be far more coherent split into focused servers by domain.
Core domain, DNS, billing, VPS, mail, and app deployment workflows are broadly covered. However, there are notable gaps: no way to update or reassign the contacts on an existing domain, no update operation for host/glue records, and no VPS power operations like reboot or stop outside the external control panel.