Skip to main content
Glama

cad_version

Manage document version snapshots: save labeled snapshots, list them, compare with diff, or restore previous states for in-memory undo-like versioning.

Instructions

Save, list, diff or restore document version snapshots.

按 ``action`` 执行版本快照操作:save / list / diff / restore。
In-memory snapshots of the current document state. ``save`` captures a
labeled snapshot; ``diff`` compares two snapshots with ``deepdiff`` and
reports changed/added/removed fields; ``restore`` rolls the document back
to a snapshot.

When not to use: ``cad_version`` is for in-memory undo-like versioning.
For durable file persistence use ``cad_file`` (save/export); for
collaboration branches use ``cad_collab`` (tool=branch).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
versionNoVersion action, discriminated by `action`: save, list, diff or restore a document snapshot.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
rawNoRaw deepdiff result
countNoNumber of snapshots
labelNoSnapshot label
actionYesVersion action
statusYesOperation status
changesNoTotal number of differences
file_idNoFile id
messageNoStatus description
versionsNoSnapshots
identicalNoWhether two snapshots are identical
version_idNoVersion id
added_countNoAdded items
removed_countNoRemoved items
changed_fieldsNoChanged field paths
Behavior4/5

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

Annotations already indicate this is a mutating, non-idempotent, non-destructive operation. The description adds valuable context: snapshots are in-memory (not durable), diff uses deepdiff and reports changed/added/removed fields, and restore rolls back the document. This goes beyond the annotation flags, though it does not discuss all side effects 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.

Conciseness4/5

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

The description is well-structured: a one-line summary, a paragraph explaining each action, and a dedicated 'When not to use' section. However, it repeats the same content in Chinese ('按 action 执行版本快照操作'), which is redundant for an English-language tool description. Still, the structure is clear and information-dense.

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

Completeness4/5

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

The description covers all four actions, the in-memory nature, and the key differentiators from sibling tools. It also explains the diff output format (changed/added/removed fields). An output schema is present, so return values are likely documented elsewhere. Minor gap: it does not explicitly state the default action (list) or required parameters, but the schema covers those. Overall, this is complete for a multi-action tool.

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

Parameters3/5

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

Schema coverage is 100% with each parameter having a description in the $defs (e.g., label, author, file_id, version_a/b). The description only provides high-level action semantics ('labeled snapshot', 'diff compares two snapshots') without adding new parameter-level meaning. Baseline 3 is appropriate since schema does the heavy lifting.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Save, list, diff or restore document version snapshots.' This clearly distinguishes the tool's four actions and the resource (document version snapshots). It also names sibling tools (cad_file, cad_collab) in the 'When not to use' section, further differentiating purposes.

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

Usage Guidelines5/5

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

The description gives explicit guidance on when not to use this tool, naming alternatives: 'For durable file persistence use cad_file (save/export); for collaboration branches use cad_collab (tool=branch).' This is a clear usage distinction and helps the agent choose correctly.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tianshang301/TianshangCAD'

If you have feedback or need assistance with the MCP directory API, please join our Discord server