Skip to main content
Glama

ugreen_create_file

DestructiveIdempotent

Creates a UTF-8 text file on a NAS with octal permissions and exclusive creation to prevent overwrites. Supports content up to 16 KiB; use upload for larger or binary files.

Instructions

创建一个 NAS 文件,content 为 UTF-8 文本(可为空),最多 16 KiB;更大或二进制内容使用 ugreen_upload_file。默认 exclusive=true,已存在时失败;mode 是八进制权限。仅操作用户指定的对象;写操作失败后先查询当前状态,不自动重试。权限由绿联令牌与 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": {
      "path": "<path>"
    },
    "name": "ugreen_create_file"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNo0644
pathYes
contentNo
dry_runNo
exclusiveNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true; the description adds real value on top with the 16 KiB ceiling, the fail-if-exists default, octal mode semantics, the token+NASS-account permission model, and a failure protocol (query state, no auto-retry). However, it never explains dry_run, which is the one behavior an agent most needs to know before a destructive write, and 'fails when exists' sits awkwardly with idempotentHint=true. That tension plus the dry_run blind spot keeps this below 4.

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?

Every clause carries information — limits, alternative, defaults, permissions, failure protocol — with no filler. The downside is that six distinct facts are compressed into a single unstructured paragraph, making the dry_run omission and the failure-handling rule easy to skim past.

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 write tool with no output schema, the description covers limits, exclusivity, permission source and post-failure behavior well. The gaps are the undocumented dry_run flag and the absence of any statement about what a successful create returns or how paths are interpreted.

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 description coverage is 0% across 5 params, so the description must carry the load. It does define content (UTF-8, may be empty, ≤16 KiB), exclusive (default true, fails if exists) and mode (octal), but path and especially dry_run are left entirely unexplained. Three of five parameters covered is adequate but incomplete.

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?

States a specific verb+resource ('创建一个 NAS 文件') and immediately scopes it (UTF-8 text, ≤16 KiB), which is far more than a restatement of the name. It explicitly routes oversized/binary content to ugreen_upload_file. It does not address the overlapping sibling ugreen_write_file, so an agent still has to guess the create-vs-write boundary.

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 an explicit when-not and named alternative: '更大或二进制内容使用 ugreen_upload_file'. The exclusive=true default also implicitly communicates create-only semantics. The missing piece is guidance against ugreen_write_file, the sibling most likely to be confused with this one.

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