Contabo (VPS) MCP Server
Server Details
Contabo API (v1.0.0) as MCP tools for cloud provisioning, and management. Powered by HAPI MCP server
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- la-rebelion/hapimcp
- GitHub Stars
- 7
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 2.9/5 across 124 of 124 tools scored. Lowest: 1.1/5.
Many tools have clearly distinct CRUD roles per resource, but there are several confusing overlaps: start/stop/restart/shutdown/rescue are similar lifecycle actions, and there are duplicate audit tools like retrieveImageAuditsList and retrieveImageAuditsList1 (one even mislabeled as DNS Zones audit). Additionally, retrieveTagAuditsList appears to duplicate retrieveAssignmentsAuditsList, and updateDnsZoneRecord incorrectly says 'Create resource record'. These overlaps and mislabeled descriptions make it hard to pick the right tool.
The naming is a mix of camelCase verb_noun patterns, but inconsistent. Some tools use 'retrieveXList' while others use 'listX', some use 'Cancel' with a capital letter, and 'tool_search' uses snake_case. Numeric suffixes like 'retrieveImageAuditsList1' and verbs like 'patchInstance' instead of 'updateInstance' further break consistency.
With 124 tools, this is an extremely large tool surface for an MCP server. Even for a broad cloud provider API, this overwhelms an agent's context and selection capabilities. The number far exceeds reasonable scoping and creates unnecessary selection overhead.
The tool set covers a wide range of resources thoroughly: instances, snapshots, images, private networks, object storage, DNS, domains, tags, roles, users, secrets, and audits. Most resources have create/retrieve/update/delete lifecycle operations, and there are extensive audit history tools. Minor gaps exist (e.g., no explicit instance deletion besides cancel, no separate firewall management beyond upgradeInstance), but overall the surface is quite complete for its domain.
Available Tools
124 toolsassignInstancePrivateNetworkAdd instance to a Private NetworkCDestructiveInspect
Add instance to a Private Network - Add a specific instance to a Private Network
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| privateNetworkId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate destructive behavior (destructiveHint: true), and the description adds no extra context about side effects, idempotency, or what happens if the instance is already assigned. The description simply repeats the action without providing any behavioral details.
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 redundant, repeating the same idea twice ('Add instance to a Private Network' and 'Add a specific instance to a Private Network'). This wastes space without adding meaningful information, making it less concise than a single well-worded sentence would be.
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 tool with no output schema and minimal annotation, the description is severely incomplete. It does not mention return values, error conditions, prerequisites (e.g., existing network or instance), or any consequences of the operation. This is insufficient for an agent to safely and correctly use 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?
The schema has no parameter descriptions (0% coverage), and the description does not explain any of the parameters. It only mentions 'instance' and 'private network', which are already obvious from the parameter names, and gives no clarity on x-request-id or x-trace-id. The description fails to compensate for the missing schema metadata.
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 ('Add') and the resources involved ('instance' and 'Private Network'), making it obvious what the tool does. It also distinguishes from the sibling tool 'unassignInstancePrivateNetwork' by describing the opposite operation.
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 guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. For example, it does not mention the sibling 'assignIp' or 'createAssignment' tools, making it unclear what unique scenario this tool is for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assignIpAssign a VIP to an VPS/VDS/Bare MetalCDestructiveInspect
Assign a VIP to an VPS/VDS/Bare Metal - Assign a VIP to a VPS/VDS/Bare Metal using the machine id.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| resourceId | Yes | ||
| x-trace-id | No | ||
| resourceType | Yes | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, so the agent knows it's a mutating operation. However, the description adds no further behavioral context about what changes occur (e.g., whether existing VIPs are replaced, if downtime is expected, or if the resource must be stopped).
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 very short, but the second sentence redundantly restates the first with only 'using the machine id' added. It could be more concise by merging into one sentence without loss of 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?
As a destructive mutation with no output schema, no parameter details, and no usage guidance, the description is insufficient for an agent to understand the full scope of the operation. It lacks information about preconditions, side effects, and postconditions.
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 clarifies that 'resourceId' is the 'machine id' and hints at the resourceType enum (VPS/VDS/Bare Metal), but leaves ip format, header requirements, and other parameters unexplained.
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 ('Assign a VIP') and the target resource type ('VPS/VDS/Bare Metal'), which distinguishes it from read-only tools. However, it doesn't differentiate from sibling tools like createAssignment or unassignIp, which could also involve assignments.
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 on when to use this tool versus alternatives, nor any prerequisites or conditions (e.g., IP availability, resource state). The description simply restates the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bulkDeleteDnsZoneRecordsBulk delete DNS zone recordsCDestructiveInspect
Bulk delete DNS zone records - Delete multiple zone records from a DNS Zone
| Name | Required | Description | Default |
|---|---|---|---|
| zoneName | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| bulkDeleteDnsZoneRecordsBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose destructiveHint=true and readOnlyHint=false, but the description adds no further behavioral context—no mention of irreversibility, impact on DNS resolution, required permissions, or side effects. It simply restates the delete operation without elaborating on consequences beyond what annotations already signal.
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 extremely short and free of unnecessary words, which is concise. However, it largely repeats the title and offers no additional structure or information. It is not bloated, but it also doesn't earn its place by adding value beyond the 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 tool has 4 parameters, no output schema, and minimal annotations, the description is severely incomplete. It provides no context about return values, error cases, required headers, or the effects of bulk deletion. The description offers only a trivial statement of purpose, leaving the agent without essential operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no parameter details. It does not explain zoneName, x-request-id, or the structure of the request body beyond what is already in the schema. The description fails to compensate for the lack of schema descriptions, leaving parameter meaning largely unexplained.
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 (delete), the resource (DNS zone records), and the bulk nature, distinguishing it from sibling deleteDnsZoneRecord which targets a single record. The phrasing 'Delete multiple zone records from a DNS Zone' is specific and 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 word 'bulk' implies use when deleting multiple records, but there is no explicit guidance on when to choose this tool over alternatives like deleteDnsZoneRecord, nor any exclusions or prerequisites. Usage context is only implied by the name and phrase 'multiple zone records'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancelDomainCancel a specific domainCDestructiveInspect
Cancel a specific domain - Cancel a specific domain
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| cancelDomainBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is known. The description adds no additional behavioral details such as irreversibility, confirmation steps, or consequences beyond the action itself, so it provides no value beyond the structured 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 description is two identical phrases ('Cancel a specific domain - Cancel a specific domain'), which is redundant and wastes the second sentence. It is concise in length but under-specified, and the repetition detracts from clarity.
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 destructive cancellation operation with no output schema and a nested request body. The description provides no information about return values, side effects, prerequisites, or how to specify the domain. It is far too minimal to be contextually complete for an agent.
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 does not mention any of the four parameters or the nested cancelDomainBody fields. The description adds no meaning to the input schema, leaving the agent without any semantic context for domain, x-request-id, x-trace-id, or cancelDomainBody.
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 the action clearly ('Cancel a specific domain'), but it is essentially a repetition of the title and does not distinguish this tool from siblings like cancelInstance or revokeCancelDomain. It is not vague, but it adds no detail about the scope or process beyond the resource being acted upon.
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 on when to use this tool vs alternatives, prerequisites, or what happens after cancellation. The description is purely a statement of the operation and gives no contextual cues for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancelInstanceCancel specific instance by idADestructiveInspect
Cancel specific instance by id - Your are free to cancel a previously created instance at any time.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| cancelInstanceBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is known. The description adds the claim 'at any time,' implying no restriction, but doesn't disclose post-cancellation effects, reversibility, or idempotency. Minimal extra value beyond 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 description is very short and front-loaded with the purpose. However, the second clause 'Your are free to cancel...' is grammatically flawed ('Your' instead of 'You') and adds little substance, slightly reducing efficiency.
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 four parameters, no output schema, and a destructive operation, a one-line description is insufficient. It does not explain the body parameter, prerequisites (e.g., instance state), or expected result, leaving significant gaps for an agent to invoke 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%, and the description only references 'by id' (instanceId). It fails to explain the required cancelInstanceBody (containing cancelDate) or x-request-id. The description does not 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?
The description uses the verb 'Cancel' with the resource 'specific instance by id', clearly distinguishing from other cancellation tools (cancelDomain, CancelObjectStorage). It unambiguously states the action and target.
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?
'You are free to cancel a previously created instance at any time' provides clear context that cancellation is permitted without temporal restrictions. It doesn't explicitly exclude alternatives (e.g., stop/shutdown) or mention prerequisites, but the context is sufficient for most usage cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
CancelObjectStorageCancels the specified object storage at the next possible dateBDestructiveInspect
Cancels the specified object storage at the next possible date - Cancels the specified object storage at the next possible date. Please be aware of your contract periods.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| objectStorageId | Yes | ||
| CancelObjectStorageBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds meaningful context by specifying that cancellation happens at the next possible date and warns about contract periods, going beyond the basic destructive flag. It also correctly aligns with 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 description opens with a clear sentence but then repeats the exact same phrase after a dash, creating unnecessary redundancy. While the warning about contract periods is useful, the duplication wastes space and undermines conciseness.
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 has 4 parameters, no output schema, and only minimal annotation coverage, the description is inadequate. It lacks parameter explanations, details about cancellation behavior, and any consequences beyond the contract warning. This is a destructive operation that requires more thorough disclosure.
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 has 0% description coverage, and the description does not compensate by explaining any of the four parameters. It fails to mention objectStorageId, x-request-id, or the cancelDate body field, leaving agents without essential guidance on how to construct a valid request.
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 ('Cancels'), the resource ('object storage'), and a specific condition ('at the next possible date'), effectively distinguishing it from sibling tools like cancelInstance or updateObjectStorage. The verb and resource are 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?
There is no guidance on when to use this tool versus alternatives such as cancelInstance or updateObjectStorage. The warning about contract periods is a cautionary note, not a usage directive. No exclusions or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirmDomainTransferOutConfirm transfer out for a domainCDestructiveInspect
Confirm transfer out for a domain - Confirm transfer out for a domain
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false, but the description adds no behavioral context. For a destructive action, it does not disclose potential consequences, irreversibility, or any side effects of confirming a transfer out.
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 repetitive, saying the same phrase twice separated by a dash. This is not concise; it is padded and provides no structural benefit. It is under-specified rather than efficiently written.
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 minimal annotations, the description should explain the domain transfer flow, what confirming entails, and how it relates to siblings. It does none of this, leaving a significant gap in operational understanding.
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 provides zero detail about the parameters (domain, x-request-id, x-trace-id). The agent gets no help understanding what 'domain' should be or what the required UUID x-request-id represents.
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 restates the title exactly ('Confirm transfer out for a domain') without adding any new information. It does clearly state the action, but it fails to distinguish this tool from closely related siblings like revokeDomainTransferOut, making the purpose ambiguous in 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?
There is no guidance on when to use this tool versus the many sibling tools (e.g., revokeDomainTransferOut, getAuthCode). It also lacks any context about the domain transfer workflow or prerequisites, leaving the agent with no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createAssignmentCreate a new assignment for the tagCDestructiveInspect
Create a new assignment for the tag - Create a new tag assignment. This marks the specified resource with the specified tag for organizing purposes or to restrict access to that resource.
| Name | Required | Description | Default |
|---|---|---|---|
| tagId | Yes | ||
| resourceId | Yes | ||
| x-trace-id | No | ||
| resourceType | Yes | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the operation is destructive and not read-only. The description adds useful context by explaining that the assignment may restrict access to the resource, which is not apparent from annotations alone. However, it does not disclose potential side effects like idempotency, duplicate handling, or whether existing assignments are overwritten.
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 sentences, but the first sentence is essentially a restatement of the title, and the second sentence is slightly wordy. It could be compressed into one concise sentence without losing key 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 creation tool with 5 parameters, no output schema, and minimal behavioral annotations, the description leaves significant gaps. It does not mention what the response contains, what happens if the resource already has the tag, or any prerequisites. The access-restriction note is helpful but insufficient for a full understanding.
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 must compensate for undocumented parameters. It only vaguely refers to 'the specified resource' and 'the specified tag' without mapping to actual parameters (tagId, resourceId, resourceType, etc.). No details are given about allowed values, formats, or the meaning of resourceType, leaving the agent to guess.
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 that the tool creates a new tag assignment, marking a resource with a tag for organizing or access restriction purposes. This distinguishes it from sibling tools like createTag (which creates the tag itself) and deleteAssignment. However, the opening phrase is a near-verbatim repeat of the title, adding minor redundancy.
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 to attach a tag to a resource, but it provides no explicit guidance on when to use it versus other assignment tools (e.g., assignIp, assignInstancePrivateNetwork) or any prerequisites such as the tag and resource needing to exist. 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.
createCustomImageProvide a custom imageADestructiveInspect
Provide a custom image - In order to provide a custom image please specify an URL from where the image can be directly downloaded. A custom image must be in either .iso or .qcow2 format. Other formats will be rejected. Please note that downloading can take a while depending on network speed resp. bandwidth and size of image. You can check the status by retrieving information about the image via a GET request. Download will be rejected if you have exceeded your limits.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createCustomImageBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-read-only, destructive operation; the description adds valuable behavioral details: format restrictions, rejection of other formats, asynchronous download with status check via GET, and quota-based rejection. This goes beyond the annotations but does not address all potential side effects.
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 long, front-loaded with the core action, and every sentence contributes (format constraint, timing, status check, limits). It is slightly verbose but not wasteful.
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 output schema and a nested body parameter, the description covers the key user-facing concerns: required URL, supported formats, potential delays, monitoring via GET, and quota limits. It does not specify the response shape but implies the created resource can be retrieved.
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 provides descriptions for all parameters, so the baseline is 3. The description adds crucial semantics for the 'url' parameter by specifying direct download URL and format constraints. It does not add meaning for name, osType, or version, but schema descriptions cover them sufficiently.
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 purpose: 'Provide a custom image' and explains the mechanism (URL download). It differentiates from siblings like createInstance or createSnapshot by focusing on custom image creation from an external URL. However, it does not explicitly contrast with 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?
The description provides clear procedural context: specify URL, accept .iso/.qcow2, and be aware of download time and limits. It does not explicitly state when to use this tool versus alternatives, and there are no exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createDnsZoneCreate DNS zoneCDestructiveInspect
Create DNS zone - Creates a new DNS zone for a customer
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createDnsZoneBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the description adds no additional behavioral context. It does not disclose the effects of creating a zone, any validation rules, or what happens to existing resources. The phrase 'for a customer' is too vague to provide meaningful transparency beyond the 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 description is very short but contains redundancy: 'Create DNS zone' repeats the title, and 'for a customer' adds little value. It is not overly verbose, but it wastes the opportunity to add essential context in its limited space.
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 too sparse for a tool with a nested request body and no output schema. It omits details like valid zone naming conventions, whether the zone is created empty or with default records, and what the response contains. Given the complexity of the schema and lack of output schema, the description is inadequate for reliable 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 0%, and the description does not compensate by explaining any parameters. It offers no insight into the required createDnsZoneBody or the zoneName format, forcing the agent to rely on the schema alone, which is minimal. The only hint is the word 'zone' in the description, which is already evident.
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 ('Create') and the resource ('a new DNS zone for a customer'), which directly aligns with the tool name and distinguishes it from siblings like createDnsZoneRecord. The verb and resource are specific and 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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, such as needing a customer or domain, nor any comparison to related tools like createDnsZoneRecord or deleteDnsZone. The agent must infer usage entirely from the name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createDnsZoneRecordCreate DNS zone recordCDestructiveInspect
Create DNS zone record - Create resource record in a zone
| Name | Required | Description | Default |
|---|---|---|---|
| zoneName | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createDnsZoneRecordBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the annotations. It does not disclose idempotency, whether duplicate records are allowed, validation rules, or potential side effects, despite having a destructiveHint annotation that only hints at state modification.
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 short sentence with no redundancy, but it is under-specified rather than efficiently concise. It restates the title without adding substantive detail, so it barely meets the conciseness bar.
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 complex tool with a nested request body, required fields, and type-dependent parameters, yet the description offers no explanation of record types, field requirements, or return behavior. With no output schema, the agent is left without essential context, making the description almost useless 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 0%, and the tool description itself explains none of the four parameters or the nested body structure. The meaning of fields like type, ttl, prio, and data, and their interdependencies, remains completely undocumented.
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 creates a resource record in a DNS zone, using a specific verb and resource. It does not, however, explicitly differentiate itself from similar sibling tools like updateDnsZoneRecord or createPtrRecord, so it falls short of a 5.
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 on when to use this tool versus alternatives. It does not mention prerequisites (e.g., an existing zone), nor does it reference update/delete/retrieve counterparts or the separate createPtrRecord tool, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createHandleCreate specific handleDDestructiveInspect
Create specific handle - Create specific handle
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createHandleBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a write operation (readOnlyHint=false) with destructive intent (destructiveHint=true), and the description does not contradict them. However, the description adds no behavioral context beyond what the annotations provide, such as side effects, permissions, or idempotency.
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 extremely short but this is under-specification, not conciseness. It repeats the title verbatim and contains no structured information, wasting the opportunity to add useful content.
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 tool has a nested body object, multiple required fields, and no output schema, so the description must provide substantial context. It provides none, leaving agents completely uninformed about the purpose or expected 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?
The schema description coverage is 0%, so the tool description must compensate for the lack of parameter explanation. The description mentions no parameters at all, leaving the agent with no additional meaning beyond the raw schema field names and generic property 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 'Create specific handle - Create specific handle' is a direct repetition of the title and provides no additional specificity. It does not explain what a handle is, what 'specific' means, or how it differs from sibling create tools like createUser or createDnsZone.
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 on when to use this tool versus alternatives. The description lacks any mention of use cases, prerequisites, or exclusions, and does not reference any sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createInstanceCreate a new instanceCDestructiveInspect
Create a new instance - Create a new instance for your account with the provided parameters. ProductIdProductDisk Size V91VPS 10 NVMe75 GB NVMe V92VPS 10 SSD150 GB SSD V93VPS 10 Storage300 GB SSD V94VPS 20 NVMe100 GB NVMe V95VPS 20 SSD200 GB SSD V96VPS 20 Storage400 GB SSD V97VPS 30 NVMe200 GB NVMe V98VPS 30 SSD400 GB SSD V99VPS 30 Storage1000 GB NVMe V100VPS 40 NVMe250 GB NVMe V101VPS 40 SSD500 GB SSD V102VPS 40 Storage1200 GB NVMe V103VPS 50 NVMe300 GB NVMe V104VPS 50 SSD600 GB SSD V105VPS 50 Storage1400 GB SSD V106VPS 60 NVMe350 GB NVMe V107VPS 60 SSD700 GB SSD V8VDS S180 GB NVMe V9VDS M240 GB NVMe V10VDS L360 GB NVMe V11VDS XL480 GB NVMe V16VDS XXL720 GB NVMe
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createInstanceBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=false and destructiveHint=true, so the agent knows it is a state-changing operation. The description adds no additional behavioral details about side effects, asynchronous provisioning, or cost implications. The product table is useful for parameter selection but not for behavioral 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 opening sentence repeats 'Create a new instance' from the title, creating redundancy. The large HTML table is information-dense but makes the description verbose. Structure could be improved by front-loading the key purpose and placing the table separately.
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-parameter creation tool with no output schema, the description should explain return values, provisioning status, and cost implications. It only provides product selection details. The lack of usage guidelines and behavioral disclosure leaves significant 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 schema covers many parameters with descriptions (e.g., period, region, sshKeys), but the description adds significant value by mapping productId values to product names and disk sizes via the table. This is critical because the schema's productId description only mentions the default value. However, the description does not cover other parameters that lack schema context.
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 'Create a new instance for your account with the provided parameters,' which identifies the action and resource. It distinguishes from sibling create tools like createCustomImage or createSnapshot by specifically mentioning 'instance.' However, the title already says this, and the description could be more explicit about provisioning a compute instance.
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 like upgradeInstance, reinstallInstance, or patchInstance. There is no mention of prerequisites such as account verification or billing setup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createObjectStorageCreate a new object storageADestructiveInspect
Create a new object storage - Create / purchase a new object storage in your account. Please note that you can only buy one object storage per location. You can actually increase the object storage space via POST to /v1/object-storages/{objectStorageId}/resize
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createObjectStorageBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write/destructive operation (readOnlyHint=false, destructiveHint=true). The description adds useful behavioral context beyond annotations: the one-per-location purchase limit and the ability to resize via a POST endpoint. This clarifies constraints and follow-up actions, which is valuable 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 two sentences, front-loaded with the primary purpose, followed by a critical constraint and resizing alternative. Every sentence earns its place; there is no fluff 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?
The description covers the key limitation (one per location) and the resize path, but it omits other context such as required parameters, costing, permissions, or response format. Given the nested object schema and absence of output schema, more details could be expected, but the essential creation intent is clear.
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 provides zero information about parameters (region, totalPurchasedSpaceTB, autoScaling, displayName). Schema description coverage is 0% for top-level parameters, so the description must compensate but does not. Even though nested schema fields have descriptions, the tool description adds no semantics, leaving agents to inspect the schema for details.
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 ('Create / purchase a new object storage in your account') with a clear resource (object storage). It distinguishes from sibling tools like updateObjectStorage or CancelObjectStorage by focusing on creation/purchase. The verb and resource are explicit.
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 context on when to use the tool (to create/purchase object storage) and implicitly when not to (not for resizing), explicitly pointing to the resize endpoint for increasing space. It also notes a per-location limit, which guides usage decisions. It doesn't explicitly exclude alternatives but offers a clear path for scaling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createPrivateNetworkCreate a new Private NetworkCDestructiveInspect
Create a new Private Network - Create a new Private Network in your account.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createPrivateNetworkBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate a non-read-only, potentially destructive operation. The description adds no behavioral context beyond 'in your account', omitting details about side effects, prerequisites, invocation patterns, or regional requirements that would be useful beyond the structured 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 description is repetitive, saying essentially the same thing twice: 'Create a new Private Network - Create a new Private Network in your account.' It could be condensed to a single non-redundant sentence, so it is under-specified rather than genuinely concise.
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 moderate complexity (nested body object, required headers) and the lack of output schema, the description is notably incomplete. It provides no information about request/response behavior, required fields, regional defaults, or potential side effects, making it insufficient for reliable invocation without additional investigation.
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 reported as 0%, and the tool description does not mention any parameter names, types, or requirements. The description fails to compensate for the low schema coverage, leaving parameters like x-request-id, name, region, and description entirely unexplained outside 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 states the verb 'Create' and the resource 'Private Network', making the primary purpose clear. However, it is largely a restatement of the tool name and title, and it does not distinguish from sibling tools like patchPrivateNetwork or deletePrivateNetwork.
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 on when to use this tool versus alternatives such as patchPrivateNetwork or assignInstancePrivateNetwork. The description provides no usage context, prerequisites, or exclusions, leaving the agent without direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createPtrRecordCreate a new PTR Record using ip addressCDestructiveInspect
Create a new PTR Record using ip address - Create a new PTR Record using ip address. Only IPv6 can be created
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createPtrRecordBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the mutating nature is disclosed. The description adds the specific constraint that only IPv6 is supported, which is useful behavioral context. However, it does not mention potential side effects, duplicate handling, or required permissions beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is redundant, repeating the same sentence twice: 'Create a new PTR Record using ip address - Create a new PTR Record using ip address.' This wastes words without adding information. It is short but not concise in the sense of every sentence earning 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 has no output schema, and the description does not explain what the response looks like or any error handling. For a create operation, it should at least indicate what is returned or that the operation is irreversible. The IPv6 constraint is useful but incomplete for an agent to fully understand 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?
The description adds no parameter meaning beyond the input schema, which already contains descriptions for ip, ptr, and ttl. Schema description coverage is reported as 0%, meaning the description does not compensate for any gaps. The description mentions 'ip address' but nothing about ptr or ttl 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 clearly states the tool creates a PTR record using an IP address, and the resource (PTR record) is specific. It distinguishes itself from sibling tools like createDnsZoneRecord or updatePtrRecord. However, the description repeats the same phrase twice, which slightly detracts from clarity.
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 only usage guidance is the constraint 'Only IPv6 can be created'. There is no explicit guidance on when to use this tool versus alternatives like createDnsZoneRecord or updatePtrRecord, nor any mention of prerequisites or limitations beyond IPv6.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createRoleCreate a new roleCDestructiveInspect
Create a new role - Create a new role. In order to get a list availbale api enpoints (apiName) and their actions please refer to the GET api-permissions endpoint. For specifying resources please enter tag ids. For those to take effect please assign them to a resource in the tag management api.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createRoleBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation destructiveHint=true directly contradicts the description which states this creates a new role, implying a non-destructive creation operation. No additional behavioral context is provided beyond the title and description, so this is an annotation 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?
The description starts with a clear purpose but repeats 'Create a new role' unnecessarily. The additional sentences provide useful hints but are somewhat verbose and could be more concise. Overall, it is reasonably sized but not optimally structured.
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 nested objects and no output schema, so the description should cover behavior and return values, but it does not. It also fails to mention the effects of admin/accessAllResources flags or what happens after creation. The annotation contradiction further reduces 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 schema description coverage at 0%, the description must compensate for parameter explanations. It does clarify that `resources` should be tag IDs and that apiName/actions come from the GET api-permissions endpoint, but it omits meaningful details about `admin`, `accessAllResources`, and the permissions array structure that are needed for correct invocation.
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 begins with 'Create a new role - Create a new role.' which is a specific verb-object pair that clearly distinguishes it from sibling tools like updateRole and deleteRole. The repetition is redundant but does not obscure the purpose.
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 contextual usage guidance for permissions and resources, such as referring to the GET api-permissions endpoint and assigning tags via the tag management API. However, it does not explicitly state when to use this tool versus alternatives like updateRole, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createSecretCreate a new secretCDestructiveInspect
Create a new secret - Create a new secret in your account with attributes name, type and value. Attribute type can be password or ssh.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createSecretBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=true, meaning it is a write operation. The description adds no behavioral context beyond this, such as uniqueness constraints, overwrite behavior, or permission requirements.
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 brief but redundant, repeating 'Create a new secret' after the dash, which duplicates the title. It contains unnecessary repetition and could be more streamlined.
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, and the description does not mention response behavior, prerequisites, or value validation requirements. Given the tool's nested body and complex password pattern, the description is incomplete.
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% per context signals, and the description only lists parameter names without explaining their semantics. The statement 'Attribute type can be password or ssh' merely repeats the schema enum and does not aid in constructing valid values.
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 (create) and resource (secret), listing the attributes name, type, and value. It distinguishes from updateSecret by using 'create' as the verb, though it does not explicitly reference 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?
The description provides no guidance on when to use this tool versus alternatives such as updateSecret, deleteSecret, or generateClientSecret. It simply describes the operation without context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createSnapshotCreate a new instance snapshotCDestructiveInspect
Create a new instance snapshot - Create a new snapshot for instance, with name and description attributes
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createSnapshotBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint: true and readOnlyHint: false, but the description adds no behavioral context beyond what annotations provide. It does not explain any side effects, permissions required, or why the operation is considered destructive. With zero added context, the transparency is 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?
The description is short and the first sentence largely repeats the title, making it slightly redundant. The second sentence adds minimal new information. It is concise but not maximally efficient; every sentence should earn its place, and the repetition does not.
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 nested objects and no output schema, the description is too sparse. It does not explain the request body structure, required fields (name is required per schema), or what the response might be. The schema provides some detail, but the overall context remains incomplete.
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% for the top-level parameters, and the description only mentions 'name and description attributes' without explaining instanceId, request headers, or the body structure. The nested schema does provide descriptions for name and description, but the tool description does not compensate for the undocumented 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 clearly states the tool's purpose: creating a new snapshot for an instance. It uses specific verbs ('create') and identifies the resource (snapshot) and target (instance), distinguishing it from sibling tools like updateSnapshot, deleteSnapshot, or rollbackSnapshot.
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 guidance on when to use this tool versus alternatives, nor does it mention any prerequisites (e.g., instance must exist) or conditions. It simply states the action without contextual usage clues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createTagCreate a new tagCDestructiveInspect
Create a new tag - Create a new tag in your account with attribute name and optional attribute color.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createTagBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavioral context beyond the annotations. It does not mention permissions, side effects, idempotency, or return behavior. The annotation destructiveHint:true is not addressed or explained, and the description's claim that color is 'optional' conflicts with the schema, creating potential behavioral confusion.
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 redundant, starting with 'Create a new tag - Create a new tag...' and uses awkward phrasing like 'with attribute name.' The sentence wastes words and does not efficiently convey information beyond the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with a nested body and required headers, the description omits critical context: the request ID requirement, the actual body structure, error expectations, and any effect on existing tags. The description is too sparse to support correct invocation without relying on 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 description calls color 'optional,' but the input schema lists color as required. It also omits the 'description' parameter entirely. The schema's own parameter descriptions are useful, but the tool description actively misleads the agent about required fields, providing negative 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 explicitly states the action ('Create') and the resource ('a new tag'), and clarifies scope ('in your account'). Although it repeats the title, it leaves no ambiguity about the tool's purpose and distinguishes it from sibling tools like updateTag or deleteTag.
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 guidance on when to use this tool versus alternatives (e.g., updateTag, deleteTag) and no exclusions or prerequisites. The only contextual hint is 'in your account,' which does not help an agent decide between related tag operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createUserCreate a new userCDestructiveInspect
Create a new user - Create a new user with required attributes name, email, enabled, totp (=Two-factor authentication 2FA), admin (=access to all endpoints and resources), accessAllResources and roles. You can't specify any password / secrets for the user. For security reasons the user will have to specify secrets on his own.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| createUserBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read-only, destructive operation. The description adds context by stating that no passwords or secrets can be set, which is useful behavioral information. Yet it contains misleading attributes (admin, accessAllResources) not in the schema, and does not mention what happens on success or any side effects beyond creation.
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 repeats 'Create a new user' at the start, and the attribute list is redundant and partially inaccurate. The security note is useful but phrased twice ('You can't specify...' and 'the user will have to specify secrets'). It is not concise and contains 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?
With no output schema, the description should explain the return value or expected response, but it does not. It also omits the required 'locale' parameter from the body and ignores the required x-request-id header. The description is incomplete for a creation tool with these structured requirements.
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 description coverage is 0%, and the description fails to mention any of the actual top-level parameters (x-request-id, x-trace-id, createUserBody). Worse, it introduces parameters like 'admin' and 'accessAllResources' that are not present in the schema, and lists 'name' while the schema uses 'firstName' and 'lastName'. This actively misleads rather than clarifies.
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 creates a new user with a specific verb and resource, distinguishing it from sibling tools like updateUser and deleteUser. However, it inaccurately lists attributes such as 'name', 'admin', and 'accessAllResources' that do not exist in the schema, which slightly muddies the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the tool name and title: use this to create a user. The description adds a constraint that no passwords/secrets can be specified, which helps decide when not to use it. However, it does not explicitly state alternatives or when to use this over other create tools (e.g., createRole, createInstance).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteAssignmentDelete existing tag assignmentADestructiveInspect
Delete existing tag assignment - Tag assignment will be removed from the specified resource. If this tag is being used for access restrictions the affected users will no longer be able to access that resource.
| Name | Required | Description | Default |
|---|---|---|---|
| tagId | Yes | ||
| resourceId | Yes | ||
| x-trace-id | No | ||
| resourceType | Yes | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal destructive behavior (destructiveHint=true). The description adds valuable context about the consequence on access restrictions for affected users, which goes beyond the annotation and helps the agent anticipate side effects. No contradiction with 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 description is compact and front-loaded: the first sentence states the primary action, and the second adds a critical behavioral note. No unnecessary words 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 simple destructive delete, the description is adequate, with the access-impact warning providing key context. However, it lacks details like supported resource types, behavior for non-existent assignments, or error conditions. No output schema exists, so more completeness would be beneficial.
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 mentions 'specified resource' but does not explain the roles of tagId, resourceType, or resourceId, nor any constrained values. The parameter names are somewhat self-explanatory, but the description does not provide the needed clarity for correct invocation.
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 (delete) and the resource (tag assignment). It also differentiates from sibling tools like deleteTag by specifying 'tag assignment' removal from a resource. The first sentence is precise and 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 implies when to use the tool (when removing a tag assignment from a resource) but does not explicitly state alternatives or when not to use it. Given many similar sibling tools (e.g., unassignIp, deleteTag), more explicit guidance would improve clarity, but the description is not misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteDnsZoneDelete a DNS zone.CDestructiveInspect
Delete a DNS zone. - Delete a DNS Zone using zone name.
| Name | Required | Description | Default |
|---|---|---|---|
| zoneName | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The destructiveHint annotation already signals the destructive nature, but the description does not add any further behavioral context such as irreversibility, impact on associated records, or idempotency. It merely restates the use of zone name, which adds no transparency beyond the annotation.
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, but the second sentence ('Delete a DNS Zone using zone name') largely repeats the first, making it redundant. A single sentence would be equally informative without the 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 destructive tool with no output schema and minimal parameter documentation, the description is insufficient. It does not state that deleting a zone may cascade to all records, whether the operation is reversible, or what response status to expect. The lack of context on these aspects leaves the agent under-informed.
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 by explaining parameter meaning. The only mention is 'using zone name,' which is merely a restatement of the parameter name and does not clarify its format (e.g., FQDN vs. simple name) or purpose. The required x-request-id and optional x-trace-id are not explained at all.
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 (Delete) and the resource (DNS zone) in the first clause. It also distinguishes from sibling tools like deleteDnsZoneRecord by specifying 'DNS Zone' rather than a record, making 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 no guidance on when to use this tool versus alternatives such as deleteDnsZoneRecord or bulkDeleteDnsZoneRecords. It lacks any context about prerequisites or situations where deletion should be performed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteDnsZoneRecordDelete a DNS zone recordCDestructiveInspect
Delete a DNS zone record - Delete a DNZ Zone's record
| Name | Required | Description | Default |
|---|---|---|---|
| recordId | Yes | ||
| zoneName | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the destructive nature is known. The description adds no extra behavioral context such as irreversibility or cascading effects, but it does not contradict the annotations. Minimal additional value is provided.
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 but redundant, repeating the same idea twice with the second phrase containing a typo. It is not efficiently structured and wastes the space with an unclear paraphrase.
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 destructive tool with no output schema, no parameter descriptions, and no usage context. The description fails to mention what identifiers are needed, what the consequences are, or how it differs from related delete operations. It is severely 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 0%, and the description provides no explanation of the required parameters (recordId, zoneName, x-request-id). The agent is left without any semantic grounding for how to invoke the tool correctly.
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 action (Delete) and resource (DNS zone record), which is specific. It is essentially a restatement of the title, but it does distinguish from deleting a whole zone or a bulk operation. The typo 'DNZ' slightly detracts but does not obscure meaning.
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 on when to use this tool versus alternatives such as bulkDeleteDnsZoneRecords or updateDnsZoneRecord. It simply repeats the function without indicating context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteImageDelete an uploaded custom image by its idADestructiveInspect
Delete an uploaded custom image by its id - Your are free to delete a previously uploaded custom images at any time
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds the nuance that only 'previously uploaded custom images' are eligible, implying a scoping constraint. However, it does not disclose permanence or side effects beyond what the destructive hint implies, so it adds moderate value.
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 core purpose is in the first clause, and the second clause adds a short usage note. While there is a minor grammatical error ('Your are'), it remains concise and front-loaded with the essential meaning.
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 delete operation without output schema, the description plus annotations provide a reasonable understanding. However, the lack of parameter explanations for required headers and absence of any edge-case context (e.g., failure behavior, idempotency) leaves gaps for an agent fully 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?
The description mentions 'by its id' only, which maps to imageId. With schema description coverage at 0%, it fails to explain the required x-request-id header or the optional x-trace-id. These parameters are structurally present but their semantics are left entirely to the schema, making the description insufficient.
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 'Delete an uploaded custom image by its id' with a specific verb and resource, distinguishing it from sibling tools like createCustomImage, updateImage, and retrieveImage. The scope is unambiguous and matches the tool name and title.
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 adds 'You are free to delete a previously uploaded custom images at any time', explicitly indicating that this tool is for removing previously uploaded custom images without time restrictions. It does not explicitly name alternatives, but the purpose is clear enough to know when to use it unlike related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deletePrivateNetworkDelete existing Private Network by idADestructiveInspect
Delete existing Private Network by id - Delete existing Virtual Private Cloud by id and automatically unassign all instances from it
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| privateNetworkId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and readOnlyHint=false, which signals a destructive operation. The description adds a valuable behavioral detail beyond the annotations: that all instances are automatically unassigned upon deletion. This explains a key consequence that the annotations do not specify, enhancing transparency. It does not mention other potential effects like irreversibility or associated resource cleanup, but the annotation coverage lowers the bar.
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 sentences but contains redundancy: 'Delete existing Private Network by id' is repeated as 'Delete existing Virtual Private Cloud by id' in the same description. This could be condensed into one clear sentence. While it is relatively short, the repetition wastes an opportunity for additional 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 delete operation with no output schema, the description mentions the critical side effect (auto-unassignment of instances), which is essential. However, it omits other potentially relevant context such as whether the operation is permanent, any permission requirements, or the shape of the response. Given the tool's simplicity and the presence of annotations, the description is adequate but not comprehensive.
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 for its three parameters, so the description must compensate. It only reinforces that deletion is 'by id', implicitly referring to privateNetworkId, but does not explain the purpose of x-request-id or x-trace-id, nor does it clarify formatting or requiredness beyond the schema. This is insufficient for filling the schema's descriptive 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 clearly states the action: 'Delete existing Private Network by id', with a specific verb (delete), resource (Private Network/Virtual Private Cloud), and scope (by id). It also distinguishes this tool from siblings like patchPrivateNetwork and unassignInstancePrivateNetwork by noting the automatic unassignment of instances, which is a unique consequence not present in other 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 provides clear context for when to use this tool: when deleting a private network, and it implicitly communicates that prior unassignment of instances is unnecessary because the tool 'automatically unassign[s] all instances from it'. This informs the agent not to call unassignInstancePrivateNetwork separately. However, it does not explicitly name alternatives or exclusions, 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.
deletePtrRecordDelete a PTR Record using ip addressBDestructiveInspect
Delete a PTR Record using ip address - Delete a PTR Record using ip address. Only IPv6 can be deleted
| Name | Required | Description | Default |
|---|---|---|---|
| ipAddress | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive behavior (destructiveHint=true), and the description adds the useful constraint 'Only IPv6 can be deleted.' No other behavioral details are disclosed, but the annotation coverage lowers the burden.
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 repetitive, repeating 'Delete a PTR Record using ip address' verbatim before and after the dash. This redundancy wastes words, although the additional 'Only IPv6 can be deleted' is concise and valuable.
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 3 parameters and no output schema, yet the description provides minimal context. It does not explain the purpose of the required request ID header, error scenarios, or the outcome of a successful deletion, making it incomplete for an agent to use 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 0%, and the description only references the ipAddress parameter ('using ip address'). The required x-request-id and optional x-trace-id parameters are not explained, and the description does not compensate for the lack of 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 action: delete a PTR Record using an IP address. It distinguishes from sibling tools like createPtrRecord and updatePtrRecord by using the specific verb 'delete' and adding the constraint 'Only IPv6 can be deleted'.
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 usage for deleting IPv6 PTR records, but does not explicitly mention when to use this tool versus alternatives (e.g., updatePtrRecord for modifications). The IPv6-only constraint is a clear limitation, but no alternative is suggested for IPv4 records.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteRoleDelete existing role by idADestructiveInspect
Delete existing role by id - You can't delete a role if it is still assigned to a user. In such cases please remove the role from the users.
| Name | Required | Description | Default |
|---|---|---|---|
| roleId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive (destructiveHint=true), and the description adds a meaningful behavioral limitation (role must not be assigned) beyond what annotations provide. It does not contradict annotations and covers an important precondition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the primary action, followed by a critical constraint. Every word earns its place; no 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?
For a simple delete operation, the description covers the essential action and the main failure mode. It lacks response/error details, but with no output schema and a destructive annotation, it is reasonably complete for 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?
With 0% schema description coverage, the description must explain parameters, but it only says 'by id.' The roleId parameter's purpose is inferable from the tool name, but the required x-request-id and optional x-trace-id are not explained at all, leaving the agent to guess their roles.
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: 'Delete existing role by id' – a specific verb and resource that immediately distinguishes it from sibling tools like createRole, updateRole, and retrieveRole. No ambiguity.
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 key usage constraint: a role cannot be deleted while assigned to a user, and advises removing it from users first. This gives clear situational context, though it does not explicitly name alternative tools for unassignment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteSecretDelete existing secret by idADestructiveInspect
Delete existing secret by id - You can remove a specific secret from your account.
| Name | Required | Description | Default |
|---|---|---|---|
| secretId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a destructive operation. The description adds minimal extra context ('from your account') but does not disclose additional consequences such as irreversibility or impact on dependent resources. This aligns with the expected baseline given annotation coverage.
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, concise sentence that front-loads the core action and resource. It contains no redundant information and every word 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?
Given the simple nature of the operation, the description plus annotations provide a basic understanding. However, it does not mention prerequisites, side effects, or any additional behavior beyond the destructive action, leaving gaps for the agent about what happens when the secret is deleted or whether other resources are affected.
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 has 0% description coverage, so the description must compensate. It only mentions 'by id' which maps to secretId, but provides no further explanation of the secretId format or the purpose of the required x-request-id or optional x-trace-id parameters. This is insufficient to guide the agent on how to fill the parameters correctly.
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 purpose with a specific verb ('delete') and resource ('secret'), and explicitly identifies the key parameter ('by id'). It distinguishes itself from sibling tools like createSecret and updateSecret by focusing on removal of an existing secret.
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 for when to use this tool: to remove a specific secret from the account. It does not explicitly mention alternative tools or exclusion criteria, but the purpose is unambiguous given the tool name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteSnapshotDelete existing snapshot by idCDestructiveInspect
Delete existing snapshot by id - Delete existing instance snapshot by id
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| snapshotId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate destructiveHint=true and readOnlyHint=false, aligning with the 'Delete' description. The description adds minimal behavioral context, merely specifying the resource type (instance snapshot) but not disclosing irreversibility, permission requirements, or side effects. Since annotations cover the destructive nature, a score of 3 is appropriate.
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 redundant, repeating the same statement twice separated by a dash. It could be shortened to a single clause. The phrasing is not efficiently structured and does not earn its place, as the second half adds no new 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 destructive operation with multiple required parameters and no output schema, the description is severely incomplete. It does not explain the implications of deleting a snapshot, whether the instance must be stopped, or what happens to dependent resources. The sparse description fails to provide necessary operational context for a high-risk action.
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 must compensate by explaining the parameters, but it only mentions 'by id' without clarifying which parameter is which. The input schema lacks descriptions for instanceId, snapshotId, x-request-id, and x-trace-id, and the tool description does nothing to bridge this gap, leaving the agent guessing about required identifiers and headers.
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 the specific verb 'Delete' and the resource 'existing snapshot by id', and further clarifies it is an 'instance snapshot by id'. This clearly distinguishes it from sibling tools like retrieveSnapshot, rollbackSnapshot, and updateSnapshot, which serve 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?
The description provides no guidance on when to use this tool versus alternatives such as rollbackSnapshot or updateSnapshot. It does not mention prerequisites, conditions for deletion, or cases where deletion is inappropriate, leaving the agent without clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteTagDelete existing tag by idADestructiveInspect
Delete existing tag by id - Your tag can be deleted if it is not assigned to any resource on your account. Check tag assigments before deleting tag.
| Name | Required | Description | Default |
|---|---|---|---|
| tagId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, so mutation is expected. The description adds valuable behavioral context: deletion is contingent on the tag not being assigned to any resource, and it warns to check assignments first. This goes beyond the annotation by explaining the condition for success, though it doesn't specify the exact outcome if the tag is assigned or the 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?
The description is extremely concise: two short sentences that front-load the primary action and then add the key precondition. Every word earns its place, with no fluff or repetition of schema 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 simple delete operation with no output schema, the description covers the essential precondition (must be unassigned) and a recommended pre-check. However, it does not explain what happens after a successful deletion (e.g., response format, permanent removal), nor does it describe error cases or the purpose of the required request ID headers. It is adequate but leaves some 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 0%, so the description must compensate for parameter meanings. It only clarifies that deletion is 'by id', which maps to tagId, but it does not explain the required x-request-id or optional x-trace-id parameters. These could be standard headers, but the description does not mention them, leaving them under-specified given the complete lack of 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 states 'Delete existing tag by id' which clearly identifies the action (delete) and resource (tag) and distinguishes it from sibling tools like createTag, updateTag, and retrieveTag. The method of identification (by id) is also explicit, leaving no ambiguity about the tool's purpose.
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 precondition: 'Your tag can be deleted if it is not assigned to any resource on your account.' It also advises checking tag assignments before deleting. This offers practical guidance on when deletion is allowed, though it does not explicitly mention alternatives or when to use other tag operations. The guidance is sufficient for safe usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteUserDelete existing user by idADestructiveInspect
Delete existing user by id - By deleting a user he will not be able to access any endpoints or resources any longer. In order to temporarily disable a user please update its enabled attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive (destructiveHint=true) and not read-only. The description adds meaningful context by stating the consequence: the user will no longer access endpoints or resources. It also provides the alternative update behavior, going beyond the annotation flags.
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 sentences, front-loaded with the primary purpose, and every sentence adds value. The second sentence provides essential usage guidance without wordiness.
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 action, the description covers the main consequence and the alternative, which is sufficient given the annotations and simple schema. It could mention permanence more explicitly, but 'any longer' implies irreversibility. Overall it's complete for an agent to decide.
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 description coverage is 0% and the description does not explain the parameters. It only says 'by id' without naming the 'userId' parameter or clarifying the required 'x-request-id'. It fails to compensate for the lack of parameter information.
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 'Delete existing user by id', which is specific and distinguishes it from sibling tools like updateUser, retrieveUser, or createUser. The verb 'delete' and resource 'user' are 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 provides an alternative for temporary disablement: 'In order to temporarily disable a user please update its `enabled` attribute.' This gives clear guidance on when not to use the delete tool and directs to the appropriate action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generateClientSecretGenerate new client secretCDestructiveInspect
Generate new client secret - Generate and get new client secret.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false, so the agent knows it is a mutating operation. However, the description adds no extra context such as whether existing secrets are invalidated, required permissions, or what the response contains. The 'get' part implies a returned secret, but that is not elaborated.
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 extremely short, but it is under-specified rather than concise. It repeats the title and adds only 'get', which does not earn its place. There is no useful information, so the brevity is a deficiency.
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 tool with no output schema and 0% parameter documentation, the description is grossly incomplete. It does not explain the purpose, behavior, prerequisites, or return value. The tool's place among many secret-related siblings is not clarified, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters (x-trace-id, x-request-id) with 0% description coverage in the schema. The description does not mention these parameters at all, leaving the agent to guess their purpose or whether they are headers or payload fields. This is a complete failure 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 the action (generate) and resource (client secret), but it essentially rephrases the title without adding clarifying detail. It does not distinguish this from sibling tools like createSecret or regenerateObjectStorageCredentials, nor does it explain what a client secret is or its scope.
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 guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical scenarios, or why one would choose this over other secret-related tools. No exclusions or alternative references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getAuthCodeGet auth code for a domainCDestructiveInspect
Get auth code for a domain - Get auth code for a domain by id
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare destructiveHint=true and readOnlyHint=false, but the description adds no context about side effects, such as whether obtaining the code invalidates existing codes or requires domain transfer eligibility. It does not contradict the annotations, but it also provides no additional 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 short but redundant, repeating the title twice. The two phrases convey nearly identical information, and the structure is not front-loaded with distinguishing details. It could be tighter and more informative in a single sentence.
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 destructive hint and absence of an output schema, the description is incomplete. It doesn't state what the auth code is used for, how to identify the domain (by name or ID), or any prerequisites. The tool is more complex than the description suggests.
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 does not explain any parameters. The mention of 'by id' is insufficient; the 'domain' parameter could be an ID or name, and the required headers (x-request-id) are entirely unexplained.
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 the tool retrieves an auth code for a domain, which is a specific verb+resource. However, the phrase 'by id' is ambiguous because the parameter is named 'domain' rather than 'domain_id', and the description is repetitive, restating the title without adding clarity.
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 on when to use this tool versus alternatives. Among siblings there are other domain-related operations (e.g., retrieveDomain, cancelDomain) but no mention of when an auth code is needed, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getObjectStorageCredentialsGet S3 compatible object storage credentials.CRead-onlyInspect
Get S3 compatible object storage credentials. - Get S3 compatible object storage credentials for accessing it via S3 compatible tools like aws cli.
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | ||
| x-trace-id | No | ||
| credentialId | Yes | ||
| x-request-id | Yes | ||
| objectStorageId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and destructiveHint=false, which covers the safety profile. The description adds minimal behavioral context (that credentials are for S3 tool access) but does not disclose potential response contents, sensitivity of data, or any other behavioral traits beyond what annotations state.
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 repetitive: the first sentence nearly duplicates the title, and the second sentence adds only slight context. It is under-specified rather than concise, wasting the first sentence on redundancy without providing meaningful structure.
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 five parameters, no output schema, and zero parameter documentation, the description is inadequate. It provides no information about request structure, expected response format, or how credentials are scoped to the object storage, making the tool difficult to invoke 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% and the description does not explain any of the five parameters (userId, objectStorageId, credentialId, x-request-id, x-trace-id). The description fails to compensate for the schema gap, leaving the agent to infer parameter semantics solely from names.
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 retrieves S3-compatible object storage credentials, with a specific verb and resource. However, it does not distinguish itself from sibling tools like listObjectStorageCredentials or regenerateObjectStorageCredentials, so it lacks 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?
The phrase 'for accessing it via S3 compatible tools like aws cli' implies a use case, but there is no explicit guidance on when to choose this tool over alternatives like list or regenerate credentials. No exclusions or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listDomainsList all domainsCRead-onlyInspect
List all domains - List and filter all your domains
| Name | Required | Description | Default |
|---|---|---|---|
| sld | No | ||
| tld | No | ||
| page | No | ||
| size | No | ||
| status | No | ||
| orderBy | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds the notion of filtering but not specific behavioral details such as pagination, sorting, or return format. Consistent with annotations, 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?
The description is only one sentence but redundantly states 'List all domains' and 'List and filter all your domains', covering the same idea twice. It could be condensed to a single non-repetitive sentence without losing meaning.
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 8 parameters, one enum, no output schema, and zero description coverage, the description is far from complete. It does not mention response structure, pagination behavior, filtering fields, or any requirements like the x-request-id header, leaving the agent under-informed for effective 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 0%, and the description does not explain any of the 8 parameters (sld, tld, page, size, status, orderBy, x-trace-id, x-request-id). Agents have no guidance on how to construct filters or pagination parameters, making this a critical 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 clearly states the tool lists and filters domains, using the verb 'List' and resource 'domains'. The scope 'all your domains' implies a collection-level operation, distinguishing it from single-domain tools like retrieveDomain, though not explicitly naming a 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 conveys that this is the tool for listing/filtering domains, but provides no explicit guidance on when to use it versus alternatives like retrieveDomain or validateDomainAvailability. The usage context is implied by the tool's name and purpose but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listHandlesList all handlesCRead-onlyInspect
List all handles - List and filter all your handles
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| size | No | ||
| search | No | ||
| orderBy | No | ||
| lastName | No | ||
| countries | No | ||
| firstName | No | ||
| handleType | No | ||
| x-trace-id | No | ||
| showDefaults | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, lowering the bar. The description adds that it lists the user's own handles and supports filtering, but omits details like pagination, required request ID, or default 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 but repetitive: 'List all handles' duplicates the title and the second clause reiterates the same idea. It is concise in length but not in wording, lacking structural clarity.
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 list endpoint with 12 parameters and no output schema, the description does not explain pagination, return format, required headers, or how filters combine. This is insufficient 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?
With 0% schema parameter coverage, the description must compensate but only says 'filter', implying some parameters are filters without explaining specific ones. It does not clarify orderBy, page, size, search, or showDefaults 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 states the tool lists and filters handles, using a clear verb and resource. It distinguishes from retrieveHandle (singular) and mutation tools, but is somewhat redundant with the title.
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 on when to use this tool versus alternatives like retrieveHandle or setDefaultHandle. The description does not mention exclusions or provide context for selecting this over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listObjectStorageCredentialsGet list of S3 compatible object storage credentials for user.CRead-onlyInspect
Get list of S3 compatible object storage credentials for user. - Get list of S3 compatible object storage credentials for accessing it via S3 compatible tools like aws cli.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| userId | Yes | ||
| orderBy | No | ||
| regionName | No | ||
| x-trace-id | No | ||
| displayName | No | ||
| x-request-id | Yes | ||
| objectStorageId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds minimal context beyond that, only mentioning the S3-compatible tool access, but does not disclose pagination, filtering, or 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 redundant, repeating 'Get list of S3 compatible object storage credentials for user' nearly verbatim in both sentences. It could be condensed into one concise sentence without losing meaning.
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 has 9 parameters, no output schema, and zero parameter descriptions, the description is far from complete. It does not mention pagination, filter behavior, response format, or how to interpret the results, making it inadequate for an agent to invoke 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%, and the description does not explain any of the 9 parameters (e.g., page, size, orderBy, regionName). The phrase 'for user' adds no parameter insight, leaving the agent without guidance on required inputs like userId or optional filters.
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 gets a list of S3-compatible object storage credentials for a user, with a specific use case of accessing via S3 tools like aws cli. However, it does not differentiate from the sibling tool getObjectStorageCredentials, which likely retrieves a single credential.
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 a use case (accessing storage via S3-compatible tools) but gives no explicit guidance on when to use this tool versus alternatives like getObjectStorageCredentials, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orderDomainCreate or transfer a domainDDestructiveInspect
Create or transfer a domain - Create or transfer a domain
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| orderDomainBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, but the description adds no additional behavioral context. It does not elaborate on consequences, required ownership, or the transfer process, so the description fails to provide value beyond the 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 description is extremely short but under-specified, repeating the title without adding information. This is not effective conciseness; it's a placeholder.
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 a nested object schema with required properties, yet the description provides no context about domain creation vs. transfer, auth code requirements, or what the response contains. It is completely inadequate for an agent 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?
The description does not mention any parameters. With schema description coverage reported at 0%, the description offers no compensation, leaving agents to infer parameter meaning solely from the schema (which does have some descriptions, but the tool description itself is mute).
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 is a verbatim repetition of the title ('Create or transfer a domain'), making it a tautology. It states the action but provides no differentiation from related tools like updateDomain or confirmDomainTransferOut.
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 usage guidance is provided. The description does not specify when to use this tool versus createInstance, transfer alternatives, or any prerequisites such as handles or auth codes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
patchInstanceUpdate specific instanceDDestructiveInspect
Update specific instance - Update specific instance by instanceId.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| patchInstanceBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false, and the description merely repeats that it updates, adding no additional behavioral context such as side effects, scope of changes, or required permissions. It does not contradict annotations, but also provides no extra 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 two sentences that are nearly identical; the first sentence is redundant with the title, and the second repeats it with 'by instanceId'. This wastes the reader's attention without adding substantive 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 that there is no output schema and the tool has a nested body parameter, the description is far too sparse. It does not define the update semantics (partial vs full), the effect on the instance, or distinguish it from other update tools. An AI agent would have to guess at the body format and usage.
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 only references instanceId ('by instanceId'), ignoring patchInstanceBody, x-request-id, and x-trace-id. It fails to explain what fields can be patched (e.g., displayName) or the purpose of the headers.
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 restates the title verbatim ('Update specific instance') and only adds 'by instanceId', which is already evident from the schema. It does not clarify which fields are updatable or differentiate it from sibling tools like upgradeInstance or updateImage. This is a tautology.
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 usage guidance is provided. The description does not mention when to use this tool versus other instance-related operations (e.g., upgradeInstance, reinstallInstance), nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
patchPrivateNetworkUpdate a Private Network by idCDestructiveInspect
Update a Private Network by id - Update a Private Network by id in your account.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| privateNetworkId | Yes | ||
| patchPrivateNetworkBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false, which the description aligns with but adds almost nothing beyond 'in your account'. It does not disclose what fields will be updated, whether changes are reversible, or any side effects, so the behavioral coverage is minimal.
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 but redundant: 'Update a Private Network by id - Update a Private Network by id in your account' repeats the same content in two clauses. This is under-specification rather than concise writing; every sentence should add value, and the second part adds negligible 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 mutation tool with no output schema and two body parameters (name, description), the description is critically incomplete. It fails to state the update behavior, effect on existing fields, required header parameters, or any return value expectations. The tool's complexity is not addressed at all.
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 provides zero parameter detail. It does not mention that privateNetworkId identifies the target, that patchPrivateNetworkBody contains updatable fields like name and description, or that x-request-id is required. The schema's inline descriptions for body properties are not enough to compensate for the complete lack of parameter explanation in 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 action ('Update') and the resource ('a Private Network by id'), making the tool's purpose unambiguous. However, it does not distinguish this from sibling tools like createPrivateNetwork or deletePrivateNetwork beyond the implied update semantics, so it falls short of a 5.
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 on when to use this tool versus alternatives, no mention of prerequisites (e.g., existing private network), and no exclusions. The description simply repeats the tool's name and title, offering no contextual decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regenerateObjectStorageCredentialsRegenerates secret key of specified user for the S3 compatible object storages.CDestructiveInspect
Regenerates secret key of specified user for the S3 compatible object storages. - Regenerates secret key of specified user for the a specific S3 compatible object storages.
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | ||
| x-trace-id | No | ||
| credentialId | Yes | ||
| x-request-id | Yes | ||
| objectStorageId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The destructiveHint annotation signals that this operation is destructive, but the description adds no behavioral context such as invalidating the existing secret key, potential impact on integrations, or required permissions. It fails to disclose consequences beyond what the annotation already implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but poorly structured, containing two sentences where the second is a typo-laden restatement of the first ('the a specific'). It is repetitive and lacks a helpful structure, failing to earn 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 destructive operation with five parameters, no output schema, and no parameter descriptions, the description is severely underspecified. It provides no context about expected inputs, return values, or side effects, making it inadequate for an agent to invoke 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 has 0% parameter description coverage, and the description does not compensate. It vaguely references a 'specified user' and 'specific S3 object storages' but provides no meaning or format for required parameters like x-request-id, credentialId, or objectStorageId. This is a significant 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 clearly states the action (regenerate secret key) and resource (S3-compatible object storage for a user), but it is essentially a verbatim restatement of the title and does not distinguish this tool from siblings like generateClientSecret or getObjectStorageCredentials. The purpose is clear but no new information is added.
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 on when to use this tool, what prerequisites exist, or which alternative tools should be considered. The description only restates the action and does not mention scenarios, exclusions, or related commands.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reinstallInstanceReinstall specific instanceADestructiveInspect
Reinstall specific instance - You can reinstall a specific instance with a new image and optionally add ssh keys, a root password or cloud-init.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| reinstallInstanceBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, and the description doesn't contradict this. It adds some context about optional ssh keys, root password, and cloud-init, but doesn't disclose additional behavioral traits such as data loss, instance state requirements, or post-reinstall effects.
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 concise sentence that front-loads the core purpose and then lists optional parameters. No extraneous information or repetition of schema 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?
With annotations indicating destructiveness and a nested body schema, the description covers the primary action and optional parameters. However, it lacks details about what happens to existing data, the instance state, or the response format, which would be helpful given the lack 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?
The description mentions 'ssh keys, a root password or cloud-init', which aligns with sshKeys, rootPassword, and userData in the schema. However, it doesn't clarify that instanceId targets the specific instance or mention defaultUser/applicationId. The schema does include descriptions for nested properties, so the description adds marginal clarity but doesn't fully compensate for the 0% top-level 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 clearly states the tool's function: 'Reinstall specific instance' with a new image and optional customization. It uses a specific verb ('reinstall') and resource ('specific instance'), distinguishing it from siblings like createInstance or upgradeInstance.
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 for when to use the tool: to reinstall an existing instance with a new image. It doesn't explicitly name alternatives or exclusions, but the purpose is unambiguous enough that an agent can infer the appropriate scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
removeHandleRemove specific handleDDestructiveInspect
Remove specific handle - Remove specific handle
| Name | Required | Description | Default |
|---|---|---|---|
| handleId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations (destructiveHint=true) already indicate the destructive nature, but the description adds no context about effects, reversibility, or side effects. It offers nothing beyond what annotations already disclose, missing opportunities to clarify what 'remove' implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is unnecessarily redundant, repeating the same phrase twice. While it is short, the duplication wastes the limited space and violates the principle that every sentence should earn 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 destructive operation with no output schema, the description should clarify scope, permanence, and any related impacts. It does none of these. The tool appears straightforward, but the description is too minimal to be considered complete for 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 description coverage is 0% and the description does not mention any parameter. The agent gets no guidance on what handleId means or how to provide it, nor are the x-request-id/x-trace-id identifiers explained. This leaves parameter semantics entirely 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 is a direct restatement of the title ('Remove specific handle - Remove specific handle'), adding no new information. It is a tautology rather than an explanatory clarification, even though the underlying operation is clear from the phrase.
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 on when to use this tool versus alternatives like updateHandle or setDefaultHandle. There is no mention of prerequisites, exclusivity, or situations where another tool might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rescueRescue a compute instance / resource identified by its idADestructiveInspect
Rescue a compute instance / resource identified by its id - You can reboot your instance in rescue mode to resolve system issues. Rescue system is Linux based and its booted instead of your regular operating system. The disk containing your operating sytstem, software and your data is already mounted for you to access and repair/modify files. After a reboot your compute instance will boot your operating system. Please note that this is for advanced users.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| rescueBody | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: it explains that the rescue system is booted instead of the regular OS, the disk with user data is mounted for repair/modification, and a subsequent reboot restores the normal OS. This aligns with destructiveHint=true and readOnlyHint=false, providing valuable operational details.
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 paragraph that front-loads the purpose and then explains the rescue mode behavior. It is efficient, though it contains minor redundancy and a typo ('sytstem'). Every sentence contributes to understanding, making it appropriately sized.
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 core concept well but lacks operational specifics for a destructive, nested-object tool. It does not explain what parameters are needed (e.g., SSH keys or root password), prerequisites, or return behavior. Since there is no output schema, these details would help, but the description remains adequate at a high level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds almost no parameter-level information. It only says 'identified by its id', hinting at instanceId but not naming it or explaining rescueBody, sshKeys, userData, or rootPassword. With schema description coverage at 0%, the description fails to compensate, leaving agents without clear guidance on required inputs.
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 purpose: 'Rescue a compute instance / resource identified by its id' and explains the rescue mode reboots the instance into a Linux-based system to resolve system issues. This distinguishes it from sibling tools like restart or reinstallInstance by emphasizing the temporary boot into a rescue OS with the disk mounted.
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 for when to use the tool: 'You can reboot your instance in rescue mode to resolve system issues' and mentions it is for advanced users. It does not explicitly name alternatives or state when not to use it, but the context is sufficient for basic usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resendEmailVerificationResend email verificationCDestructiveInspect
Resend email verification - Resend email verification for a specific user
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | ||
| x-trace-id | No | ||
| redirectUrl | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false, but the description adds no behavioral context. It does not explain what happens when the email is resent (e.g., whether previous links are invalidated), any permissions required, or potential side effects.
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 repetitive, essentially repeating the title ('Resend email verification - Resend email verification for a specific user'). While short, the redundancy makes it poorly structured and wastes space.
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 it is a simple tool with no output schema, the description still falls short. It lacks parameter semantics, usage guidance, and behavioral details, making it insufficient for reliable invocation even though the action is straightforward.
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 4 parameters with 0% description coverage, and the description itself mentions none of them. It does not clarify the meaning of userId, redirectUrl, x-request-id, or x-trace-id, leaving the agent to infer or guess.
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 (resend email verification) and specifies the target (a specific user), which is a specific verb+resource combination. However, it is largely redundant with the title and does not distinguish this tool from siblings beyond its unique name.
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 guidance on when to use this tool or when to prefer alternatives. There is no mention of prerequisites, conditions, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resetPasswordSend reset password emailCDestructiveInspect
Send reset password email - Send reset password email for a specific user
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | ||
| x-trace-id | No | ||
| redirectUrl | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, so the description does not need to restate that this is a non-read operation. However, the description adds no additional behavioral context, such as whether sending the email invalidates the current password, requires admin permissions, or is rate-limited. The description merely reiterates the action without enriching the agent's understanding of side effects or 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 redundant: 'Send reset password email - Send reset password email for a specific user' repeats the same information twice. While short, the repetition wastes words and does not add value. A concise version would state the action and the target once, without the duplicated title-like phrasing.
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 four parameters, no output schema, and no enums, the description must provide more context about what happens when the tool is invoked. It does not mention the return value, expected side effects, or the purpose of required headers like x-request-id. The description is too sparse to fully inform an agent, especially given the lack of structured schema descriptions.
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%, meaning all four parameters (userId, redirectUrl, x-trace-id, x-request-id) are undocumented in the schema. The description must compensate but only mentions 'specific user', which does not clarify which parameter holds the user ID or what the other parameters are for. This is a significant gap for a tool with four parameters and no 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 action 'Send reset password email' and the target 'for a specific user', making it evident what the tool does. However, it does not differentiate this from sibling tools like 'resetPasswordAction' or 'resendEmailVerification', which could be similar in purpose. The verb+resource is specific enough for a 4, but the lack of distinguishing context prevents a 5.
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 guidance on when to use this tool versus alternatives. It does not mention any prerequisites, user roles, or scenarios where this tool is preferred over resetPasswordAction or resendEmailVerification. Without any contextual cues, users are left to infer the appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resetPasswordActionReset password for a compute instance / resource referenced by an idCDestructiveInspect
Reset password for a compute instance / resource referenced by an id - Reset password for a compute instance / resource referenced by an id. This will reset the current password to the password that you provided in the body of this request.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| resetPasswordActionBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a mutating operation. The description adds one concrete detail: it resets the current password to the password provided in the request body. This adds some context beyond the annotations, but it doesn't disclose irreversible consequences, required permissions, or other behavioral nuances.
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 repetitive, repeating the title phrase twice ('Reset password for a compute instance / resource referenced by an id - Reset password for a compute instance / resource referenced by an id'). This wastes space and adds no new information. It could be significantly condensed into a single sentence.
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 a destructive write operation with nested parameters and no output schema. The description is minimal, providing no information about return values, side effects, error conditions, or required authorization. For a potentially dangerous action, far more contextual detail is needed.
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 provides no parameter details. The input schema does include descriptions for nested properties (e.g., rootPassword, sshKeys, userData), which partially helps, but the tool description itself offers no guidance on how the parameters relate to the action. The agent would need to rely entirely on the schema, which lacks top-level parameter 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 action (reset password) and the target (a compute instance/resource by id). It uses a specific verb and resource, making the purpose understandable. However, it does not differentiate from the sibling tool 'resetPassword', which likely performs a similar or identical function, so the differentiation is unclear.
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 guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or alternative tools. Given the existence of a closely named sibling 'resetPassword', the absence of any usage differentiation is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restartRestart a compute instance / resource identified by its id.CDestructiveInspect
Restart a compute instance / resource identified by its id. - To restart a compute instance that has been identified by its id, you should perform a restart action on it.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the operation is destructive and not read-only, but the description adds no additional context about side effects, required instance state, or consequences. No value beyond what annotations already provide.
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 second sentence is a pure tautology of the first, adding no information and wasting space. A single clear sentence would be more concise and effective.
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 destructive nature and the presence of sibling tools like stop/start, the description should explain prerequisites (e.g., instance must be running) and expected side effects. The description lacks these details and does not fully support an agent in deciding when to use 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 description coverage is 0%, and the description only vaguely references 'its id' without naming the instanceId parameter or explaining the other parameters (x-request-id, x-trace-id). This is insufficient compensation for the lack of schema documentation.
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 first sentence clearly states the action (restart) and resource (compute instance/resource by id). However, it does not differentiate from siblings like start, stop, or shutdown, so it lacks sibling 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?
No guidance is provided on when to use restart compared to alternatives such as start, stop, or reinstallInstance. The description only implies the action without giving context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveApiPermissionsListList of API permissionsARead-onlyInspect
List of API permissions - List all available API permissions. This list serves as a reference for specifying roles. As endpoints differ in their possibilities not all actions are available for each endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| apiName | No | ||
| orderBy | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context: permissions vary by endpoint. However, it does not disclose pagination behavior, response structure, or any other operational details that might be needed. With annotations covering safety, this is a middle score.
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 and is front-loaded with the core purpose. The opening phrase 'List of API permissions' is redundant with the title, but the rest is efficient and free of 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 read-only list tool with six parameters, no output schema, and no parameter descriptions, the description should explain pagination, filtering, ordering, and what the response contains. It only provides the purpose and a caveat, leaving significant gaps in understanding how to use 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?
The input schema has six parameters with zero description coverage. The description does not explain page, size, apiName, orderBy, or the ID fields. The caveat about endpoint-specific possibilities hints at apiName but does not explicitly define it. This under-compensates for the schema's lack of parameter documentation.
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 action ('List') and resource ('all available API permissions'), and clarifies the list is a reference for specifying roles. This clearly distinguishes it from sibling list tools such as retrieveInstancesList or retrieveRoleList.
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: the list is a reference for roles, with a caveat that not all actions are available per endpoint. While it doesn't name alternatives or explicit exclusions, no direct sibling tool duplicates this functionality, 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.
retrieveAssignmentGet specific assignment for the tagBRead-onlyInspect
Get specific assignment for the tag - Get attributes for a specific tag assignment in your account. For this the resource type and resource id is required.
| Name | Required | Description | Default |
|---|---|---|---|
| tagId | Yes | ||
| resourceId | Yes | ||
| x-trace-id | No | ||
| resourceType | Yes | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read nature is clear. The description adds minimal context like 'in your account' and the requirement for resource type/id, but does not disclose other behavioral aspects such as authentication needs, rate limits, or response format. No contradiction with 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 description is short but contains redundancy: the first phrase 'Get specific assignment for the tag' restates the title, followed by a dash and a near-identical restatement. It could be condensed to a single clear sentence without losing meaning.
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 should explain what is returned (e.g., the assignment attributes structure), but it only vaguely says 'Get attributes'. It also does not cover error cases, pagination, or the role of all parameters. The tool has 5 parameters and zero schema descriptions, so the description is insufficient for an agent to invoke it confidently.
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 only states that resource type and resource id are required. It does not explain the meaning of tagId, x-request-id, or x-trace-id, nor does it clarify what values resourceType should take. The description provides minimal semantic value 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 clearly states the tool retrieves attributes for a specific tag assignment, using the verb 'Get' and specifying the resource type and resource id. This distinguishes it from sibling list tools like retrieveAssignmentList and mutation tools like createAssignment/deleteAssignment.
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 use when needing a single assignment's attributes, but does not explicitly state when not to use it or mention alternatives such as retrieveAssignmentList for bulk retrieval. It only notes that resource type and resource id are required, which is more of a prerequisite than a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveAssignmentListList tag assignmentsCRead-onlyInspect
List tag assignments - List and filter all existing assignments for a tag in your account
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| tagId | Yes | ||
| orderBy | No | ||
| x-trace-id | No | ||
| resourceType | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is covered. The description adds only the 'for a tag' scope and 'in your account' context, but does not disclose pagination behavior or filter mechanics. No contradiction with 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 description is a single front-loaded sentence with no fluff, though the title and description repeat 'List tag assignments' which is slightly 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?
This is a 7-parameter list tool with no output schema. The description is too minimal: it lacks pagination details, filter parameter semantics, return format expectations, and any differentiation from related assignment list/audit 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 has 7 parameters with 0% description coverage. The description only implies tagId via 'for a tag' and gives a generic 'filter' mention, leaving page, size, orderBy, resourceType, and trace/request IDs without meaningful explanation.
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 and filter all existing assignments for a tag in your account.' It clearly distinguishes from create/deleteAssignment and the singular retrieveAssignment, though it does not explicitly name alternative list 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?
No guidance on when to use this tool instead of siblings like retrieveAssignment or retrieveAssignmentsAuditsList. It does not provide exclusions, prerequisites, or recommended scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveAssignmentsAuditsListList history about your assignments (audit)CRead-onlyInspect
List history about your assignments (audit) - List and filters the history about your assignments.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| tagId | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| resourceId | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is known to be safe. The description adds that it can 'filter' history, but it does not disclose pagination behavior, required headers beyond the schema, or the format of returned data. With annotations covering the safety profile, a score of 3 is appropriate.
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 consists of two sentences that are nearly identical: 'List history about your assignments (audit)' and 'List and filters the history about your assignments.' This repetition wastes words without adding information. The second sentence only introduces 'filters' but otherwise repeats the first, so it does not earn 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?
With 11 parameters, no output schema, and no explanation of the response structure or filtering semantics, the description is critically incomplete. An agent would have difficulty understanding what the history entries contain, how filters affect results, or what the return value looks like, making the tool much harder to use 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%, and the description mentions 'filters' generically but provides no explanation of any of the 11 parameters (e.g., page, size, tagId, startDate, endDate). The agent must rely solely on the raw schema, which lacks semantic meaning, so the description fails to compensate.
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 lists audit history for assignments, using a specific verb and resource. It distinguishes itself from sibling tools like retrieveAssignmentList by specifying 'history (audit)'. However, it is repetitive, saying the same thing twice, which slightly detracts from clarity.
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 on when to use this tool versus the many sibling audit list tools (e.g., retrieveInstancesAuditsList, retrieveDomainsAuditsList). There is no mention of exclusions, prerequisites, or alternative tools, leaving the agent to infer usage solely from the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveCustomImagesStatsList statistics regarding the customer's custom imagesBRead-onlyInspect
List statistics regarding the customer's custom images - List statistics regarding the customer's custom images such as the number of custom images uploaded, used disk space, free available disk space and total available disk space
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation as read-only and non-destructive. The description adds the types of statistics returned, providing some context about the response content. However, it does not disclose response structure, pagination, or any access requirements. With annotations covering safety, this 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 redundant, repeating the title verbatim before adding examples. The first clause 'List statistics regarding the customer's custom images' is identical to the title, making the description bloated and less scannable.
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 stats retrieval, the description provides a reasonable overview of the returned data (count, disk usage). However, it does not specify the response shape or whether the stats apply to all custom images. Given no output schema, some ambiguity remains.
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 two header-like parameters (x-request-id, x-trace-id) with no descriptions. The tool description does not explain these parameters or their formats, despite the schema coverage being 0%. The description fails to compensate for the lack of parameter documentation.
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: listing statistics about the customer's custom images, and enumerates specific stats (number of images, disk space used/free/total). This distinguishes it from sibling tools like retrieveImageList and retrieveObjectStoragesStats which target different resources.
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 offers no guidance on when to use this tool versus alternatives. It simply restates the tool's purpose without mentioning exclusions, prerequisites, or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveDataCenterListList data centersBRead-onlyInspect
List data centers - List all data centers and their corresponding regions.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| size | No | ||
| slug | No | ||
| orderBy | No | ||
| regionName | No | ||
| regionSlug | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds little. It mentions 'all data centers' and 'regions' but does not describe pagination, filtering defaults, or any other behavioral traits. No contradiction, but minimal value beyond 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 description is short and front-loaded. However, the prefix 'List data centers -' repeats the tool name and adds no value, slightly detracting from conciseness.
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 9 parameters and no output schema, the description is under-specified. It does not mention required x-request-id, pagination, filtering, or ordering behavior. The tool is safe to call (per annotations), but the description alone is insufficient 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 0%, so the description must compensate. It only hints at region-related parameters via 'corresponding regions' but leaves page, size, orderBy, name, slug, and tracing parameters unexplained. This is insufficient for a 9-parameter 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 states the action ('List') and the resource ('data centers'), and adds that it returns corresponding regions. This distinguishes it from sibling tools, as it is the only one about data centers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and description, but there is no explicit guidance on when to use this tool over alternatives or any prerequisites. No alternatives are mentioned, but the purpose is clear enough that an agent can infer when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveDnsZoneRetrieve a DNS Zone by zone nameARead-onlyInspect
Retrieve a DNS Zone by zone name - Get all attributes for a specific DNS Zone
| Name | Required | Description | Default |
|---|---|---|---|
| zoneName | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds that it returns 'all attributes' and selects by zone name, but does not disclose error behavior, whether a non-existent zone returns 404, or any other operational details. This is adequate for a simple read 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 a single, front-loaded sentence: 'Retrieve a DNS Zone by zone name - Get all attributes for a specific DNS Zone'. Every word contributes meaning, with 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 simple read tool with annotations, the description is adequate but incomplete. There is no output schema, and the description only promises 'all attributes' without specifying what those attributes are or how the response is structured. It also does not address edge cases like zone not found. Given the lack of output schema, more detail would be expected.
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 explicitly states the zone is retrieved by zone name, clarifying the role of zoneName. However, it does not explain the required x-request-id or optional x-trace-id headers; their names and patterns (UUID for x-request-id) make them somewhat self-explanatory, but the description adds minimal value for these 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 uses the specific verb 'Retrieve' with the resource 'DNS Zone' and specifies 'by zone name' and 'for a specific DNS Zone', clearly distinguishing this from sibling tools like retrieveDnsZonesList (plural list) and retrieveDnsZoneRecordsList.
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: use this when you need a specific DNS zone's attributes by its name. However, there are no explicit exclusions or references to alternative tools (e.g., retrieveDnsZonesList for listing), so the guidance is only implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveDnsZoneRecordsListList a DNS Zone's recordsCRead-onlyInspect
List a DNS Zone's records - Get all the records of a DNS Zone
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| search | No | ||
| orderBy | No | ||
| zoneName | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds no new behavioral context. It does not disclose pagination behavior, response structure, or any side effects beyond the simple list operation, providing minimal value beyond the 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 description is brief, but it repeats the same idea twice ('List a DNS Zone's records' and 'Get all the records of a DNS Zone'), wasting the second phrase without adding new information. It is not poorly structured but could be a single concise sentence.
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 7 parameters, no output schema, and minimal description, the tool is under-specified. It lacks details about pagination, search behavior, ordering, and what the returned records look like, making it difficult for an agent to anticipate the tool's full 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 description coverage is 0%, yet the description provides no explanation of any parameters (e.g., page, size, search, orderBy, zoneName). The agent must infer parameter meaning from names alone, which is insufficient for correct invocation, especially for pagination and ordering.
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 clear verb ('List'/'Get') and resource ('a DNS Zone's records'), which distinguishes it from sibling tools like retrieveDnsZone. However, the second half of the description is redundant with the first, and it doesn't explicitly mention the zoneName parameter or list scope, making it slightly less informative.
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 on when to use this tool versus alternatives such as retrieveDnsZone or retrieveDnsZonesList. There is no mention of pagination, filtering, or prerequisites, leaving the agent without context for choosing this over related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveDnsZonesListList DNS zonesCRead-onlyInspect
List DNS zones - Get a list of all zones
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| orderBy | No | ||
| tenantId | No | ||
| zoneName | No | ||
| customerId | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is covered. However, the description adds no behavioral context beyond the annotations—no mention of pagination, required request ID header, tenant filtering, or response format. For a tool with 8 parameters, 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 short sentence, which is concise and front-loaded. However, it is under-specified for the tool's complexity, and the repetition of 'List DNS zones' and 'Get a list' does not add value. It is not bloated, but it also lacks a structure that conveys additional 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 the 8 parameters, no output schema, and related sibling tools, the description is incomplete. It does not explain the return value, pagination behavior, or the role of required x-request-id. It provides no context for how this list tool relates to other DNS zone operations, leaving the agent to infer critical 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?
Schema description coverage is 0%, and the description provides no parameter information. It does not explain key parameters like page, size, zoneName, tenantId, or customerId. The description fails to compensate for the lack of schema descriptions, leaving parameter semantics entirely unexplained.
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 'List DNS zones - Get a list of all zones' clearly states the verb (List/Get) and resource (DNS zones) and explicitly mentions 'all zones', distinguishing it from singular retrieval tools like retrieveDnsZone. However, it closely paraphrases the title and lacks detail on what 'list' entails.
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 on when to use this tool versus alternatives. It does not reference sibling tools like retrieveDnsZone (for a single zone) or createDnsZone, nor does it mention scenarios where filtering or pagination is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveDomainList specific domainDRead-onlyInspect
List specific domain - List specific domain
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, and the description adds no behavioral information beyond the safety profile. It does not describe output format, filtering behavior, or any constraints, so it provides no additional transparency value.
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 six words and is a redundant phrase, not a meaningful specification. It does not earn its place because it provides zero new information; this is under-specification, not conciseness.
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?
As a retrieval tool, even a simple one, the description omits essential context like what identifies a domain, whether it returns a single object or a list, and how it differs from listDomains. The absence of any useful information makes it completely inadequate for safe 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?
With 0% schema description coverage, the description needed to explain parameters like 'domain' and the request ID fields, but it is completely silent on them. This leaves the agent to guess the purpose and format of 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 'List specific domain' is a tautology that exactly repeats the title, providing no additional specificity beyond what the tool name already conveys. It does not distinguish this from sibling tools like 'listDomains' or 'retrieveDnsZone'.
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 on when to use this tool versus alternatives. The description neither provides context nor excludes any scenarios, leaving the agent without direction on choosing this among the many retrieve/list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveDomainsAuditsListList history about your Domains (audit)CRead-onlyInspect
List history about your Domains (audit) - List and filters the history about your Domains.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| domain | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. However, the description adds no additional behavioral context—no mention of required x-request-id header, pagination behavior, or filtering constraints. It merely restates the title, providing no value beyond the 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 description is short, but it is repetitive: 'List history about your Domains (audit)' is repeated almost verbatim in the second clause 'List and filters the history about your Domains.' The only new information is the vague word 'filters,' which does not justify the redundancy. Structure could be improved with a single, information-dense sentence.
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 10 parameters, no output schema, and a large sibling set, the description is severely incomplete. It does not explain the required x-request-id, the meaning of query parameters, the response format, or how this tool fits with other audit tools. The agent cannot meaningfully select or invoke this tool based on the current description.
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% with 10 parameters, so the description must compensate by explaining parameter meanings. It only says 'filters' without detailing any of the parameters (page, size, domain, changedBy, etc.). This leaves the agent with no semantic understanding of how to construct a valid request.
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 'List' and the resource 'history about your Domains (audit)', making the tool's basic purpose evident. However, it does not distinguish this from sibling audit-list tools like retrieveHandlesAuditsList or retrieveInstancesAuditsList, which share the same pattern.
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 offers no guidance on when to use this tool versus the many other audit-list tools. It merely says 'List and filters' without specifying any context, prerequisites, or alternatives. The user is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveHandleGet specific handleDRead-onlyInspect
Get specific handle - Get specific handle
| Name | Required | Description | Default |
|---|---|---|---|
| handleId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is clear. However, the description adds no behavioral context beyond the annotation—no return format, permission requirements, error behavior, or rate limits. Given annotations exist, the bar is lower, but the description should still add value; here it adds none.
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 repeats itself verbatim ('Get specific handle - Get specific handle'), wasting characters without adding information. Effective conciseness would use a single sentence with distinct content about the operation.
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 3 parameters (2 required) and no output schema, yet the description provides no context about the return object, usage conditions, or relationship to sibling tools like listHandles. The name implies a get-by-ID operation, but the description fails to confirm or elaborate, leaving the agent under-equipped.
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 does not explain any of the three parameters (handleId, x-request-id, x-trace-id). With no parameter semantics in either the schema or description, the agent must guess at the meaning of handleId and the required UUID pattern for x-request-id.
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 is 'Get specific handle - Get specific handle', which is a tautology that merely restates the tool's name and title. It does not explain what a handle is, what the returned data contains, or how it differs from listHandles or other retrieve* 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 provides no guidance on when to use this tool versus alternatives like listHandles or other retrieve calls. It does not specify use cases, prerequisites, or exclusions, leaving the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveHandlesAuditsListList history about your handles (audit)CRead-onlyInspect
List history about your handles (audit) - List and filters the history about your handles.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| endDate | No | ||
| orderBy | No | ||
| handleId | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as a safe read-only operation; the description adds only 'filters' and 'audit', which are purpose-level. It fails to disclose pagination behavior, default result size, ordering, or what the history entries contain.
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 but redundant, repeating 'List history about your handles' twice. It is short but wastes a full clause on restating the title, leaving no room for useful detail.
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 10 parameters, no output schema, and no usage or parameter guidance, this description is wholly inadequate for invoking the tool correctly. The bare 'audit' mention does not explain what is returned or how filtering works.
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% across 10 parameters, and the description offers no parameter-specific meanings. 'Filters' is too generic to explain page, size, orderBy, handleId, changedBy, date ranges, or request IDs.
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 title and description clearly identify the tool as listing audit history for handles, using the specific verb 'List' and resource 'history about your handles'. The 'audit' qualifier distinguishes it from sibling tools like listHandles/retrieveHandle, though it doesn't explicitly name 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 provided on when to use this tool versus alternatives. The description only restates the action and mentions filters, without specifying scenarios, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveImageGet details about a specific image by its idARead-onlyInspect
Get details about a specific image by its id - Get details about a specific image. This could be either a standard or custom image. In case of an custom image you can also check the download status
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful context: the image can be standard or custom, and for custom images the download status can be checked. This goes beyond the annotations and helps the agent understand the tool's scope.
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 but contains redundancy: 'Get details about a specific image by its id' is repeated as 'Get details about a specific image.' The additional details about standard/custom and download status are useful, but the redundant phrasing could be tightened.
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 tool with annotations, the description covers the essential context: it targets a specific image by id, supports standard/custom images, and mentions the download status for custom images. It lacks return format details, but the absence of an output schema and the annotated read-only nature make this adequate.
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 mentions 'by its id' which aligns with the imageId parameter, but it does not explain the required x-request-id or optional x-trace-id fields. The parameter semantics are only partially addressed, leaving two of three parameters undocumented.
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: getting details about a specific image by its id. It also distinguishes between standard and custom images, and notes the download status capability for custom images, which adds specificity beyond sibling tools like retrieveImageList or deleteImage.
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 usage for retrieving a single image's details, but it does not explicitly contrast with alternatives like retrieveImageList for listing or deleteImage for deletion. The context is clear but there is no direct when-to-use or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveImageAuditsListList history about your DNS Zones (audit)DRead-onlyInspect
List history about your DNS Zones (audit) - List and filters the history about your DNS Zones .
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| size | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, which already indicate a safe read operation. The description adds no further behavioral detail, such as whether pagination or date filtering is supported or how results are ordered. It simply restates the title.
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 short sentence, but it is entirely redundant with the title and contains a filler phrase 'List and filters the history'. It lacks structure and front-loads no additional insight.
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 10 parameters and no output schema, the description is extremely thin. It does not clarify what the audit history contains, what each filter does, or how this tool differs from other audit-list tools like retrieveDomainsAuditsList. Given the apparent name/description mismatch, agents cannot reliably decide when to invoke 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 description coverage is 0%, and the description does not explain any of the 10 parameters. Terms like 'changedBy', 'startDate', and 'orderBy' hint at filtering, but the description offers no information about their syntax, combined behavior, or the required x-request-id format beyond the schema pattern.
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 'List history about your DNS Zones (audit)' which is a clear action and resource, but the tool name is 'retrieveImageAuditsList', suggesting it should return image audit history. This mismatch makes the stated purpose unreliable and likely a copy-paste error. It also fails to distinguish which resource's audits are returned.
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 guidance on when to use this tool versus any of the many other retrieve*AuditsList sibling tools. It does not explain any prerequisites, context, or alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveImageAuditsList1List history about your custom images (audit)CRead-onlyInspect
List history about your custom images (audit) - List and filters the history about your custom images.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| endDate | No | ||
| imageId | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds little beyond noting that the tool can 'filter'. It does not disclose pagination, date-range behavior, or other operational traits. The description is largely redundant with the title and 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 description is short but repetitive, saying essentially the same thing twice: 'List history about your custom images (audit)' and 'List and filters the history about your custom images.' The redundancy wastes space and does not add new 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 10 parameters, no output schema, and no parameter explanations, the description is severely incomplete. It fails to convey how filtering works, what the response looks like, or the purpose of the required 'x-request-id'. The tool is a complex list/filter operation requiring much more detail.
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 provides no explanation of the 10 parameters (page, size, endDate, imageId, orderBy, etc.). It only generically mentions 'filters' without detailing any filter semantics, leaving the agent without essential parameter information.
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 lists audit history for custom images, which is a specific verb and resource. However, it does not distinguish from the sibling tool 'retrieveImageAuditsList', which appears to serve the same purpose, so it lacks 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?
No guidance is provided on when to use this tool versus alternatives, such as other audit list tools or the similar 'retrieveImageAuditsList'. The description only states what the tool does without context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveImageListList available standard and custom imagesBRead-onlyInspect
List available standard and custom images - List and filter all available standard images provided by Contabo and your uploaded custom images.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| size | No | ||
| search | No | ||
| orderBy | No | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| standardImage | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only and non-destructive. The description adds context about the scope (standard images from Contabo and custom uploaded images) but does not disclose behavioral details like pagination, filtering semantics, or result structure. With annotations covering safety, a score of 3 is appropriate.
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 and front-loaded with the core purpose. It repeats the phrase 'standard and custom images' from the title, making it slightly redundant, but the overall length is appropriate and the structure is easy to parse.
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 8 parameters and no output schema, the description is grossly insufficient. It does not mention pagination, filtering parameters, ordering, or return format. Given the large sibling list and the need for precise invocation, this description leaves out critical operational 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?
Schema description coverage is 0%, and the description provides no parameter-level explanations. The phrase 'List and filter' only vaguely implies filtering capabilities but never explains the 8 parameters (e.g., page, size, search, orderBy, standardImage). The description fails to compensate for the complete lack of 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 lists and filters available images, specifying both standard and custom images. It distinguishes itself from sibling tools like retrieveImage (singular) and createCustomImage by focusing on the list operation with clear resource scope.
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 usage for listing/filtering images but does not explicitly mention when to use this tool versus alternatives such as retrieveImage or retrieveCustomImagesStats. There is no when-not-to-use guidance or mention of sibling tools, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveInstanceGet specific instance by idCRead-onlyInspect
Get specific instance by id - Get attributes values to a specific instance on your account.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds no further behavioral detail such as response format, error handling, or authorization requirements, merely restating that it retrieves attribute 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 brief but redundant, repeating 'specific instance' and using awkward phrasing like 'attributes values to a specific instance.' It could be tightened to one clear sentence.
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, the description is minimally adequate for selection but lacks output format details and parameter explanations. The absence of an output schema and the low parameter coverage make invocation less safe, especially with no guidance on the required x-request-id.
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 provides no descriptions for any of the three parameters (0% coverage). The description only hints at instanceId via 'by id' but does not explain the required x-request-id header or the optional x-trace-id, leaving the agent to infer their purpose from names alone.
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 as retrieving a single instance by id, using 'Get specific instance by id' which differentiates from siblings like retrieveInstancesList. The phrase 'attributes values' adds a bit of detail about what is returned, making the purpose clear.
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 on when to use this tool versus alternatives such as retrieveInstancesList or retrieveImage. The only contextual hint is 'on your account,' which doesn't clarify prerequisite conditions or alternative selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveInstancesActionsAuditsListList history about your actions (audit) triggered via the APICRead-onlyInspect
List history about your actions (audit) triggered via the API - List and filters the history about your actions your triggered via the API.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| instanceId | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is conveyed. The description adds the scope 'triggered via the API' and mentions filtering, which is useful, but it lacks details about pagination, required request ID, or 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 repetitive ('List history... - List and filters...') and contains a typo ('your triggered'). It wastes space without adding new 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 10 parameters, no output schema, and only minimal annotations, the description should explain what is returned, how filtering works, and prerequisites. It does none of this, leaving the agent under-informed for a moderately complex 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 bears the full burden of explaining parameters. It only says 'filters' generically, providing no meaning for page, size, startDate, endDate, changedBy, instanceId, or the required x-request-id.
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 ('List') and resource ('history about your actions (audit) triggered via the API'), which is understandable on its own. However, it does not explicitly mention 'instances' or differentiate this from the many sibling audit-list tools, so it stops short of a 5.
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 on when to use this tool versus alternative audit-list tools or when not to use it. The description only says it lists and filters, without any context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveInstancesAuditsListList history about your instances (audit)CRead-onlyInspect
List history about your instances (audit) - List and filters the history about your instances.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| instanceId | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read nature is covered. The description adds that it 'filters' history, which is a mild behavioral attribute, but does not mention pagination, result ordering, or other nuances.
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 but redundant, with the second sentence essentially restating the first ('List history... List and filters...'). It does not earn its place, and the structure is repetitive rather than informative.
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 complexity (10 parameters, no output schema), the description is far too sparse. It does not cover filter options, pagination, required headers, return format, or limitations, leaving significant gaps for an agent to correctly invoke 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?
The input schema has 10 parameters with 0% description coverage, and the tool description does not explain any of them. The generic mention of 'filters' provides no meaning for parameters like page, size, startDate, changedBy, etc., leaving the agent uninformed.
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 lists history/audit for instances, with a specific verb and resource. It is distinct from sibling tools like retrieveInstance (current state) and retrieveInstancesActionsAuditsList (action-specific audits), 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?
No guidance is provided on when to use this tool versus alternatives like other audits list tools. The context of 'audit' implies usage for historical review, but there is no explicit when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveInstancesListList instancesCRead-onlyInspect
List instances - List and filter all instances in your account
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| size | No | ||
| region | No | ||
| search | No | ||
| status | No | ||
| orderBy | No | ||
| addOnIds | No | ||
| ipConfig | No | ||
| tenantId | No | ||
| customerId | No | ||
| dataCenter | No | ||
| instanceId | No | ||
| productIds | No | ||
| x-trace-id | No | ||
| displayName | No | ||
| instanceIds | No | ||
| productTypes | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds no additional behavioral context beyond restating the tool's functionality; no disclosure of pagination behavior, response format, or other side effects.
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 redundant, saying 'List instances' and then 'List and filter all instances' – two phrasings of the same idea. This wastes words without adding substance.
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 19 parameters, no output schema, and a complex list/filter operation, the description is severely incomplete. It fails to mention return format, pagination, filter specifics, or the required x-request-id header, making it inadequate 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 0% across 19 parameters, and the description does not explain any parameter meanings. It only generically says 'list and filter' without detailing how filters work or which parameters control behavior.
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 (List) and resource (instances) with scope ('in your account'). It distinguishes from retrieveInstance (singular) by being plural, but does not explicitly differentiate from other sibling list 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?
No guidance on when to use this tool versus alternatives like retrieveInstance. It only scopes to account instances, providing no exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveObjectStorageGet specific object storage by its idARead-onlyInspect
Get specific object storage by its id - Get data for a specific object storage on your account.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| objectStorageId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds 'on your account' as a scoping detail, but this is somewhat redundant and does not disclose additional behavior like what data is returned or authentication requirements.
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 key phrase 'Get specific object storage by its id'. The second clause is somewhat redundant but not overly verbose, making it efficient overall.
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, the description is minimally sufficient, but it lacks an output schema and does not describe what fields of the object storage will be returned. Given the 0% schema coverage, a bit more detail about the response would make it 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 0%, and the description only clarifies objectStorageId via 'by its id'. It doesn't explain required x-request-id or optional x-trace-id, which are likely request metadata and could confuse the agent about whether they are path/body parameters. This under-compensates for the missing 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 action ('Get') and the specific resource ('specific object storage by its id'), distinguishing it from list and audit retrieval siblings. It explicitly says 'by its id' making the scope precise.
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 'by its id' provides clear context that this tool is for fetching a single object storage when the ID is known, contrasting with list/audit alternatives. However, it does not explicitly mention when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveObjectStorageAuditsListList history about your object storages (audit)CRead-onlyInspect
List history about your object storages (audit) - List and filters the history about your object storages.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| objectStorageId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond a generic 'List and filters', failing to mention pagination, return format, or that this is a read-only audit operation. It does not contradict annotations, but it also does not enrich them with useful behavioral details.
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 extremely short but redundant: it repeats the title almost verbatim and adds only the vague phrase 'List and filters'. While brevity is valuable, this text does not earn its place because it adds no new information beyond the title. It is under-specified rather than concise.
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 complexity (10 parameters, no output schema), the description is severely incomplete. It does not explain the difference between this and other audit list tools, nor does it mention available filters (e.g., date range, changedBy, objectStorageId). The description lacks essential context for correct invocation, leaving the agent to rely on parameter names alone.
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 provides no parameter semantics. With 10 parameters including page, size, orderBy, startDate, endDate, changedBy, etc., the description does not compensate for the lack of schema descriptions. This leaves the agent with no guidance on how to use these parameters effectively.
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 lists audit history for object storages. It uses specific verbs ('List', 'filters') and identifies the resource ('object storages'), distinguishing it from sibling audit tools for other resources. However, it lacks details about specific filtering options or scope, making it slightly less clear than a fully specified description.
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 guidance on when to use this tool versus alternatives. It does not mention related tools like retrieveObjectStorageList or other audit tools, nor does it describe conditions where this tool is preferred. The only implicit hint is the word 'audit', which suggests historical context, but this is not explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveObjectStorageListList all your object storagesBRead-onlyInspect
List all your object storages - List and filter all object storages in your account
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| region | No | ||
| orderBy | No | ||
| s3TenantId | No | ||
| x-trace-id | No | ||
| displayName | No | ||
| x-request-id | Yes | ||
| dataCenterName | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds only that it supports filtering, which is more a capability than a behavioral trait. It does not disclose pagination behavior, parameter requirements, or any other operational details.
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 but redundant: 'List all your object storages' is nearly identical to 'List and filter all object storages in your account'. The first clause restates the title without adding 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?
Despite having 9 parameters and no output schema, the description only states the basic purpose. It does not mention pagination, filtering parameters, or any operational notes. Annotations cover safety, but the description leaves the agent without guidance on how to invoke the tool effectively.
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 has 9 parameters with 0% description coverage. The description only mentions 'filter' generically without explaining which parameters (page, size, region, orderBy, etc.) control filtering or pagination. It fails to compensate for the missing schema documentation.
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 and specifically states the tool lists all object storages in the account. It uses a specific verb ('List') and resource ('object storages'), and the plural 'all' distinguishes it from the singular retrieveObjectStorage sibling. The phrasing is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for listing/filtering object storages, but it does not explicitly state when to use it over alternatives like retrieveObjectStorage (singular) or retrieveObjectStoragesStats. No exclusion criteria or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveObjectStoragesStatsList usage statistics about the specified object storageARead-onlyInspect
List usage statistics about the specified object storage - List usage statistics about the specified object storage such as the number of objects uploaded / created, used object storage space. Please note that the usage statistics are updated regularly and are not live usage statistics.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| objectStorageId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate a read-only, non-destructive operation. The description adds the important behavioral trait that statistics are updated regularly and not live, plus examples of the data returned. This goes beyond the structured 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 redundantly repeats the title phrase 'List usage statistics about the specified object storage' and then extends it. This wastes words and could be condensed into a single clear sentence. The staleness note is useful but the repetition is a structural flaw.
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 tool, the description covers the metric types and the non-live nature, but lacks details on the response structure and parameter semantics (especially the required headers). With no output schema, the description should more explicitly describe the return format, though the examples provide some guidance.
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%, with three parameters including two required. The description only refers to 'specified object storage,' which maps to objectStorageId, but gives no details about the format or the header parameters x-request-id and x-trace-id. It fails to compensate for the lack of 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 lists usage statistics for a specified object storage, with examples of the metrics included. This distinguishes it from sibling tools like retrieveObjectStorage, which presumably retrieves configuration 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 provides no explicit guidance on when to use this tool versus alternatives like retrieveObjectStorage or retrieveObjectStorageList. The caveat that stats are not live implies a usage limitation but does not name alternatives or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrievePrivateNetworkGet specific Private Network by idBRead-onlyInspect
Get specific Private Network by id - Get attributes values to a specific Private Network on your account.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| privateNetworkId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds minimal context by stating it gets 'attributes values' and scopes to 'your account', but does not disclose any additional behavioral traits like return format or error handling.
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 but repetitive, saying 'specific Private Network' twice in the two clauses separated by a hyphen. It could be tightened into a single clear sentence without losing meaning.
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, the description is minimally sufficient: it states the purpose and the resource. However, with no output schema and no parameter explanations in the description, it lacks details about expected request structure and response, leaving room for 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?
Schema description coverage is 0%, and the description only says 'by id' without naming the privateNetworkId parameter or explaining the required x-request-id header. This leaves the agent without clarity on how to populate parameters, especially with non-obvious fields like x-request-id.
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 retrieves a specific Private Network by its id, using the verb 'Get' with a specific resource. This distinguishes it from sibling tools like retrievePrivateNetworkList (list all) and retrievePrivateNetworkAuditsList (audits).
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: use when you need a specific Private Network's attributes by id. However, there is no explicit mention of when not to use it or alternatives such as the list or audits tools, which would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrievePrivateNetworkAuditsListList history about your Private Networks (audit)BRead-onlyInspect
List history about your Private Networks (audit) - List and filters the history about your Private Networks.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| privateNetworkId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read. The description adds the ability to filter, but doesn't disclose pagination, required headers, or return behavior. With annotations covering safety, this is acceptable 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 short but redundant—the second sentence rephrases the first. It could be condensed to one sentence without losing meaning. Not wasteful, but not tightly structured.
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 10 parameters, no output schema, and no parameter descriptions, the description is insufficient. It doesn't mention pagination, required x-request-id header, filter specifics, or what the response contains. The agent would need to guess or inspect the schema for many 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?
Schema coverage is 0%, so the description must compensate. It only says 'filters' without explaining which parameters filter what. Parameter names are somewhat self-explanatory, but the description adds no specific 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 clearly states the verb 'List' and the resource 'history about your Private Networks', which distinguishes it from the sibling retrievePrivateNetworkList that lists current networks. However, it doesn't explicitly mention 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?
The description implies usage context: when you need audit history of Private Networks. It doesn't provide explicit when/when-not guidance or mention alternatives, but the resource is specific enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrievePrivateNetworkListList Private NetworksBRead-onlyInspect
List Private Networks - List and filter all Private Networks in your account
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| size | No | ||
| region | No | ||
| orderBy | No | ||
| dataCenter | No | ||
| x-trace-id | No | ||
| instanceIds | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds only the account scope ('in your account') beyond that. It does not disclose pagination behavior, response formatting, or any other operational details, but given the annotations, a 3 is appropriate for minimal added 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 a single sentence, front-loaded with the verb and resource. However, it repeats the tool title 'List Private Networks' verbatim, which wastes a few words. Despite this redundancy, it remains concise and easy to parse.
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 9 parameters and no output schema, yet the description gives only a one-line overview. It lacks information about response structure, pagination, filtering semantics, or typical use cases. The description is insufficient for such a parameter-rich list 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 description coverage is 0%, so the description must compensate. It only mentions that filtering is possible, but provides no meaning for parameters like name, region, dataCenter, instanceIds, page, size, or orderBy. The agent gets no help in understanding how to construct a valid request beyond the raw 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 clearly states the tool 'List and filter all Private Networks in your account' with a specific verb ('List and filter') and resource ('Private Networks'), making its purpose unambiguous. It inherently distinguishes itself from the singular retrievePrivateNetwork sibling by listing multiple resources.
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 when-to-use guidance, alternatives, or exclusion criteria. It doesn't mention that this tool is for listing multiple networks vs. the singular retrievePrivateNetwork, nor does it suggest any specific scenarios. The usage is implied only by the verb 'List', which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrievePtrRecordRetrieve a PTR Record by ip addressARead-onlyInspect
Retrieve a PTR Record by ip address - Get all attributes for a specific PTR Record
| Name | Required | Description | Default |
|---|---|---|---|
| ipAddress | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds that it returns 'all attributes' and targets a specific record by IP, but it does not disclose additional behavior like authentication requirements, rate limits, or response structure. Since annotations cover the core safety, a 3 is appropriate.
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 using a dash to add detail, which is efficient. It is not overly verbose, though the first half repeats the title. It earns points for being compact and front-loaded with the action.
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 retrieval tool with annotations and a clear resource identifier, the description provides sufficient context. It lacks mention of required headers and edge cases, but given the simplicity and lack of output schema, it is reasonably 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 0%, so the description must compensate. It explains the ipAddress parameter's role ('by ip address'), which is the key semantic, but does not mention the required x-request-id or optional x-trace-id headers. This partial compensation warrants a mid-range 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 clearly states the verb 'Retrieve' and the specific resource 'PTR Record' by ip address, explicitly noting it returns all attributes for a specific record. This distinguishes it from sibling tools like retrievePtrRecordsList (list all) and retrieveDnsZone (different resource).
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: when you need all attributes for a specific PTR record identified by IP address. It does not explicitly name alternative tools, but the context of 'specific' vs list tools provides clear use-case guidance. A named alternative would push this to 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrievePtrRecordsListList PTR recordsBRead-onlyInspect
List PTR records - Get a list of all PTR records, either customer or a list of IPs is required
| Name | Required | Description | Default |
|---|---|---|---|
| ips | No | ||
| page | No | ||
| size | No | ||
| search | No | ||
| orderBy | No | ||
| tenantId | No | ||
| customerId | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a behavioral requirement (customer or IPs must be provided) but says nothing about authentication, rate limits, return format, or what happens if the constraint is unmet. For a read-only list operation, this adds some context but not rich detail.
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, front-loaded with the primary action. There is slight redundancy ('List PTR records' and 'Get a list of all PTR records' say essentially the same thing), but it is not verbose. It earns its place by providing the key requirement, though it could be tightened.
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 9 parameters, no output schema, and no parameter descriptions, the description is far from complete. It only addresses the customer/IP requirement and fails to mention pagination, ordering, search, or the structure of the returned list. For a list endpoint of this complexity, the description leaves significant gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies the relationship between ips and customerId ('either customer or a list of IPs is required'), which adds value beyond the raw schema. However, it leaves the other 7 parameters (page, size, search, orderBy, tenantId, x-trace-id, x-request-id) completely unexplained, so most parameter semantics remain ambiguous.
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: 'List PTR records' / 'Get a list of all PTR records'. It explicitly uses a specific verb (list) and resource (PTR records), and the scope ('all') differentiates it from the singular retrievePtrRecord sibling. The phrase 'either customer or a list of IPs is required' also adds a distinct filtering constraint.
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 use case: to get PTR records, you must provide either a customer or IPs. It gives a clear prerequisite but does not explicitly contrast with alternatives like retrievePtrRecord (singular) or other PTR tools. There is no 'when not to use' or exclusion guidance, though the sibling names hint at its role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveRecordAuditsListList history about your DNS Records (audit)BRead-onlyInspect
List history about your DNS Records (audit) - List and filter the history of changes made to your DNS Records.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| endDate | No | ||
| orderBy | No | ||
| recordId | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. The description adds the ability to 'filter' the history, but does not disclose other behavioral details such as pagination, required request ID, or response shape. With annotations present, this is acceptable but minimal.
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 repetitive—'List history about your DNS Records (audit)' is essentially restated as 'List and filter the history of changes made to your DNS Records.' The second sentence adds only the word 'filter' and could be merged into a single, tighter sentence.
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 10 parameters, no output schema, and many sibling audit tools, the description is underspecified. It does not explain what the returned audit data contains, how to use the filter parameters, or how this differs from other audit list tools. The description is too vague for a tool of this complexity.
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 fails to compensate. It only mentions 'filter' in general terms without explaining any of the 10 parameters (e.g., startDate, recordId, changedBy) or their meanings. The description adds virtually no value to the parameter list.
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 lists and filters the history of changes to DNS Records, using a specific verb ('List') and resource ('DNS Records audit'). It distinguishes itself from sibling tools like retrieveDnsZoneRecordsList by explicitly focusing on audit history rather than current records.
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 for viewing the audit/history of DNS record changes. While it does not explicitly mention alternatives or when-not-to-use scenarios, the '(audit)' designation in the title and description makes the intended use case obvious, matching the 'clear context, no exclusions' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveRoleGet specific role by idBRead-onlyInspect
Get specific role by id - Get attributes of specific role.
| Name | Required | Description | Default |
|---|---|---|---|
| roleId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, which the description does not contradict. However, the description adds no additional behavioral context (e.g., auth requirements, response format, rate limits). It merely restates the purpose without shedding new light.
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 but redundant: 'Get specific role by id - Get attributes of specific role.' The second clause simply restates the first with different words. It could be reduced to one sentence without losing information, but it is still concise overall.
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 output schema, and the description does not mention what output to expect, possible errors, or authentication prerequisites beyond the schema's required headers. For a simple read it might suffice, but the lack of return-value or error details 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 description coverage is 0%, so the description must compensate. It vaguely references 'id' but does not explain roleId, x-request-id (a required UUID header), or x-trace-id. The description adds almost no meaning beyond the parameter names 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 clearly states the verb 'Get' plus the resource 'specific role' and the identifier 'by id'. It distinguishes from sibling tools like retrieveRoleList (list) and retrieveRoleAuditsList (audits), making 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 phrase 'by id' implies this tool is for fetching a single role when you have a roleId, but there is no explicit guidance on when to use this versus retrieveRoleList or other retrieve variants. 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.
retrieveRoleAuditsListList history about your roles (audit)CRead-onlyInspect
List history about your roles (audit) - List and filter the history about your roles.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| roleId | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. However, it adds only the vague word 'filter' without disclosing any concrete behaviors such as pagination, date-range filtering, or response structure. Minimal added context beyond the 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 description is two sentences that essentially repeat each other ('List history...' and 'List and filter the history...'). The second sentence adds negligible new information, making it redundant rather than concise.
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 10 parameters, no output schema, and basic annotations, the description is grossly incomplete. It does not mention filter capabilities in any detail, return values, or any operational context, making it inadequate for an AI agent to use effectively.
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% with 10 parameters, and the description provides no explanations for any parameter (e.g., page, size, roleId, startDate, endDate). The description must compensate for the lack of schema info but fails to do so.
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 ('List and filter the history about your roles') on a clear resource (roles audit history). It distinguishes from siblings like retrieveRoleList by the word 'audit', but is somewhat redundant with the title.
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 on when to use this tool versus alternatives. It does not mention other audit list tools or any context for when this specific audit trail is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveRoleListList rolesBRead-onlyInspect
List roles - List and filter all your roles. A role allows you to specify permission to api endpoints and resources like compute.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| size | No | ||
| type | No | ||
| apiName | No | ||
| orderBy | No | ||
| tagName | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds that the tool lists and filters 'all your roles' and defines a role, which is some behavioral context. It does not disclose pagination behavior, return format, or rate limits, but given annotations cover the safety profile, 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 concise, using two sentences. However, the first sentence repeats 'List' ('List roles - List and filter...'), which is a minor redundancy. The second sentence about role definition is helpful but could be seen as extra. Overall, it is well-structured and front-loaded with the main purpose.
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 9 parameters and no output schema, the description provides minimal context. It does not explain filtering options, pagination, or expected return value. The annotations cover safety, but the tool has many parameters and the description leaves the agent without guidance on how to use filters or interpret results. This is a significant gap for a list tool with rich filtering capabilities.
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 has 9 parameters with zero description coverage, and the description does not compensate. It mentions 'filter' generically but does not explain any of the parameters (name, page, size, type, apiName, orderBy, tagName, x-request-id, x-trace-id). With complete lack of parameter guidance, the description fails to add 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 clearly states 'List roles - List and filter all your roles' which indicates a specific verb (list/filter), resource (roles), and scope (all your roles). It distinguishes from sibling tools like retrieveRole, createRole, and deleteRole by focusing on the list operation. The additional explanation of what a role is adds useful 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 usage for listing and filtering roles, which is clear context. However, it does not explicitly mention alternatives or when not to use this tool. For instance, it doesn't say 'use retrieveRole for a single role' or mention any prerequisites. The context is clear but lacks explicit exclusions or comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveSecretGet specific secret by idARead-onlyInspect
Get specific secret by id - Get attributes values for a specific secret on your account.
| Name | Required | Description | Default |
|---|---|---|---|
| secretId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description doesn't need to cover basic safety. It adds the phrase 'Get attributes values' which confirms read-only behavior, but provides no extra context on authentication, errors, or return 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?
The description is short and front-loaded with the primary action, but the second clause 'Get attributes values for a specific secret on your account' is largely redundant with the first, adding little 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 read-only getter with annotations, the description covers the core operation. However, it omits details on required headers and the return value, which are not clarified by an output schema. Some mention of what 'attributes values' includes 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 0%, so the description must compensate. It only maps 'by id' to secretId, but completely ignores x-request-id and x-trace-id, leaving these required parameters unexplained.
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 gets a specific secret by its ID, using the verb 'Get' and specifying the resource. It distinguishes from siblings like retrieveSecretList and retrieveSecretAuditsList by focusing on a single secret.
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 use when you have a secret ID, but it doesn't explicitly contrast with list or audit alternatives. There's no 'when not to use' or mention of alternatives, only the contextual clue 'by id'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveSecretAuditsListList history about your secrets (audit)CRead-onlyInspect
List history about your secrets (audit) - List and filters the history about your secrets.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| endDate | No | ||
| orderBy | No | ||
| secretId | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint, covering the safety profile. The description adds no behavioral context beyond restating the tool's purpose, such as pagination, filtering options, or response details, so it provides minimal value beyond 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 description is a single sentence but heavily redundant, repeating 'history about your secrets' twice. It could be more concise and better structured, though it remains short and to the point.
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 10 parameters, no output schema, and no parameter descriptions, this one-sentence description is severely inadequate. It lacks essential details about pagination, filtering parameters, required headers, and expected response, making it nearly impossible to use correctly without external knowledge.
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 fails to explain any of the 10 parameters. It only vaguely mentions 'filters' without detailing which parameters correspond to filtering, leaving the agent without meaningful semantic guidance for correct invocation.
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 lists history/audit for secrets, using a specific verb and resource. It distinguishes from sibling audit list tools by naming 'secrets' as the target resource, though the phrasing is somewhat redundant with the title.
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 on when to use this tool versus alternatives. The description does not mention that this is for secret audit history specifically, nor does it refer to other audit list tools for different resources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveSecretListList secretsBRead-onlyInspect
List secrets - List and filter all secrets in your account.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| size | No | ||
| type | No | ||
| orderBy | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the scope of operation ('account-wide') and filter capability, but does not disclose pagination, ordering, or response format behavior, which is acceptable given annotation coverage.
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 brief but redundant: 'List secrets - List and filter...' repeats the tool name and title unnecessarily. It could be more concise with a single clause, wasting a few words without adding substance.
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 7 parameters, no output schema, and no parameter documentation, the description is severely under-specified. It fails to clarify required request ID, filtering options, pagination, or return structure. Even with annotations covering safety, this is inadequate for a tool of this complexity.
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 only mentions 'filter' generically without specifying any parameter names (e.g., name, type, page, size) or their semantics. This adds minimal value for understanding the 7 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 clearly states the tool lists and filters all secrets in the account, using a specific verb and resource. It distinguishes from sibling 'retrieveSecret' (singular) and other secret management tools like createSecret/deleteSecret/updateSecret.
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 'List and filter all secrets in your account' implies the tool is intended for listing/querying secrets, providing clear context. It does not explicitly mention alternatives or exclusions, but the scope ('in your account') and contrast with sibling retrieveSecret make usage apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveSnapshotRetrieve a specific snapshot by idBRead-onlyInspect
Retrieve a specific snapshot by id - Get all attributes for a specific snapshot
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| snapshotId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds that it retrieves 'all attributes', which is useful but minimal. No additional disclosure of errors, rate limits, or auth requirements is given.
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 extremely concise and front-loaded, with no wasted words. It effectively states the core purpose in one sentence, though brevity comes at the cost of detail.
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 has 4 parameters (3 required), no output schema, and no parameter descriptions, the description is inadequate. It does not explain the instance/snapshot relationship, required headers, or return structure. This is a clear under-specification for an API of this complexity.
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 explain parameters. It only says 'by id' without clarifying that both instanceId and snapshotId are required, or the purpose of x-request-id. This is a significant gap for a 4-parameter 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 states the verb 'Retrieve' and resource 'specific snapshot by id', distinguishing it from retrieveSnapshotList (list) and mutation tools like rollbackSnapshot, updateSnapshot, deleteSnapshot. The title reinforces this.
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 'by id' implies usage when a specific snapshot id is known, but no explicit when-to-use vs alternatives (e.g., retrieveSnapshotList) is provided. Sibling names hint at distinctions, but the description does not state exclusions or alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveSnapshotListList snapshotsARead-onlyInspect
List snapshots - List and filter all your snapshots for a specific instance
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| size | No | ||
| orderBy | No | ||
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is covered. The description adds context about filtering and instance scoping, but does not disclose pagination behavior or response format. This adds some value beyond annotations, but not rich 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 a single, front-loaded sentence that wastes no words. It directly states the tool's purpose and key scope, making it highly concise and easy to parse.
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 7 parameters, no output schema, and no parameter descriptions, the description is too minimal. It does not mention pagination, ordering, or response details, leaving significant gaps for an agent to understand the tool's full behavior. The filter capability is mentioned but not elaborated.
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 schema description coverage at 0%, the description must compensate. It mentions 'filter' and 'specific instance', which vaguely maps to instanceId and possibly name, but it does not explain pagination (page, size), sorting (orderBy), or the request headers. The meaning of most parameters remains undocumented.
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 lists snapshots, with the verb 'List' identifying the operation. It further specifies that it lists and filters snapshots for a specific instance, which distinguishes it from siblings like retrieveSnapshot (singular) and createSnapshot.
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 use for listing/filtering snapshots of a specific instance, giving clear context for when to use it. However, it does not explicitly mention when not to use it or point to alternative tools for single-snapshot retrieval, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveSnapshotsAuditsListList history about your snapshots (audit) triggered via the APIBRead-onlyInspect
List history about your snapshots (audit) triggered via the API - List and filters the history about your snapshots your triggered via the API.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| instanceId | No | ||
| snapshotId | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds that the audit history is 'triggered via the API' and mentions filtering, which are useful behavioral details. However, it does not disclose pagination, response format, or ordering behavior, so it only modestly supplements the 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 description is redundant, with the second clause 'List and filters the history about your snapshots your triggered via the API' essentially repeating the first sentence and containing a typo. It is short but wastes space on duplication rather than adding informative 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 tool with 11 parameters, no output schema, and no parameter descriptions, the description is minimal. It lacks any explanation of filtering semantics, pagination, sort behavior, or response structure. Even the 'triggered via the API' scope is vague. More detail is necessary for an agent to invoke this 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%, and the description does not mention or explain any of the 11 parameters. It fails to compensate for the lack of schema descriptions, leaving semantics of parameters like orderBy, x-request-id, and instanceId unexplained. The parameter names provide some clues, but the description adds no 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 clearly states the tool lists and filters audit history for snapshots triggered via the API. It uses a specific verb+resource combination that distinguishes it from sibling tools like retrieveSnapshotList or other resource audit lists. The intent is unmistakable.
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: to see API-triggered audit history for snapshots, as opposed to listing actual snapshots. It provides a clear context but does not explicitly name alternatives or exclusions, though the sibling list includes retrieveSnapshotList, making the distinction understandable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveTagGet specific tag by idARead-onlyInspect
Get specific tag by id - Get attributes values to a specific tag on your account.
| Name | Required | Description | Default |
|---|---|---|---|
| tagId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds minimal context ('attributes values', 'on your account') but does not disclose response format, error behavior, or authentication requirements beyond what annotations suggest.
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. Though it slightly rephrases the title after the dash, it does add 'attributes values' and 'on your account,' so it is efficient without significant 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?
For a simple retrieve-by-ID operation with strong annotations, the description is adequate as a minimal viable entry. However, it lacks context about what 'attributes values' entail, typical response structure, or how it fits with other tag-related operations, so it is not fully 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%, and the description only mentions 'by id,' leaving tagId mapping implicit. The required x-request-id (a UUID) and optional x-trace-id are completely unexplained, failing to compensate for the lack of 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 action ('Get specific tag by id') and resource ('tag'), with the added context of retrieving attribute values. This distinguishes it from sibling tools like retrieveTagList and retrieveTagAuditsList by targeting a single tag by ID.
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: it should be used when a specific tag ID is known. However, there is no explicit guidance on when not to use it or how it differs from the many other retrieve tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveTagAuditsListList history about your assignments (audit)DRead-onlyInspect
List history about your assignments (audit) - List and filters the history about your assignments.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| tagId | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is covered. However, the description adds no behavioral context such as what filters are available, pagination behavior, or what 'assignments' refers to. It is a thin restatement.
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 but repetitive—the first clause is essentially identical to the second clause. The dash-separated structure adds no value and wastes words.
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 10 parameters, no output schema, and many sibling audit tools, the description is severely insufficient. It does not explain what the audit list contains, how filtering works, or the meaning of any parameter. The annotations only cover the read-only safety aspect, not 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?
The schema has 10 parameters with 0% description coverage, but the description does not mention any of them. The generic word 'filters' does not map to specific parameters like tagId, startDate, or orderBy. The description completely fails to compensate for the missing parameter documentation.
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 restates the title almost verbatim: 'List history about your assignments (audit)' appears in both. It uses a clear verb (List) but the resource is ambiguous—the tool name says TagAudits while the description says assignments, which conflicts with the sibling tool retrieveAssignmentsAuditsList.
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 on when to use this tool versus other audit list tools like retrieveAssignmentsAuditsList or retrieveDomainsAuditsList. It does not mention prerequisites, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveTagListList tagsBRead-onlyInspect
List tags - List and filter all tags in your account
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| size | No | ||
| orderBy | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to reassert the safe read-only nature. The description adds useful scope ('in your account', 'all tags') and hints at filtering, which goes slightly beyond the annotations. However, it does not disclose pagination, response format, or any other behavioral traits, which would add more value.
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, short and front-loaded with the core action. It does repeat 'List tags' from the title, which is slightly redundant, but the additional phrasing 'List and filter all tags in your account' adds necessary scope. Overall, it is concise with little wasted space.
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 a simple list operation, the tool has six parameters including pagination and ordering, a required request ID, and no output schema. The description does not explain how to use these parameters or what the response might look like. It also omits any mention of the required 'x-request-id', leaving the agent with incomplete context 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 has no descriptions for its six parameters (0% coverage), so the description must compensate. It only mentions 'filter', which loosely maps to the 'name' parameter, but does not explain 'page', 'size', 'orderBy', or the required 'x-request-id'. This provides minimal added meaning beyond the raw 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 clearly states the tool's function: 'List and filter all tags in your account.' It uses a specific verb ('List') and resource ('tags'), and the 'all tags' scope distinguishes it from the sibling tool 'retrieveTag' which retrieves a single tag. 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?
The description implies when to use this tool (when listing or filtering tags) but does not explicitly state alternatives or exclusions. It does not mention that for a single tag, 'retrieveTag' might be more appropriate, nor does it provide any when-not-to-use guidance. However, the purpose statement itself gives contextual hints about its use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveUserGet specific user by idCRead-onlyInspect
Get specific user by id - Get attributes for a specific user.
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. However, the description adds no behavioral context beyond restating the tool's purpose, such as response format, error behavior, or authentication needs. With no extra context, it provides minimal value beyond 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 description is very short and front-loaded, but the second clause 'Get attributes for a specific user' is essentially a restatement of the first clause, adding redundancy. It is not wasteful, but not as tight as it could be.
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, the description covers the basic scope (specific user by id). However, there is no output schema and no mention of return values, error conditions, or unique distinctions from sibling tools. It is minimally sufficient but lacks enriching context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 3 parameters with 0% description coverage, so the description should compensate. It only mentions 'by id', which maps to userId, but does not explain x-request-id or x-trace-id. The description adds no meaningful semantic context beyond what the parameter names already imply.
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 'Get specific user by id' clearly states a specific verb (get) and resource (specific user) with scope (by id), distinguishing it from sibling tools like retrieveUserList or retrieveUserClient. The additional phrase 'Get attributes for a specific user' reinforces the purpose without ambiguity.
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 retrieveUserList or retrieveUserClient. There are no explicit exclusions or context clues to help an agent select this tool appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveUserAuditsListList history about your users (audit)CRead-onlyInspect
List history about your users (audit) - List and filter the history about your users.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| userId | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is clear. The description adds the ability to filter, but doesn't disclose additional behaviors like pagination behavior, response format, or required permissions. It provides minimal extra context beyond the 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 description is short and front-loaded, but it repeats 'history about your users' twice. It's concise and to the point, though the redundancy wastes a few words. Overall, it is compact and readable.
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 10 parameters, no output schema, and no parameter explanations, the description is inadequate. It doesn't clarify pagination parameters, the meaning of audit history, or what the response contains. The tool is complex enough that more context is needed 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 0%, so the description should compensate for explaining parameters. It only says 'filter' without detailing which parameters are used for filtering or what the header parameters (x-request-id, x-trace-id) mean. Parameter names are somewhat self-explanatory, but the description adds no 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?
The description clearly states the tool lists and filters user audit history. It identifies the resource (users) and the action (list/filter), distinguishing it from other audit list tools for different resources. However, it doesn't explicitly contrast with related user tools like retrieveUserList, and the phrasing is slightly redundant.
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 on when to use this tool versus alternatives. It implies usage for viewing user audit history but doesn't mention any exclusions or provide context like 'use this when you need changes made to user accounts.' The description offers no comparative information against sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveUserClientGet clientDRead-onlyInspect
Get client - Get idm client.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds no further behavioral context such as what the returned client contains, required permissions, or any side effects. It merely says 'Get' without elaboration.
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 extremely short, but this is under-specification rather than effective conciseness. It lacks structure and any useful detail, providing no value beyond 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?
With no output schema, no parameter descriptions, and an undefined term 'idm client', the description is insufficient for an agent to understand the tool's function or how to invoke it correctly. The tool is simple but still requires more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has two parameters (x-trace-id, x-request-id) with zero description coverage, and the tool description does not mention them. Their purpose (likely request tracing headers) is completely unexplained, leaving the agent to guess.
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 'Get client - Get idm client.' restates the title and adds an undefined acronym. It does not clearly explain what an 'idm client' is or how it differs from other retrieve tools like retrieveUser or retrieveRole, making it nearly a tautology.
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 on when to use this tool versus alternatives, no prerequisites, and no contextual exclusions. The description offers no usage direction at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveUserIsPasswordSetGet user is password set statusCRead-onlyInspect
Get user is password set status - Get info about idm user if the password is set.
| Name | Required | Description | Default |
|---|---|---|---|
| userId | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds minimal value beyond that, only restating the read operation. It does not describe response format, edge cases, or any permission requirements, but the annotations lower the bar for a simple read 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 very short but contains redundancy: 'Get user is password set status' and 'Get info about idm user if the password is set' convey the same fact. While it is front-loaded, the second half adds only the 'idm' context, which could be merged into a single, clearer sentence.
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 no output schema, the description is too sparse. It fails to explain what 'password set' means, what the return value represents (e.g., boolean), or how to identify the user. Given the lack of parameter semantics and usage guidance, it is incomplete even for a low-complexity 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 description coverage is 0%, and the description does not explain any of the three parameters. Crucially, userId (the key functional input) is not mentioned in the description. Correlation IDs (x-request-id, x-trace-id) are also left unexplained, leaving the agent without the necessary semantics to correctly populate 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 clearly states the tool retrieves the password-set status for an IDM user, using a specific verb and resource. It is distinguishable from sibling tools like retrieveUser, which likely returns broader user info. The phrasing is awkward but the intent 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?
No guidance is provided on when to use this tool versus alternatives like retrieveUser or other user-related retrieval tools. There are no contextual cues, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveUserListList usersBRead-onlyInspect
List users - List and filter all your users.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| No | |||
| owner | No | ||
| enabled | No | ||
| orderBy | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Read-only is already declared via annotations (readOnlyHint=true, destructiveHint=false). The description adds the scope 'all your users' and mentions filtering, but does not disclose pagination behavior or response format. This is consistent with annotations and adds minor 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 very short but repetitive: 'List users' restates the title, and 'List and filter all your users' is only slightly more informative. It could be condensed into a single phrase without losing meaning.
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 8 parameters, no output schema, and a minimal description. It does not explain pagination (page/size), ordering, or what fields can be filtered, leaving the agent to infer these from parameter names. For a list operation, more detail about the response shape and filtering behavior is expected.
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 should compensate, but it only says 'filter' without specifying the filterable fields (email, owner, enabled). The parameter names provide some hint, but the description adds no direct semantic value for the 8 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 clearly states the tool's function: to list users, with the added detail of filtering. It distinguishes from the singular 'retrieveUser' sibling by focusing on the plural collection. However, it could be more explicit about whether it returns a paginated 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 implies usage for listing/filtering users, but it does not explicitly contrast with alternatives like retrieveUser (single user) or other list tools. No exclusions or alternative tool references are given, leaving the choice to the agent's inference from the name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveVipGet specific VIP by ipBRead-onlyInspect
Get specific VIP by ip - Get attributes values to a specific VIP on your account.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds minimal context with 'on your account' and 'attributes values', but does not disclose additional behaviors like return format or authentication beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but redundant: 'Get specific VIP by ip' and 'Get attributes values to a specific VIP' repeat similar information. It is concise but could be more informative without additional 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?
The tool is a simple read operation with annotations, but there is no output schema. The description vaguely mentions 'attributes values' without specifying what attributes are returned or the response structure. It is minimally viable but leaves gaps for an agent.
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 must compensate. It only clarifies the 'ip' parameter ('by ip'), leaving x-request-id and x-trace-id unexplained. No details on format, purpose, or relationships between 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 clearly states 'Get specific VIP by ip' with a specific verb and resource, and distinguishes from siblings like retrieveVipList by indicating it targets a single VIP via IP. It also mentions 'on your account', clarifying scope.
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 usage when you need a specific VIP by IP, but does not explicitly mention alternatives or provide when-not-to-use guidance. The 'specific' wording hints at contrast with list tools, but no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveVipAuditsListList history about your VIPs (audit)CRead-onlyInspect
List history about your VIPs (audit) - List and filters the history about your VIPs.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| vipId | No | ||
| endDate | No | ||
| orderBy | No | ||
| changedBy | No | ||
| requestId | No | ||
| startDate | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds only that the tool 'filters' history but provides no details on pagination, default sorting, date range behavior, or response format. This minimal extra context is insufficient for a tool with 10 parameters.
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 redundant, repeating the same information twice: 'List history about your VIPs (audit)' and 'List and filters the history about your VIPs.' It wastes words without adding detail.
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 10 parameters, no output schema, and no parameter descriptions, the description is severely incomplete. It lacks essential information about required headers, pagination parameters, and expected response, making it difficult for an agent to invoke 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%, and the description does not explain any of the 10 parameters. While parameter names like vipId and startDate give some hints, the description does not clarify required request ID, filter semantics, or ordering format, leaving agents to guess.
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 lists and filters history about VIPs, using a specific verb and resource. However, it does not explicitly distinguish itself from other audit list tools such as retrieveVipAuditsList or sibling audit tools, though 'VIPs' and 'audit' narrow the scope.
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 on when to use this tool versus alternatives, no prerequisites, and no examples. The description only restates the purpose without adding usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieveVipListList VIPsBRead-onlyInspect
List VIPs - List and filter all vips in your account
| Name | Required | Description | Default |
|---|---|---|---|
| ip | No | ||
| ips | No | ||
| page | No | ||
| size | No | ||
| type | No | ||
| region | No | ||
| orderBy | No | ||
| ipVersion | No | ||
| dataCenter | No | ||
| resourceId | No | ||
| x-trace-id | No | ||
| resourceName | No | ||
| resourceType | No | ||
| x-request-id | Yes | ||
| resourceDisplayName | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds minimal extra context: it states the operation is a list/filter within the account. However, it does not disclosure behavioral details such as pagination behavior, response format, or required authentication beyond what the schema indicates.
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, consisting of a title-like phrase and a clarifying sentence. There is minor redundancy ('List VIPs' vs 'List and filter...'), but it is short and front-loaded with the action and resource. Every word largely earns its place, though the first phrase could be omitted.
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 (15 params, no output schema, no parameter descriptions), the description is under-specified. It fails to list the available filter dimensions, mention pagination (page/size), or describe the return structure. For a tool with many optional filters, more detail is needed to be 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 0% and there are 15 parameters, so the description must compensate. It only says 'List and filter', which broadly indicates that parameters may be used for filtering, but it does not explain any specific parameter's meaning or how to use them. This leaves the agent with little guidance for correctly selecting/formatting 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 clearly states 'List and filter all vips in your account', specifying the verb (list/filter), the resource (VIPs), and the scope (your account). This distinguishes it from the sibling retrieveVip (singular), which presumably fetches a single VIP.
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 its usage as a list/filter operation for VIPs but does not explicitly mention when to use it over alternatives like retrieveVip or retrieveVipAuditsList. There are no exclusions or alternative tool references, leaving usage to be inferred from the name and verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revokeCancelDomainRevoke cancellation for a specific domainCDestructiveInspect
Revoke cancellation for a specific domain - Revoke cancellation for a specific domain
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds no further behavioral details. It does not explain the effect on the domain (e.g., reactivation), any side effects, or whether the operation is reversible. Given annotations exist, the description contributes little beyond them.
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 repeats the same phrase twice ('Revoke cancellation for a specific domain - Revoke cancellation for a specific domain'), which is redundant and adds no new information. It is not concise, as it wastes space on 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 mutation tool with no output schema and minimal parameter descriptions, the description is incomplete. It does not state expected outcomes, return values, prerequisites (like having a pending cancellation), or error scenarios. The tool's complexity is low, but the description still leaves significant 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 0%, so the description must compensate, but it only mentions 'a specific domain' without detailing the parameters. It fails to explain the required 'domain' field, the operation's request ID 'x-request-id', or the optional trace ID 'x-trace-id'. This is insufficient given the schema provides no 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 action ('Revoke cancellation') and resource ('a specific domain'), which is specific and not easily confused with sibling tools like cancelDomain. However, it does not explicitly mention that it is the inverse of cancelDomain or distinguish itself beyond the name.
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 on when to use this tool versus alternatives. For instance, it does not mention that it should be used after a cancelDomain operation or that it is the opposite of cancelDomain. The description simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revokeDomainTransferOutRevoke transfer out for a domainCDestructiveInspect
Revoke transfer out for a domain - Revoke transfer out for a domain
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral information beyond what the annotations already convey. While annotations correctly mark this as destructive, the description does not explain what 'revoke' entails (e.g., canceling a pending transfer, potential irreversibility, or any side effects). It simply repeats the title.
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 but not concise in a meaningful way; it repeats the same phrase twice with a dash. This redundancy adds no value, and the under-specification is a structural flaw rather than efficiency.
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 operation with three parameters, no output schema, and no parameter documentation, the description is severely incomplete. It fails to mention the effect of the action, when it is applicable, or any prerequisites. The single repeated sentence is wholly inadequate.
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 does not compensate. The only parameter mentioned by name is 'domain', but its meaning and format are not explained. The required x-request-id and optional x-trace-id are completely unaddressed, leaving the agent without necessary param 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 clearly states the action ('Revoke transfer out for a domain'), which is a specific verb+resource. However, it is essentially a verbatim repeat of the title and does not distinguish from the sibling tool confirmDomainTransferOut, which is the opposite operation.
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 on when to use this tool versus alternatives. There is no mention of prerequisites, such as a pending transfer, nor any reference to the related confirmDomainTransferOut or getAuthCode tools. The description offers no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rollbackSnapshotRevert the instance to a particular snapshot based on its identifierADestructiveInspect
Revert the instance to a particular snapshot based on its identifier - Rollback the instance to a specific snapshot. In case the snapshot is not the latest one, it will automatically delete all the newer snapshots of the instance
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| snapshotId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| rollbackSnapshotBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, and the description adds specific behavioral context: if the snapshot is not the latest, it automatically deletes all newer snapshots. This goes beyond the annotation safety flag and provides meaningful consequence information, though it doesn't cover auth or other side effects.
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 sentences, front-loaded with the core action, and every word adds value. It efficiently communicates the primary purpose and the key side effect without 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 the moderate complexity (destructive rollback with nested body, no output schema), the description covers the main behavioral consequence (deleting newer snapshots) and benefits from annotations. However, it lacks parameter explanations and any note about return values or errors, so it's adequate but not fully 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 0%, and the description does not explain the parameters. It indirectly clarifies that snapshotId is the snapshot's identifier, but instanceId, x-request-id, and rollbackSnapshotBody are left undefined. With 5 parameters and no descriptions, the description fails to compensate for the schema's lack of parameter documentation.
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 'revert'/'rollback' and the resource ('instance to a particular snapshot'), which distinguishes it from sibling tools like createSnapshot or deleteSnapshot. The title and description align and provide a specific 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 usage context is implied by the verb 'revert' – it's used when you want to roll back an instance to a snapshot. However, there is no explicit guidance on when to use this versus alternatives (e.g., reinstallInstance, rescue), no prerequisites, and no exclusions. So it gets a '3' for implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setDefaultHandleSet default handleDDestructiveInspect
Set default handle - Set default handle
| Name | Required | Description | Default |
|---|---|---|---|
| handleId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=true, and the description does not contradict these. However, the description adds no behavioral context whatsoever—it does not explain what changes occur, whether the operation is reversible, or what side effects exist. It provides no additional transparency beyond the existing 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?
While the description is short, it is under-specified and redundant. It repeats the title instead of providing useful structure or front-loaded key information. The single sentence fails to earn its place as a helpful description, offering no value to the reader.
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, no parameter explanations, and no usage guidance, the description is completely inadequate. The tool likely performs a state-changing operation (setting a default), but the agent has no idea what handleId refers to, what request IDs are needed, or what the outcome will be. This is insufficient 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 input schema has 3 parameters with 0% description coverage, and the description does not explain any of them. handleId, x-request-id, and x-trace-id are left entirely undocumented, so the agent has no semantic guidance for providing correct values or understanding their purpose.
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 'Set default handle - Set default handle' is a tautology that merely restates the tool name/title. It does not specify what setting a default handle entails, what a 'handle' refers to, or what action is actually performed. This provides no informative content to distinguish it from other handle-related tools like createHandle or updateHandle.
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 guidance on when to use this tool versus alternatives such as createHandle, updateHandle, or removeHandle. There is no mention of prerequisites, context, or exclusions, leaving the agent without any direction for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shutdownShutdown compute instance / resource by its idADestructiveInspect
Shutdown compute instance / resource by its id - Shutdown an compute instance / resource. This is similar to pressing the power button on a physical machine. This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true, but the description adds important behavioral detail: it sends an ACPI event for a clean guest OS shutdown, similar to pressing the power button. This goes beyond the annotations and clarifies the mechanism.
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 opens with a near-verbatim repeat of the title ('Shutdown compute instance / resource by its id - Shutdown an compute instance / resource'), which is redundant. The ACPI analogy is useful, but the first half should be trimmed for conciseness.
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 shutdown action, the description covers the core behavior and key parameter. However, with no output schema, zero parameter descriptions, and no mention of return values or prerequisites, there are some gaps, though it is reasonably 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 has 3 parameters with 0% description coverage. The description mentions 'by its id' which clarifies instanceId, but leaves x-trace-id and x-request-id completely unexplained, so it adds minimal 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 clearly states the action ('Shutdown') and target ('compute instance / resource'), and the ACPI analogy distinguishes it from likely siblings like 'stop' or 'restart'.
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 graceful shutdown via ACPI but never explicitly states when to use this tool over alternatives such as 'stop' or 'restart'. It provides context but no explicit exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
startStart a compute instance / resource identified by its idADestructiveInspect
Start a compute instance / resource identified by its id - Starting a compute instance / resource is like powering on a real server. If the compute instance / resource is already started nothing will happen. You may check the current status anytime when getting information about a compute instance / resource.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a mutating, potentially destructive action (readOnlyHint=false, destructiveHint=true). The description adds valuable context: the idempotent behavior ('nothing will happen' if already started) and the analogy to powering on a server. It does not contradict the 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 description is front-loaded with the core action, but it repeats 'compute instance / resource' multiple times unnecessarily. The dash and two additional sentences are acceptable, but the writing is verbose and could be tightened without losing meaning.
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 start operation with annotations and a schema, the description covers the main behavior and idempotency. However, it lacks any mention of required headers, error handling, or asynchronous behavior, leaving gaps in the agent's understanding of how to invoke it successfully.
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 parameter documentation. It only vaguely refers to 'its id', not clearly mapping to the instanceId parameter, and entirely omits the required x-request-id and optional x-trace-id headers. The schema provides types but no semantic explanation.
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 ('Start') and the resource ('compute instance / resource identified by its id'). It distinguishes from sibling tools like 'restart', 'stop', and 'rescue' by conveying the power-on semantics.
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 usage context: powering on a server and idempotent behavior (if already started, nothing happens). It also suggests checking status via the retrieve operation. However, it does not explicitly mention when not to use it or point to alternatives like 'restart' for rebooting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stopStop compute instance / resource by its idBDestructiveInspect
Stop compute instance / resource by its id - Stopping a compute instance / resource is like powering off a real server. So please be aware that data may be lost. Alternatively you may log in and shut your compute instance / resource gracefully via the operating system. If the compute instance / resource is already stopped nothing will happen. You may check the current status anytime when getting information about a compute instance / resource.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and readOnlyHint=false. The description adds valuable behavioral context: data may be lost, the operation is idempotent (no-op if already stopped), and a status-check alternative exists. This goes well beyond the annotations without contradicting them.
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 paragraph with purposeful sentences: main action, analogy, warning, alternative, idempotency, and status check. It is slightly repetitive with 'compute instance / resource' but remains concise and front-loaded with the intent.
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 operation's effect, data-loss risk, graceful-shutdown alternative, and idempotency. However, it lacks differentiation from the sibling 'shutdown' tool and does not explain the request headers (x-request-id, x-trace-id). Given the existence of 'shutdown' and the 0% schema coverage, this is a notable 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 input schema has 0% description coverage, so the description must compensate. It only mentions 'by its id', hinting at instanceId, but does not explain x-request-id or x-trace-id, nor the format/meaning of the required request ID. This is insufficient for an agent to confidently construct the request.
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 (stop by id) and uses the power-off analogy to convey the hard-stop behavior. However, it does not explicitly distinguish this from the sibling tools 'shutdown' or 'restart', leaving some ambiguity about when this tool is the appropriate API choice.
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 (for a hard stop) and suggests an alternative (graceful OS shutdown), but it does not explicitly name the 'shutdown' tool or provide clear when-not-to-use guidance. The context is helpful but lacks explicit comparison to sibling API operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tool_searchTool SearchARead-onlyInspect
Search the available tool catalog to discover tools by name, description, or arguments. Use a regex pattern or natural language query to find relevant tools. Returns tool references that are automatically expanded into full tool definitions.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Search mode: "regex" for pattern matching, "bm25" for natural language. Defaults to "bm25". | |
| query | Yes | A regex pattern or natural-language query to search tool names, descriptions, and argument names. Maximum 200 characters. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is established. The description adds valuable behavioral context beyond annotations: that results are tool references automatically expanded into full tool definitions, and that both regex and natural language modes are available. This is useful for an agent to understand the return behavior and search flexibility.
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 sentences, front-loaded with the primary action, and every phrase earns its place. It efficiently covers what the tool does and how it behaves without redundant elaboration.
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 no output schema, the description explains that results are tool references auto-expanded into full definitions, covering the main return behavior. The simple parameter set is fully documented by the schema, and annotations provide safety context. The description is sufficiently complete for this straightforward search 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 100%, with both parameters (query and mode) already described in the schema. The description reiterates the difference between regex and natural language but does not add new parameter-level semantics. Baseline 3 is appropriate since the schema handles the parameter documentation.
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 purpose: searching the available tool catalog to discover tools by name, description, or arguments. This distinguishes it from all sibling tools, which are direct resource operations. The verb 'Search' and specific resource ('tool catalog') are explicit and 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 explains how to use the tool (via regex pattern or natural language query) and implies the use case: discovering relevant tools when the exact tool is unknown. It does not explicitly mention alternatives, but as the only search tool among siblings, the context is clear. A brief note on when not to use it (e.g., when you already know the exact tool) would elevate it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unassignInstancePrivateNetworkRemove instance from a Private NetworkCDestructiveInspect
Remove instance from a Private Network - Remove a specific instance from a Private Network
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| privateNetworkId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the agent knows it is a mutation. The description adds no behavioral context beyond repeating the action; it does not disclose what happens to the instance's network connectivity, whether the action is reversible, or any side effects. With annotations present, the bar is lower, but the description contributes zero additional 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 short but redundant: 'Remove instance from a Private Network - Remove a specific instance from a Private Network' is essentially the same statement twice. The second sentence adds no information, so it fails to earn its place. A single concise sentence would have been more effective.
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 removal operation, the description is insufficiently complete. It lacks any mention of return values (no output schema), prerequisites, side effects, or parameter semantics. While annotations signal destructiveness, the overall contextual picture is minimal, offering no guidance for an agent deciding whether to invoke 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?
Schema description coverage is 0% and the description provides no parameter explanations. The four parameters (instanceId, privateNetworkId, x-request-id, x-trace-id) are left entirely to the schema's bare property names, which offer minimal semantic meaning. The description's phrase 'a specific instance' does not sufficiently clarify parameter roles.
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 and resource: 'Remove instance from a Private Network' with an explicit repetition reinforcing the specific operation. It distinguishes from siblings like assignInstancePrivateNetwork (the reverse) and deletePrivateNetwork (deleting the network itself), though the differentiation is implicit through the action verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as unassignIp (for IP unbinding) or deletePrivateNetwork. The description simply restates the action without context about prerequisites, reversibility, or scenarios that would favor this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unassignIpUnassign a VIP to a VPS/VDS/Bare MetalCDestructiveInspect
Unassign a VIP to a VPS/VDS/Bare Metal - Unassign a VIP from an VPS/VDS/Bare Metal using the machine id.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| resourceId | Yes | ||
| x-trace-id | No | ||
| resourceType | Yes | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true. The description does not add any behavioral context beyond that, such as consequences of unassigning (e.g., losing IP connectivity) or requirements like the VIP being currently assigned.
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 repetitive, restating 'Unassign a VIP' twice in the same sentence, and contains grammatical errors ('an VPS'). The redundant phrasing could be condensed.
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 operation with 5 parameters and no output schema, the description is minimal. It omits side effects, required state, return behavior, and parameter details, leaving the agent under-informed.
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 has 0% description coverage, and the description only refers to 'machine id' (likely resourceId). It does not explain ip, resourceType, or the trace/request ID headers, leaving all parameters ambiguous.
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: unassign a VIP from a VPS/VDS/Bare Metal using the machine id. It distinguishes from siblings like assignIp and unassignInstancePrivateNetwork. Although the title has a grammar error ('to' vs 'from'), the description corrects it.
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 instead of alternatives like assignIp or unassignInstancePrivateNetwork. It does not mention prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateDnsZoneRecordUpdate DNS zone recordDDestructiveInspect
Update DNS zone record - Create resource record in a zone
| Name | Required | Description | Default |
|---|---|---|---|
| recordId | Yes | ||
| zoneName | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| updateDnsZoneRecordBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation destructiveHint=true indicates this operation is destructive, but the description's 'Create' implies a non-destructive addition. This contradicts the annotation. No additional behavioral details (e.g., replacement semantics, required permissions) are provided.
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?
While brief, the description includes a contradictory phrase that adds ambiguity rather than clarity. A useful description would be a single clear statement; this one wastes space with misleading 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 five parameters, a nested body, and no output schema, the description is far too sparse. It fails to explain the record types supported, required fields, or the effect of the operation, making it insufficient 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 description contains no parameter explanations. The schema has 0% description coverage for top-level parameters, and the description does not clarify recordId, zoneName, or the body structure, leaving the agent without necessary context.
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 reads 'Update DNS zone record - Create resource record in a zone', directly contradicting the tool's name by using 'Create' instead of 'Update'. This misstates the operation and fails to distinguish it from the sibling tool createDnsZoneRecord. It is misleading rather than clear.
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 usage context is provided; the tool does not mention when to use it versus createDnsZoneRecord or deleteDnsZoneRecord. The phrase 'Create resource record' actively misleads an agent toward using it for creation instead of modification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateDomainUpdate a specific domainCDestructiveInspect
Update a specific domain - Update nameservers and handles for a specific domain
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| updateDomainBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, but the description adds no behavioral context. It does not disclose that updating nameservers/handles likely replaces existing values, may affect DNS resolution, or requires specific domain state. The description merely repeats the action without 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 repetitive, with 'Update a specific domain' stated twice. It could have been one sentence. The redundancy adds no value and wastes space.
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 nested schema, destructive annotation, and lack of output schema, the description is incomplete. It does not mention expected return values, error conditions, side effects, or any workflow context. For a complex mutation tool, this is insufficient.
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 mentions 'nameservers' and 'handles' but does not explain the format of handles (string), the nested structure of nameservers (array of objects with hostname, ipV4, ipV6), or the required parameters like domain and x-request-id. This leaves users guessing about parameter details.
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 'Update a specific domain - Update nameservers and handles for a specific domain' clearly identifies a specific verb (update), resource (domain), and scope (nameservers and handles). This distinguishes it from siblings like updateHandle (updates a handle object) and updateDnsZoneRecord (updates DNS zone records).
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 on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or situations where other tools (e.g., updateHandle, updateDnsZoneRecord) would be more appropriate. The usage context is only implied by the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateHandleUpdate specific handleDDestructiveInspect
Update specific handle - Update specific handle
| Name | Required | Description | Default |
|---|---|---|---|
| handleId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| updateHandleBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive behavior (destructiveHint=true), and the description adds no further context about side effects, required permissions, or what fields are affected. It is not misleading, but it contributes no additional transparency beyond the structured 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 description is extremely terse, but this is under-specification rather than true conciseness. The single sentence 'Update specific handle - Update specific handle' is repetitive and provides no useful structure or front-loaded content.
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 a nested body parameter, the description should explain expected behavior, return values, or error cases. It offers none, making the tool practically unusable for an agent without external documentation.
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 by explaining parameter meaning. It does not mention any of the parameters (handleId, updateHandleBody, etc.) or their roles, leaving the agent with only raw schema names and 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 'Update specific handle - Update specific handle' is a tautology that simply restates the tool name and title. It provides no actionable verb-plus-resource statement that distinguishes this tool from siblings like updateUser or updateDomain.
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 on when to use this tool versus alternatives. The description does not mention typical use cases, prerequisites, or exclusions, leaving the agent to guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateImageUpdate custom image name by its idCDestructiveInspect
Update custom image name by its id - Update name of the custom image
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| updateImageBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations indicate readOnlyHint=false and destructiveHint=true, but the description adds no behavioral context beyond that. It does not explain the destructive implications (e.g., overwriting the existing name), any side effects, or what happens to referenced entities. The description merely restates the operation without revealing behavioral traits.
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 very short and front-loaded, containing only 11 words. It avoids verbosity and gets to the point quickly. The slight redundancy ('Update... - Update') is a minor flaw but does not significantly harm clarity or usability.
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 should convey what the response looks like or what success criteria exist; it does neither. It also fails to mention that updateImageBody can include both name and description, leaving important context out. For a mutation tool with nested parameters, the description is too minimal to be self-sufficient.
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 description mentions 'by its id' which loosely maps to the imageId parameter, and 'update name' hints at the name parameter within updateImageBody. However, the schema description coverage is 0%, and the description does not explain other parameters like x-request-id or the description field within updateImageBody. The limited hints are insufficient given the coverage 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 clearly states the verb ('Update') and resource ('custom image name') and identifies the targeting mechanism ('by its id'). It distinguishes from sibling tools like createCustomImage and deleteImage. However, it narrowly says 'name' when the schema shows the operation can also update 'description', making the stated purpose slightly incomplete.
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 createCustomImage, deleteImage, or other update tools. There is no mention of prerequisites or scenarios like renaming an image. The description is purely definitional and lacks contextual usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateObjectStorageModifies the display name of object storageCDestructiveInspect
Modifies the display name of object storage - Modifies the display name of object storage. Display name must be unique.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| objectStorageId | Yes | ||
| updateObjectStorageBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as destructive and non-read-only. The description adds the uniqueness constraint but does not disclose whether the update is partial or full, what happens on failure, or any side effects. It repeats the title without enriching 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 repetitive, stating 'Modifies the display name of object storage' twice. It is under-specified rather than concise, wasting space on 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 mutation with four parameters, a nested body, and no output schema, the description is severely inadequate. It omits information about the request body, response, error conditions, and operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not describe any of the four parameters, and schema description coverage is 0%. Although the schema includes a description for displayName, the tool description itself adds no parameter semantics 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 clearly states the tool modifies the display name of object storage, using a specific verb and resource. It is straightforward but does not differentiate from sibling tools like upgradeObjectStorage, and it redundantly repeats the title.
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 on when to use this tool versus alternatives. There are no prerequisites, exclusions, or comparisons to related tools. The only added detail is the uniqueness constraint, which is a validation rule, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updatePtrRecordEdit a PTR Record by ip addressCDestructiveInspect
Edit a PTR Record by ip address - Edit attributes for a specific PTR Record
| Name | Required | Description | Default |
|---|---|---|---|
| ipAddress | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| updatePtrRecordBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark this as destructive (destructiveHint: true), so the description must disclose mutation effects. The description only says 'Edit' with no details on what changes occur, whether it overwrites all attributes, or if it requires specific authorization. It adds no behavioral context beyond the annotation.
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 is easy to parse, but it largely restates the title and adds minimal value. It is not verbose, but it could be more informative without losing conciseness.
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 a destructive mutation tool, no output schema, and a nested request body, the description lacks essential operational details: how to construct the body, what response to expect, and any side effects. The schema provides some parameter names but no guidance on usage.
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 tool description does not explain any parameters. It mentions 'attributes' generically but doesn't specify that updatePtrRecordBody contains the new ptr value or that ipAddress is the record identifier. The ptr field within the schema has a minimal description, but the tool description contributes nothing.
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 'Edit' as a specific verb and identifies the PTR Record resource and ip address as key. It distinguishes from sibling tools like createPtrRecord and deletePtrRecord by indicating modification semantics, though it doesn't explicitly name 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?
The description implies this tool is for editing an existing PTR record, which is the correct context. However, it provides no explicit when-to-use guidance, no mention of prerequisites (e.g., record must exist), and no comparison with alternatives like updateDnsZoneRecord.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateRoleUpdate specific role by idCDestructiveInspect
Update specific role by id - Update attributes to your role. Attributes are optional. If not set, the attributes will retain their original values.
| Name | Required | Description | Default |
|---|---|---|---|
| roleId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| updateRoleBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims 'Attributes are optional. If not set, the attributes will retain their original values,' but the input schema requires 'name', 'admin', and 'accessAllResources' in the updateRoleBody, directly contradicting the description. This misleading information severely harms transparency, and it does not convey any additional behavioral context beyond the 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 description is brief and front-loaded with the main purpose, but it wastes its second sentence on an inaccurate claim, making it less effective than it could be.
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 nested objects, multiple parameters, and no output schema, this description is highly incomplete. It fails to explain the request body structure, required identifiers, or any return/behavior details, and it actively misleads regarding optionality, making it inadequate for an agent to invoke 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?
The description provides no details about the parameters themselves, and schema description coverage is 0%. While the schema includes some property descriptions, the tool description adds no parameter-level semantics, leaving the agent reliant on the schema without additional 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 clearly states the action ('Update specific role by id') with a specific verb and resource, and it distinguishes itself from sibling tools like createRole, deleteRole, and retrieveRole.
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 usage for updating a role and mentions that attributes are optional, but it does not explicitly compare with alternatives or state when not to use this tool. The guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateSecretUpdate specific secret by idADestructiveInspect
Update specific secret by id - Update attributes to your secret. Attributes are optional. If not set, the attributes will retain their original values. Only name and value can be updated.
| Name | Required | Description | Default |
|---|---|---|---|
| secretId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| updateSecretBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a destructive hint and non-read-only behavior, so the description adds extra context: attributes are optional and retain original values if not set, clarifying the update semantics. This goes beyond the annotations by explaining partial-update behavior, though it doesn't cover permissions or side effects beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose and followed by concise constraints. Every sentence provides relevant information without fluff or repetition, making it appropriately sized and well-structured.
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 a destructive hint and no output schema, the description covers the essential aspects: target resource, updatable fields, optional attribute behavior, and constraints. It omits details like response handling or authentication, but the absence of an output schema and the presence of annotations reduce the burden. Overall, it's complete enough for practical use.
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 meaning to the updateSecretBody parameter by stating attributes are optional and only name/value can be updated. However, the required parameters x-request-id and secretId are only implicitly covered ('by id'), and x-trace-id is not explained. With schema description coverage at 0% for top-level parameters, the description only partially compensates.
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 updates a specific secret by ID, using the specific verb 'Update' with the resource 'secret' and scope 'by id'. It also distinguishes from sibling tools like createSecret and deleteSecret by specifying that only name and value can be updated, making its 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 clear context for when to use this tool: updating an existing secret's name or value. It notes that attributes are optional and retain original values, implying a partial-update use case. While it doesn't explicitly name alternatives, the restriction 'Only name and value can be updated' implicitly tells users not to use it for other attribute changes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateSnapshotUpdate specific snapshot by idADestructiveInspect
Update specific snapshot by id - Update attributes of a snapshot. You may only specify the attributes you want to change. If an attribute is not set, it will retain its original value.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| snapshotId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| updateSnapshotBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, and the description adds useful behavioral context about partial updates (unspecified attributes retain original values). It does not contradict the annotations and provides additional nuance beyond the safety flags.
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 and front-loaded with the core purpose. The first phrase repeats the title, but the second sentence adds valuable partial-update semantics without 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?
For a simple update tool with no output schema, the description covers the key behavioral aspect (partial update) but omits any mention of required ID parameters, potential destructive consequences, or expected response. It is minimally viable but leaves gaps for an agent to infer.
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% (though nested properties have descriptions), and the description only generically refers to 'attributes' without detailing instanceId, snapshotId, or the body structure. It offers no help beyond the schema for understanding required 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 clearly states the action ('Update attributes of a snapshot') and the resource ('snapshot by id'), distinguishing it from sibling tools like createSnapshot, deleteSnapshot, and rollbackSnapshot. The verb and target are specific and 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 explains partial update behavior: 'You may only specify the attributes you want to change. If an attribute is not set, it will retain its original value.' This gives clear guidance on how to use the tool, though it does not explicitly mention when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateTagUpdate specific tag by idADestructiveInspect
Update specific tag by id - Update attributes to your tag. Attributes are optional. If not set, the attributes will retain their original values.
| Name | Required | Description | Default |
|---|---|---|---|
| tagId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| updateTagBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a key behavioral detail: unspecified attributes retain their original values, indicating partial-update semantics. This goes beyond the annotations (destructiveHint=true) and clarifies that not all fields need to be provided. Missing error/return behavior, but the added nuance is valuable.
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 fluff, but the phrase 'Update attributes to your tag' is slightly awkward and repetitive. The front-loaded title and description are efficient overall, earning a strong score for conciseness.
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 nature of the tool, the presence of annotations, and some schema descriptions for the body fields, the description covers the essential partial-update behavior. No output schema exists, so return values need not be explained. Could mention prerequisites (e.g., tag must exist), but it is not necessary for a basic update 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 description explicitly states that attributes are optional, which is critical semantics not conveyed by the schema (where only the updateTagBody object is required). This compensates for the low schema description coverage (0%). It does not explain tagId or headers, but those are standard identifiers and trace fields.
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 ('Update'), the resource ('tag'), and the identifier ('by id'). This distinguishes it from sibling tools like createTag and deleteTag, making 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 intended usage is implied: modifying an existing tag. However, it does not explicitly mention when to use this tool over alternatives or provide exclusion criteria. The partial-update note gives some context but no direct comparison with other tag operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateUserUpdate specific user by idADestructiveInspect
Update specific user by id - Update attributes of a user. You may only specify the attributes you want to change. If an attribute is not set, it will retain its original value.
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| updateUserBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal mutation (readOnlyHint=false, destructiveHint=true), and the description adds the key PATCH-like behavior that unspecified fields are retained rather than reset. It does not mention permissions or side effects, but the annotation plus partial-update note provide useful 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 only two sentences and front-loads the purpose. The opening phrase repeats the title, creating minor redundancy, but the partial-update explanation is valuable and concise.
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 a nested updateUserBody, three required parameters, destructive behavior, and no output schema, the description is underspecified. It does not explain required headers, how to identify the user, supported attribute categories, or expected results, leaving gaps for an agent trying to invoke the 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 description does not elaborate on top-level parameters such as userId, x-request-id, x-trace-id, or updateUserBody. With 0% schema description coverage for these parameters, the description should compensate, but it only generically refers to 'attributes of a user' and gives no details about required headers or body construction.
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 'Update specific user by id' and 'Update attributes of a user', identifying the verb, resource, and scope. This distinguishes it from siblings like createUser, deleteUser, retrieveUser, and other update* variants.
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 explains partial-update semantics: only specified attributes change and unspecified ones retain their original values. This clearly indicates when the tool should be used, though it does not explicitly contrast it with create/delete/retrieve user tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upgradeInstanceUpgrading instance capabilitiesCDestructiveInspect
Upgrading instance capabilities - In order to enhance your instance with additional features you can purchase add-ons. Currently only firewalling and private network addon is allowed.
| Name | Required | Description | Default |
|---|---|---|---|
| instanceId | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes | ||
| upgradeInstanceBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, and the description adds context about purchasing add-ons. However, it does not disclose impact on billing, reversibility, or any additional behavioral traits beyond what annotations convey. It also introduces an inconsistency by mentioning 'firewalling' which is absent from 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?
The description is relatively concise with one main sentence and a constraint. Some filler like 'In order to' could be trimmed, but overall it is suitably brief and front-loaded with the key action.
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 operation with 4 parameters, no output schema, and a nested body, the description is incomplete. It lacks behavior details, return value expectations, prerequisites, and fails to mention that the schema only supports backup and privateNetworking. The mention of firewalling is a notable omission/inaccuracy that harms 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 description provides no parameter information and actually conflicts with the schema. It states 'firewalling and private network addon is allowed' but the input schema only contains 'backup' and 'privateNetworking' fields. This mismatch could mislead an agent into trying to invoke a non-existent firewall parameter. The description fails to compensate for the 0% schema description 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 clearly identifies the action as upgrading instance capabilities by purchasing add-ons, and specifies the scope (instance capabilities). It distinguishes from siblings like assignInstancePrivateNetwork, though not explicitly. The mention of 'firewalling and private network addon' narrows the purpose, but the mismatch with schema fields weakens clarity.
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 guidance on when to use this tool versus alternatives such as assignInstancePrivateNetwork or createPrivateNetwork. It implies usage for enhancing instances with add-ons but does not state prerequisites, exclusions, or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upgradeObjectStorageUpgrade object storage size resp. update autoscaling settings.ADestructiveInspect
Upgrade object storage size resp. update autoscaling settings. - Upgrade object storage size. You can also adjust the autoscaling settings for your object storage. Autoscaling allows you to automatically purchase storage capacity on a monthly basis up to the specified limit.
| Name | Required | Description | Default |
|---|---|---|---|
| x-trace-id | No | ||
| x-request-id | Yes | ||
| objectStorageId | Yes | ||
| upgradeObjectStorageBody | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds valuable context by explaining that autoscaling automatically purchases storage capacity monthly up to a limit, which goes beyond the annotations and helps the agent understand ongoing billing 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?
The description is short but repetitive: the first sentence duplicates the title, and the second sentence restates part of the first. It could be condensed into one clear sentence without losing meaning, so not 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 destructive mutation tool with no output schema, the description is incomplete. It does not mention irreversible aspects like 'no downgrade possible' (only present in a schema parameter description) or billing consequences, and it lacks guidance on prerequisites or return values. The description alone would not fully prepare an agent to use 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?
The description references 'size' and 'autoscaling limit', which map to the totalPurchasedSpaceTB and autoScaling parameters, but it does not provide explicit parameter names or details. The nested schema does include descriptions for these two fields, but the main description adds only partial semantic reinforcement.
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 ('Upgrade object storage size') and resource ('object storage'), and also covers the secondary purpose of updating autoscaling settings. This is clear and helps distinguish it from general updateObjectStorage or other storage 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 (when upgrading size or adjusting autoscaling) but does not explicitly mention alternatives or exclusions. It does not differentiate from sibling tools like updateObjectStorage, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validateDomainAvailabilityCheck domain availablilityCDestructiveInspect
Check domain availablility - Check if a specific domain is available or not
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation ('Check if... available'), but annotations mark readOnlyHint as false and destructiveHint as true. This is a direct contradiction, and the description fails to disclose any side effects or safety concerns.
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 but contains redundancy: 'Check domain availablility' is repeated in the second phrase with a wordy construction. It includes a typo ('availablility') and wastes the opportunity to provide useful information in the available space.
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 lacks an output schema, and the description does not explain the return format, success/failure indicators, or error conditions. Given the contradictory annotations, the description is insufficient for an agent to understand 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?
The schema has 0% description coverage, and the description only implicitly mentions the 'domain' parameter without specifying format, TLD constraints, or the purpose of x-request-id/x-trace-id. Meaningful parameter semantics are almost entirely absent.
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 checks if a specific domain is available, which distinguishes it from other domain operations like listDomains or retrieveDomain. However, it is somewhat redundant with the title and doesn't explicitly mention alternatives, so it's clear but not fully differentiating.
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 guidance on when to use this tool versus other domain-related tools (e.g., listDomains, orderDomain). There are no prerequisites, exclusions, or alternative suggestions, so the agent receives no contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
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
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 Servers
- AlicenseBqualityAmaintenanceInspect and manage IONOS CLOUD infrastructure via MCP1006Apache 2.0

Hostodo MCPofficial
AlicenseBqualityCmaintenanceManage Hostodo VPS infrastructure from MCP clients and AI agents with scoped tokens and audit logs.47MIT- AlicenseAqualityAmaintenanceMCP server for the Hetzner Cloud API. Manage servers, networks, volumes, firewalls, load balancers, and more through the Model Context Protocol.1002224Functional Source , Version 1.1, MIT Future
- AlicenseAqualityDmaintenanceMCP server for Oracle Cloud Infrastructure (OCI) that provides tools to manage Compute, Object Storage, Block Storage, Networking, Autonomous Database, and IAM via the official OCI SDK.2347MIT