Skip to main content
Glama

ugreen_copy_file

Destructive

Copies a NAS file or directory into an existing destination folder while preserving its name. Use dry_run to preview conflicts and choose rename, skip, or replace behavior.

Instructions

复制一个 NAS 文件或目录到已存在的目标目录,保留原名。destination_directory 必须是目录,不能写“目录/新文件名”;需要改名时另行移动为纯文件名。默认同名自动改名,replace 会覆盖;先 dry_run 核对覆盖影响。仅操作用户指定的对象;写操作失败后先查询当前状态,不自动重试。权限由绿联令牌与 NAS 账户决定。

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "source_path": "<source_path>",
      "destination_directory": "<destination_directory>"
    },
    "name": "ugreen_copy_file"
  }
}

Input Schema

NameRequiredDescriptionDefault
dry_runNo
on_conflictNorename
source_pathYes
destination_directoryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.0

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare destructive=true, non-idempotent, non-readOnly, but the description adds real substance on top: exactly what gets destroyed (replace overwrites), what the default same-name behavior is (auto-rename), the permission source (UGREEN token plus NAS account), and a no-auto-retry recovery policy. That is precisely the mutation-risk context an agent needs beyond the hint flags, and it aligns with rather than contradicts them.

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?

Purpose is front-loaded in the first clause, then follow with commented-on constraints in descending order of importance (destination shape, conflict behavior, dry_run, retry policy, permissions). Dense semicolon chaining but no filler; every clause carries an actionable constraint.

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?

For a destructive, non-idempotent copy with no output schema, the definition covers the dangerous edges: overwrite semantics, path-shape validation, preview via dry_run, and auth dependency. It does not say what a copy or dry_run result looks like (e.g., whether a renamed target path is returned), which would help an agent confirm outcomes without a follow-up stat call.

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?

Schema coverage is 0%, so the description carries the burden and does so for most parameters: it constrains destination_directory to a directory path (no 'dir/newfilename'), explains that on_conflict defaults to rename and that replace overwrites, and frames dry_run as an overwrite-impact preview. The third enum value 'skip' is left unexplained, which is the one remaining gap.

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

Purpose4/5

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

Opens with a specific verb+resource: copy a NAS file or directory into an existing target directory, preserving the original name. It implicitly separates itself from the move tool by stating that renaming must be done via a separate move with a bare filename, so an agent can tell the two apart. It stops short of naming the sibling tool explicitly, which keeps it just below a 5.

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?

Gives concrete operating guidance: run dry_run first to verify overwrite impact, default conflict behavior is rename, and after a write failure query current state rather than auto-retrying. It also scopes the tool to user-specified objects only. It does not explicitly contrast when to copy versus download or move, so alternatives are only partially addressed.

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