helvabase_list_document_versions
List current per-item immutable revisions. Reuse them as expectedVersion; changing a file or draft invalidates previous file and pack approvals.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| planRevision | Yes |
List current per-item immutable revisions. Reuse them as expectedVersion; changing a file or draft invalidates previous file and pack approvals.
| Name | Required | Description | Default |
|---|---|---|---|
| planRevision | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe-read profile is covered. The description adds genuinely new behavioral context beyond the annotations: revisions are immutable, and changing a file or draft invalidates previous file and pack approvals. This immutability/invalidation semantic is valuable and not present in the structured fields. 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?
Two sentences with no filler. The core purpose is front-loaded in the first sentence, and the second sentence adds a consequential detail (expectedVersion reuse and invalidation). Efficient and well-ordered, though it could afford a brief parameter note given the schema gap.
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 parameter with no schema description, no output schema, and sits in a complex domain of revisions and approvals. The description explains the tool's purpose and a key side-effect but leaves the sole required parameter entirely unexplained and does not hint at the response shape. For a one-parameter call this is inadequate 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 schema provides no documentation for the planRevision parameter or its nested fields. With such low coverage, the description carries the full burden to explain the parameter, but it never mentions planRevision, outputJobId, or payloadHash at all. This is a significant gap for an agent trying to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('current per-item immutable revisions'), making the purpose clear. It adds a domain detail (reuse as expectedVersion) that helps an agent understand what the list is for. It doesn't explicitly differentiate from siblings, but the revision-listing purpose is distinctive enough in this large family.
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 implicit usage guidance: revisions should be reused as expectedVersion, and it warns that editing a file/draft invalidates prior approvals. This helps an agent decide when the returned value matters. However, it does not name alternatives or state when NOT to use this tool, leaving the selection decision largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.