Skip to main content
Glama

概述

z-cli 是 zspace 私有云 NAS 的命令行工具,支持 CLIMCP Server 两种使用方式。通过 MCP 协议接入 AI 助手后,可以用自然语言操控 NAS 上的文件和存储资源。

Related MCP server: mcp-dev-tools

功能特性

  • 文件操作 — 列表、创建、重命名、移动、复制、删除(回收站)

  • 目录管理 — 创建文件夹,支持冲突自动重命名

  • 文件搜索 — 按名称/类型/大小/时间搜索,支持分页

  • 存储池查询 — 查看存储池信息和名称映射

  • 最近文件 — 获取最近访问文件列表

  • MCP Server — 通过 Model Context Protocol 暴露所有能力给 AI 助手

  • 双模式运行 — 开发模式 ./dev(热更新)与生产模式 zcli

接入 Agent 示例

将 z-cli 的 MCP Server 接入 AI 助手(如 opencode、Claude Code)后,用户可以通过自然语言直接操控 NAS。

下图为自研的 NAS 助手 Agent z-agent 的演示:

z-cli 演示

快速上手

前置条件

  • macOS / Windows(认证模块从 zspace 桌面客户端本地数据目录读取凭据)

  • Python >= 3.10

  • zspace 桌面客户端已安装、登录,并保持在后台运行

安装

python -m venv .venv
source .venv/bin/activate
# Windows: .venv\Scripts\Activate.ps1

pip install -e .

# 验证
zcli pool

CLI 模式

# 存储池
zcli pool
zcli poolname

# 文件操作
zcli list /sata12/my/data
zcli mkdir /sata12/my/data 新建文件夹
zcli create /sata12/my/data/文件.txt
zcli rename /sata12/my/data/旧名称 新名称
zcli copy /sata12/my/data/a /sata12/my/data/b
zcli move /sata12/my/data/a /sata12/my/data/sub/
zcli remove /sata12/my/data/无用文件.txt

# 搜索与最近文件
zcli search 关键词
zcli recent

# 启动 MCP Server
zcli mcp

MCP 模式

推荐方式:pipx 全局安装

pipx install -e /path/to/zspace-cli

然后在 AI 工具(如 opencode、Claude Code)中配置:

{
  "mcp": {
    "zspace-cli": {
      "type": "local",
      "command": ["zcli", "mcp"],
      "enabled": true
    }
  }
}

备选方式:项目虚拟环境

{
  "mcp": {
    "zspace-cli": {
      "type": "local",
      "command": [".venv/bin/python", "-m", "zspace", "mcp"],
      "enabled": true
    }
  }
}

注意:macOS 可能对 .venv 下的文件自动设置隐藏标志,导致 Python 3.8+ 跳过 __editable__.pth 文件(CPython #113659)。如果遇到 ModuleNotFoundError: No module named 'zspace' 错误,运行以下命令修复:

xattr -rc .venv
chflags -R 0 .venv

项目结构

z-cli/
├── .github/workflows/      # CI 配置
├── .claude/                # Claude 技能配置
├── src/zspace/
│   ├── api/                # NAS API 层
│   │   ├── fields.py       # 字段映射
│   │   ├── file.py         # 文件操作 API
│   │   └── pool.py         # 存储池 API
│   ├── commands/           # CLI 子命令
│   │   ├── base.py         # Command 基类
│   │   └── ...             # 每个命令一个文件
│   ├── mcp/                # MCP 服务器
│   │   ├── base.py         # McpTool 基类
│   │   └── tools/          # 每个工具一个文件
│   ├── auth.py             # 登录凭据读取
├── tests/                  # 测试
├── dev                     # 热更新运行脚本
├── Makefile                # 常用开发命令
├── CHANGELOG.md            # 变更日志
└── CONTRIBUTING.md         # 贡献指南

CLI 命令参考

命令

功能

示例

pool

查看存储池信息

zcli pool

poolname

查看存储池名称映射

zcli poolname

ping

检查与本地代理的连通性

zcli ping

list <path>

列出目录文件

zcli list /sata12/my/data

mkdir <parent> <name>

创建文件夹

zcli mkdir /sata12/my/data 新建

create <path>

创建文件

zcli create /sata12/my/data/a.txt

read <path>

读取文本文件内容

zcli read /sata12/my/data/a.txt

rename <path> <newname>

重命名

zcli rename /sata12/my/data/旧 新

copy <from> <to>

复制

zcli copy /sata12/a /sata12/b

move <from> <to>

移动

zcli move /sata12/a /sata12/b/

remove <path>

删除(回收站)

zcli remove /sata12/my/data/文件.txt

search <keyword>

搜索文件

zcli search 会议记录

recent

最近文件

zcli recent

skills

管理 AI skills(install/uninstall)

zcli skills install zspace-cli

mcp

启动 MCP Server

zcli mcp

MCP 工具列表

工具

功能

get_pool_info

查看存储池信息

get_pool_names

查看存储池名称映射

check_connectivity

检查与本地代理的连通性

list_files

列出目录文件

create_folder

创建文件夹

create_file

创建文件

read_file

读取文本文件内容

delete_item

删除文件/文件夹(移至回收站)

rename_item

重命名

copy_item

复制

move_item

移动

search_files

搜索文件

list_recent_files

最近文件

存储池路径规则

访问文件路径格式为 /<pool_name>/my/data,其中 pool_namepool 接口返回的 name 字段(如 sata12sata14),不是 id 或系统挂载点。

配置

变量

说明

ZSPACE_HOST

覆盖 zspace 本地代理地址,用于跨网络访问

开发

# 安装开发依赖
pip install -e ".[dev]"

# 热更新模式(改源码即生效)
./dev pool

# 代码检查
make lint

# 运行测试
make test

致谢

本项目基于 skyzhao1223/zspace-cli 的构思与想法,重新实现并调整了架构。

许可证

MIT

Available Tools

13 tools
check_connectivityA

检查与 zspace NAS 本地代理的连通性(TCP + HTTP),适用于诊断连接问题

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNo超时秒数,默认 5

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description should disclose behavioral traits. It mentions TCP and HTTP but does not explain whether the operation is read-only, what consequences it has, or what response to expect. It is adequate but not detailed.

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 a single, efficient sentence that conveys the purpose quickly. It could be slightly more structured but remains concise and front-loaded.

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?

Given the tool's simplicity and lack of output schema, the description is moderately complete. It explains the purpose and protocol but could mention the output format or success criteria for better completeness.

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 100%, so baseline is 3. The description does not add any information about the timeout parameter beyond what the schema provides.

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 clearly states the action (check connectivity), the specific resource (zspace NAS local proxy), and the protocol scope (TCP + HTTP). It effectively distinguishes from sibling tools which are all file operations.

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?

The description explicitly says it is suitable for diagnosing connection issues, providing clear context. However, it does not exclude alternative scenarios or mention when not to use it.

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

copy_itemC

复制 zspace NAS 上的文件或文件夹,支持个人空间和团队空间路径

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes目标路径,支持个人空间和团队空间路径
pathsYes要复制的文件/文件夹路径列表,支持个人空间和团队空间路径
renameNo冲突时是否自动重命名(0/1),默认为 00

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries burden. It mentions path support but omits behavioral details like overwrite behavior, permissions, or error handling. The rename parameter hints at conflict handling but isn't explained.

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?

Single sentence, no redundancy. Efficiently communicates core functionality and path constraints.

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

Completeness2/5

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

No output schema and no explanation of return values, success/failure indicators, or preconditions. For a copy operation with 3 parameters, more context is needed.

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%, so baseline is 3. Description adds no new info beyond schema; it repeats the path support. Parameter descriptions in schema are adequate.

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?

The description clearly states it copies files/folders on zspace NAS and mentions support for personal and team space paths. It distinguishes from siblings like move_item by implying copy, but could be more explicit.

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 guidance on when to use this tool vs alternatives like move_item or create_file. Lacks context for appropriate usage scenarios.

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

create_fileC

在 zspace NAS 上创建文件,同时支持个人空间(/sata12/my/data)和团队空间(/sata12/public)路径

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes文件完整路径,支持个人空间和团队空间路径
renameNo冲突时是否自动重命名(0/1),默认为 00
contentNo文件内容文本(可选)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It fails to disclose key behaviors: whether existing files are overwritten, if intermediate directories are created, or required permissions. The rename parameter suggests conflict handling but description doesn't explain the default behavior.

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?

Single sentence is concise and front-loads the primary action and scope. However, it could benefit from a slightly more structured breakdown of key behaviors.

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

Completeness2/5

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

With 3 parameters and no output schema, description omits critical context: error handling, return format, conflict behavior, and type of content accepted (text/binary). Incomplete for safe agent usage.

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%, so baseline is 3. Description does not add meaning beyond schema: path support is already described in schema. No extra details on rename logic or content format.

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?

Description clearly states the tool creates files on a NAS and specifies accepted path prefixes (personal and team spaces). This differentiates from create_folder by resource type, though not explicitly. Overall, purpose is clear.

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 guidance on when to use this tool versus siblings like create_folder or copy_item. Context (e.g., conflict resolution) is implied through parameters but not explained. No 'when not to use' or alternative recommendations.

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

create_folderB

在 zspace NAS 上创建新文件夹,同时支持个人空间(/sata12/my/data)和团队空间(/sata12/public)路径

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes要创建的文件夹名称
parentYes父目录路径,如 /sata12/my/data,支持个人空间和团队空间
renameNo冲突时是否自动重命名,默认 00

TDQS

B3.2/5.0
Behavior2/5

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

No annotations available, and the description lacks details on behavioral traits such as conflict handling, parent directory existence, permissions, or 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.

Conciseness5/5

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

Single sentence, efficient and front-loaded with core action; no unnecessary words.

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

Completeness2/5

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

Given no output schema and no annotations, the description is too brief, missing return values, error conditions, and usage context for a 3-parameter 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%, so baseline 3 is appropriate; the description repeats path type information but adds little beyond the schema.

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 clearly states the verb 'create', the resource 'folder on zspace NAS', and specifies support for both personal and team space paths, distinguishing it from file creation tools.

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 guidance on when to use this tool versus siblings like copy_item or create_file, nor any prerequisites or exclusions provided.

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

delete_itemC

删除 zspace NAS 上的文件或文件夹,支持个人空间和团队空间路径

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYes要删除的文件/文件夹路径列表(移至回收站),支持个人空间和团队空间路径
show_hiddenNo是否包含隐藏文件

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavior. It doesn't mention that items are moved to recycle bin (only in parameter description), nor any authorization needs or confirmation requirements. The agent might incorrectly assume permanent deletion.

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?

Single sentence, 13 Chinese characters, no fluff. Every word is meaningful. Ideal conciseness for a straightforward delete operation.

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

Completeness2/5

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

No output schema, no annotations. Description doesn't mention return values (e.g., success, error handling) or what happens with non-existent paths. For a simple tool this is insufficient; agent lacks info on outcome.

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%, so baseline 3. Parameter descriptions add meaning (paths: list, move to trash; show_hidden: boolean). Main description adds nothing beyond schema, but schema already adequately describes parameters.

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?

Description clearly states it deletes files/folders on zspace NAS, supporting personal and team space paths. However, it omits that deletion is to recycle bin (only mentioned in parameter description). Verb 'delete' is clear and resource is specific, but could be more precise about the recycling behavior.

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 guidance on when to use this tool versus alternatives like move_item or create_file. No prerequisites or context about when it's appropriate to delete items. The description lacks any usage direction.

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

get_pool_infoB

查看 zspace NAS 存储池信息

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'view', implying read-only, but discloses no behavioral traits such as whether the data is cached, authoritative, or any potential side effects. The description is too minimal for a tool with no annotations.

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?

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose with zero waste. For a zero-parameter informational tool, this level of conciseness is optimal.

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?

Given the lack of output schema and annotations, the description is somewhat vague ('storage pool information'). It does not specify what information is returned (e.g., capacity, usage, status), which may leave the agent uncertain about the tool's output. However, for a simple info retrieval with no inputs, it is minimally adequate.

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?

The input schema has no parameters and schema description coverage is 100%, so baseline 3 applies. The description adds no additional param meaning because there are none to explain. It is adequate given the absence of parameters.

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 clearly states 'view zspace NAS storage pool information', specifying the verb 'view' and the resource 'storage pool info'. It effectively distinguishes from the sibling 'get_pool_names' which likely returns only names, making the purpose distinct.

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?

The description provides no guidance on when to use this tool versus the sibling 'get_pool_names' or any other tool. There is no mention of prerequisites or context, leaving the agent to infer the appropriate use case.

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

get_pool_namesB

获取存储池名称映射(pool key → display name)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It only states the output (key→display name mapping) but does not mention whether it's read-only, performance characteristics, error handling, or that it returns all pools. The description is too minimal for full transparency.

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?

The description is a single, efficient sentence with no fluff. It front-loads the action and outcome, making it quick to parse.

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?

Given the tool has no parameters, no output schema, and is simple, the description provides the core information (mapping retrieval). It explains the output format adequately. Slight deduction for not stating scope (e.g., 'all pools') but overall complete for the tool's simplicity.

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?

The input schema has 0 parameters with 100% schema description coverage, so the description need not add param details. However, it could explain the return structure more explicitly (e.g., 'returns a dictionary') but the current description 'pool key → display name' implies a mapping sufficiently. Baseline 4 reduced to 3 due to lack of extra value.

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 clearly states the tool retrieves a mapping from pool key to display name, using a specific verb (获取) and resource (存储池名称映射). It is distinct from sibling tools which are file operations, so no ambiguity.

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 guidance on when to use this tool versus alternatives. While the tool's purpose is straightforward, the description does not mention use cases, prerequisites, or context for invocation, leaving the agent without decision support.

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

list_filesA

列出 zspace NAS 指定目录下的文件与子文件夹。设置 team=true 可列出团队空间文件

ParametersJSON Schema
NameRequiredDescriptionDefault
numNo每页条目数,默认 100100
pathYes目录路径。个人空间如 /sata12/my/data,团队空间如 /sata12/public
teamNo是否列出团队空间文件,默认 false
orderNo排序方向,默认 desc(仅个人空间)desc
startNo分页起始偏移,默认 00
sortbyNo排序字段,默认 mtime_linux(仅个人空间)mtime_linux
show_hiddenNo是否显示隐藏文件,默认 0(仅个人空间)0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the tool is a read operation (listing) and highlights the team space distinction, but does not mention behavior such as pagination limits, recursion depth, or error handling. The lack of annotation makes the transparency adequate but not thorough.

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?

The description is extremely concise: two short sentences that convey the core purpose and a key parameter. No unnecessary words or repetition. It is front-loaded with the primary action.

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?

Given 7 parameters, no output schema, and moderate complexity, the description covers the essential usage (directory path, team flag). However, it lacks information about return format, pagination behavior, or how to interpret results. Still, it is reasonably complete for a listing 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 description coverage is 100%, so each parameter is already documented. The description adds no extra semantic value beyond what the schema provides (only mentions 'path' and 'team' implicitly). Baseline score of 3 is appropriate.

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 clearly states the tool lists files and subfolders in a specified directory on zspace NAS, with a specific note about the 'team' parameter to switch to team space. This is a concrete verb+resource pairing that distinguishes it from siblings like 'search_files' or 'list_recent_files'.

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

Usage Guidelines3/5

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

The description implies usage for listing directory contents and mentions the team parameter, but it does not provide guidance on when to use this tool over alternatives like 'search_files' or 'list_recent_files'. No explicit context for exclusion or when-not-to-use is provided.

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

list_recent_filesC

获取 zspace NAS 上最近访问的文件列表

ParametersJSON Schema
NameRequiredDescriptionDefault
numNo每页条目数,默认为 100100
scopeNo查询范围(1=个人空间最近文件, 2=团队空间最近文件),默认为 11
startNo分页起始偏移,默认为 00
show_hiddenNo是否显示隐藏文件(0/1),默认为 00

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It does not disclose what 'recently accessed' means (e.g., time frame), sorting order, or whether it includes hidden files by default. Minimal behavioral context is provided.

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

Conciseness3/5

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

The description is a single sentence, very concise and front-loaded. However, it lacks structured guidance for an agent, such as examples or elaboration, making it merely adequate.

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

Completeness2/5

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

Given the 4 parameters and lack of output schema, the description is incomplete. It does not explain pagination behavior, return format, or the difference between personal and team scope, leaving significant gaps for the agent.

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%, so the parameters are adequately described in the schema. The description does not add any new meaning beyond the existing parameter descriptions and defaults.

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?

The description clearly states that the tool lists recently accessed files on zspace NAS, which is a specific verb and resource. However, it does not differentiate from sibling tools like 'list_files' or 'search_files', so the purpose is clear but lacks distinctiveness.

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 guidance is provided on when to use this tool versus alternatives. There is no mention of when not to use it or comparisons to siblings such as search_files or list_files.

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

move_itemC

移动或重命名 zspace NAS 上的文件或文件夹,支持个人空间和团队空间路径

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes目标路径,支持个人空间和团队空间路径
pathsYes要移动的文件/文件夹路径列表,支持个人空间和团队空间路径
renameNo冲突时是否自动重命名(0/1),默认为 00

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must bear full burden. It mentions support for personal/team spaces but fails to disclose critical behaviors like how conflicts are handled (aside from the rename parameter default), whether moves are atomic, or what permissions are required.

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 a single, clear sentence with no wasted words. It is appropriately concise for a simple tool, though it could benefit from slightly more structure or detail.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description is incomplete. It does not explain return values, conflict resolution beyond the rename parameter, or any side effects. For a tool with three parameters, more context is needed.

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%, so the baseline is 3. The description does not add meaning beyond the schema's parameter descriptions; it only restates the overall purpose. No additional semantics are provided for individual parameters.

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?

The description clearly states the tool moves or renames files/folders on zspace NAS, specifying the resource and action. However, it does not differentiate from sibling tools like rename_item or copy_item, which could cause confusion since it includes both move and rename functionality.

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 guidance is provided on when to use this tool versus alternatives such as rename_item or copy_item. Agents are left to infer based on the tool name alone, with no explicit context or exclusions.

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

read_fileA

读取 zspace NAS 上文本文件的内容(仅限文本文件,非文本文件返回错误),支持个人空间和团队空间路径

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes文件完整路径,支持个人空间和团队空间路径

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description bears the full burden of behavioral disclosure. It reveals that the tool is read-only, supports specific path types, and errors on non-text files. This is adequate for a simple read operation, though it could mention output format or encoding.

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?

The description is a single, well-structured sentence that efficiently conveys all necessary information without waste. It is front-loaded with the core purpose.

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?

Given one parameter and no output schema, the description provides sufficient context: purpose, file type restrictions, and path scope. It could benefit from mentioning encoding or file size limits, but overall it is complete for this simple 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%, so the description adds little beyond what the schema already provides. It confirms that path supports personal/team spaces, which is already in the schema description. No additional semantic details about path format or constraints are added.

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 clearly states the action (read), the resource (text files on zspace NAS), and the scope (personal and team space paths). It also distinguishes itself from siblings by specifying text files only, which differentiates it from tools like list_files or search_files.

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?

The description provides clear constraints: only text files are supported, and non-text files return an error. This gives the agent guidance on when to use the tool. However, it does not explicitly state when not to use it or suggest alternatives like search_files for locating files.

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

rename_itemB

重命名 zspace NAS 上的文件或文件夹,支持个人空间和团队空间路径

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes文件/文件夹的完整路径,如 /sata12/my/data/旧名称,支持个人空间和团队空间
newnameYes新名称(仅名称,不包含路径)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only mentions path type support, but does not disclose destructive nature, permissions needed, or behavior on failure. Insufficient for a mutation tool.

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?

Single sentence with no unnecessary words. Front-loaded with action and scope. Could benefit from slight structuring but very efficient.

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

Completeness2/5

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

Lacks details on success/failure behavior, naming constraints, or cross-space limitations. With no output schema and no annotations, the description leaves significant gaps for a simple 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 descriptions for both parameters. Description adds minor context about personal/team space paths, but mostly repeats schema info. Baseline 3 for high coverage.

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?

Description clearly states verb 'rename' and resource 'files or folders on zspace NAS', including support for personal and team space paths. Distinguishes from sibling tools like copy, move, and delete.

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 guidance on when to use this tool versus alternatives like copy_item or move_item. Lacks context for specific scenarios or prerequisites.

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

search_filesB

在 zspace NAS 上搜索文件,同时支持个人空间(/sata12/my/data)和团队空间(/sata12/public)路径

ParametersJSON Schema
NameRequiredDescriptionDefault
numNo每页条目数30
nameYes搜索关键词
ftypeNo文件类型筛选
startNo分页起始偏移0
is_dirNo是否仅目录
max_sizeNo最大文件大小(字节)0
min_sizeNo最小文件大小(字节)0
order_byNo排序方式 (0=名称, 1=修改时间, 2=大小)0
file_pathNo搜索范围路径,如 /sata12/my/data,支持个人空间和团队空间/sata12/my/data
shared_onlyNo仅搜索共享文件0
show_hiddenNo是否显示隐藏文件0

TDQS

B3.1/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden. It implies read-only search but does not explicitly state safety, pagination behavior, or authentication needs. Missing important behavioral traits beyond what is obvious.

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 a single, efficient sentence that is front-loaded and clear. It is concise with no wasted words.

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

Completeness2/5

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

Given the tool has 11 parameters, no output schema, and no annotations, the description is too minimal. It does not explain pagination, sorting, filtering, or return format, leaving the agent to infer from the schema alone.

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 100%, so parameters are already documented in the schema. The description adds context about supported paths (personal and team space), which complements the 'file_path' parameter description. However, it adds little beyond that.

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 clearly states the tool searches files on the zspace NAS, specifying both personal and team space paths. This verb+resource description distinguishes it from sibling tools like list_files (which lists) and create_file (which creates).

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 guidance on when to use this tool versus alternatives (e.g., list_files, read_file). The description does not mention when not to use it or provide context for choosing among siblings.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 10 tool updatesv0.5.0
    • Changedcopy_item2 fields changed
      • changedInput schema / properties / paths / description
        Previous value: -"要复制的文件/文件夹路径列表"New value: +"要复制的文件/文件夹路径列表,支持个人空间和团队空间路径"
      • changedInput schema / properties / to / description
        Previous value: -"目标路径"New value: +"目标路径,支持个人空间和团队空间路径"
    • Changedcreate_file1 field changed
      • changedInput schema / properties / path / description
        Previous value: -"文件完整路径"New value: +"文件完整路径,支持个人空间和团队空间路径"
    • Changedcreate_folder1 field changed
      • changedInput schema / properties / parent / description
        Previous value: -"父目录路径,如 /sata12/my/data"New value: +"父目录路径,如 /sata12/my/data,支持个人空间和团队空间"
    • Changeddelete_item1 field changed
      • changedInput schema / properties / paths / description
        Previous value: -"要删除的文件/文件夹路径列表(移至回收站)"New value: +"要删除的文件/文件夹路径列表(移至回收站),支持个人空间和团队空间路径"
    • Changedlist_files5 fields changed
      • changedInput schema / properties / order / description
        Previous value: -"排序方向,默认 desc"New value: +"排序方向,默认 desc(仅个人空间)"
      • changedInput schema / properties / path / description
        Previous value: -"目录路径,如 /sata12/my/data"New value: +"目录路径。个人空间如 /sata12/my/data,团队空间如 /sata12/public"
      • changedInput schema / properties / show_hidden / description
        Previous value: -"是否显示隐藏文件,默认 0"New value: +"是否显示隐藏文件,默认 0(仅个人空间)"
      • changedInput schema / properties / sortby / description
        Previous value: -"排序字段,默认 mtime_linux"New value: +"排序字段,默认 mtime_linux(仅个人空间)"
      • addedInput schema / properties / team
        Added value: +{
        +  "default": false,
        +  "description": "是否列出团队空间文件,默认 false",
        +  "type": "boolean"
        +}
    • Changedlist_recent_files1 field changed
      • changedInput schema / properties / scope / description
        Previous value: -"查询范围(1=最近文件),默认为 1"New value: +"查询范围(1=个人空间最近文件, 2=团队空间最近文件),默认为 1"
    • Changedmove_item2 fields changed
      • changedInput schema / properties / paths / description
        Previous value: -"要移动的文件/文件夹路径列表"New value: +"要移动的文件/文件夹路径列表,支持个人空间和团队空间路径"
      • changedInput schema / properties / to / description
        Previous value: -"目标路径"New value: +"目标路径,支持个人空间和团队空间路径"
    • Changedread_file1 field changed
      • changedInput schema / properties / path / description
        Previous value: -"文件完整路径"New value: +"文件完整路径,支持个人空间和团队空间路径"
    • Changedrename_item1 field changed
      • changedInput schema / properties / path / description
        Previous value: -"文件/文件夹的完整路径,如 /sata12/my/data/旧名称"New value: +"文件/文件夹的完整路径,如 /sata12/my/data/旧名称,支持个人空间和团队空间"
    • Changedsearch_files1 field changed
      • changedInput schema / properties / file_path / description
        Previous value: -"搜索范围路径,如 /sata12/my/data"New value: +"搜索范围路径,如 /sata12/my/data,支持个人空间和团队空间"
  2. 2 tool updatesv0.3.0
    • Addedcheck_connectivity
    • Addedread_file
  3. 1 tool updatev0.2.0
    • Removedmake_request
  4. 12 tool updatesv0.1.0
    • First observedcopy_item
    • First observedcreate_file
    • First observedcreate_folder
    • First observeddelete_item
    • First observedget_pool_info
    • First observedget_pool_names
    • First observedlist_files
    • First observedlist_recent_files
    • First observedmake_request
    • First observedmove_item
    • First observedrename_item
    • First observedsearch_files

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have clearly distinct purposes (create, read, list, search, copy, move, rename, delete, connectivity check, pool info). The only minor overlap is between 'get_pool_info' and 'get_pool_names', which are related but distinguishable.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in lowercase snake_case (e.g., create_file, list_files, check_connectivity), making it easy for an agent to infer the action and target.

Tool Count5/5

With 13 tools, the server covers all essential file management operations and some diagnostic functions without being overwhelming. The number is well-scoped for a NAS CLI server.

Completeness3/5

The tool set covers most common operations (create, read, list, search, copy, move, rename, delete, folder creation, recent files, pool info). However, there is no tool to write or update file content, which is a notable gap for file management.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/philipxiaoxi/z-cli'

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