Skip to main content
Glama

copy_document

Copies a document byte-for-byte to a specified destination, with optional overwrite. Overwritten files are backed up to .ks4w-backups for restore.

Instructions

Copy a document byte-for-byte, e.g. to a new DTG-stamped filename before editing (manage_backups action='snapshot' names such a copy for you; this tool takes an explicit dest_path). Refuses an existing dest_path unless overwrite=True; an overwritten destination's previous content rotates into its .ks4w-backups prev slot first, so the overwrite is undoable via manage_backups restore. Split/merge and multi-document work live in the assembly pack.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dest_pathYes
file_pathYes
overwriteNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.6.1
    • addedInput schema / properties / overwrite
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
  2. First observedv1.2.1

TDQS

A4.7/5.0
Behavior5/5

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

The description goes well beyond the readOnlyHint=false annotation by detailing the refusal behavior when dest_path exists, the overwrite=True escape hatch, and the .ks4w-backups rotation that makes overwrite undoable via manage_backups restore. This gives an agent accurate expectations about destructive behavior and recovery.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

Three dense sentences carry the purpose, safety-critical overwrite behavior, and tool-boundary routing with no filler. Each sentence earns its place, and the core action is front-loaded.

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

Completeness5/5

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

For a copy tool, the description covers the operation, the main edge case (existing destination), the undo path, and exclusions like split/merge and multi-document work. Since an output schema exists for return values, omitting output details is acceptable and nothing critical is missing.

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

Parameters4/5

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

Even with 0% schema description coverage, the description adds meaningful semantics for dest_path (explicit path, contrasted with snapshot naming) and overwrite (default refusal, backup rotation, undoability). file_path is not described explicitly, but its role as the source document is reasonably inferable from 'Copy a document' and the required parameter names.

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 states a specific verb and resource ('Copy a document byte-for-byte') and immediately distinguishes itself from manage_backups action='snapshot' and the assembly pack for split/merge/multi-document work. An agent can clearly tell what this tool does and which siblings it is not.

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

Usage Guidelines4/5

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

It gives a concrete use case ('to a new DTG-stamped filename before editing') and contrasts with manage_backups snapshot (which names the copy for you) versus this tool's explicit dest_path. It also routes split/merge/multi-document work elsewhere, but it doesn't explicitly phrase a when-to-use/when-not-to-use rule.

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