Skip to main content
Glama
KitchenSink4AI

io.github.nometalalchemist/kitchensink4xl

Copy Range

copy_range
Destructive

Copy a spreadsheet range to another location, choosing all, values, formulas, or formats. Overlapping pastes are safe, and formulas adjust like Excel.

Instructions

Copy a source rectangle to a destination anchor (location objects, may name different sheets). what is 'all', 'values', 'formulas', or 'formats'. The destination is overwritten; the source is buffered first, so an overlapping paste is safe. Relative refs in copied formulas shift by the paste offset like an Excel copy unless adjust_formulas is false; absolute ($) anchors stay put. A hazardous workbook refuses unless allow_loss is true. Auto-backup to .ks4xl-backups; atomic verified save. Refuses while open in Excel.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
destYesWhere the result lands (its top-left cell).
pathYes
whatNoall
sheetNo
backupNo
sourceYesThe range to read from.
allow_lossNo
verify_comNo
adjust_formulasNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.2.0
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "type": "object"
      -}New value: +null
  2. Changed4 schema fields changedv1.1.0
    • addedInput schema / properties / dest / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "object"
      +  }
      +]
    • addedInput schema / properties / dest / description
      Added value: +"Where the result lands (its top-left cell)."
    • addedInput schema / properties / source / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "object"
      +  }
      +]
    • addedInput schema / properties / source / description
      Added value: +"The range to read from."
  3. First observedv1.0.0

TDQS

A3.8/5.0
Behavior5/5

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

The description goes well beyond the annotations (readOnlyHint=false, destructiveHint=true) by disclosing crucial behaviors: destination is overwritten, source is buffered for safe overlapping pastes, formula reference adjustments with adjust_formulas, refusal on hazardous workbooks unless allow_loss is true, auto-backup to .ks4xl-backups, atomic verified save, and refusal while open in Excel. This is exactly the kind of context that prevents surprise 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.

Conciseness4/5

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

Each sentence carries distinct information: purpose, content type, overwrite safety, formula adjustment, loss handling, backup/atomicity, and Excel lock. It is compact and front-loaded with the core action. Minor redundancy like 'may name different sheets' and 'like an Excel copy' are not filler, but the density makes it slightly challenging to parse in one pass.

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

Completeness3/5

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

For a 9-parameter tool with no output schema, the description provides substantial context about side effects and failure modes, which is commendable. However, it leaves some parameters (verify_com, sheet) and the success response unstated. An agent would still need to consult the schema for several arguments, and there is no mention of what a successful operation returns (e.g., confirmation or status).

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 only 22%, so the description must compensate. It explains the 'what' values explicitly and mentions adjust_formulas, allow_loss, and backup behavior. However, it does not clarify parameters like verify_com, sheet, or path, and some details are implicit (backup vs. auto-backup). It adds value for several parameters but not all.

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 source rectangle to a destination anchor' and further specifies that it can span different sheets and what content to copy ('all', 'values', 'formulas', 'formats'). This clearly distinguishes it from siblings like copy_workbook (whole workbooks), move_range (moving), and read_range (reading).

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

Usage Guidelines2/5

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 copy_workbook, move_range, or read_range, nor any conditions that would select this tool over them. The only hint is the action itself, which is not enough to route an agent correctly among the listed siblings.

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