Skip to content
Agentmart
Submit a tool

zspace-cli

Zero-config MCP server + CLI for ZSpace NAS: file ops and pool stats via the desktop client.

Connector by skyzhao1223 · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 28
Write a review

Chalk Labs

Need help deploying zspace-cli?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/skyzhao1223-zspace-cli

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Zero-config MCP server + CLI for ZSpace NAS: file ops and pool stats via the desktop client.

Use cases: file-management

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
13 read · 7 write · 3 delete · 1 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 24

Read from the source code; the running server may list different tools.

Read 13 · Look things up without changing anything.

  • zspace_bigfiles
  • zspace_check
  • zspace_disk_stats
  • zspace_disks
  • zspace_du
  • zspace_info
  • zspace_ls
  • zspace_pool_info
  • zspace_recycle_config
  • zspace_recycle_list
  • zspace_search
  • zspace_smart
Show 1 more tools
  • zspace_tree

Write 7 · Create, change, send or run things.

  • zspace_copy
  • zspace_download
  • zspace_mkdir
  • zspace_move
  • zspace_recycle_restore
  • zspace_rename
  • zspace_upload

Delete 3 · Delete, drop, revoke or wipe things.

  • zspace_recycle_empty
  • zspace_recycle_purge
  • zspace_remove

Not yet classified 1 · We could not tell from the name and description.

  • zspace_usage

Network hosts it talks to 3

  • github.com · found in code
  • glama.ai · found in code
  • host.docker.internal · found in code

Files it touches

  • %APPDATA%\\zspace
  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (24)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • zspace_bigfilesFind the largest files (server-side scan)

    List the largest files under the given directories, biggest first. Use to find cleanup candidates. The NAS scans server-side, which is far faster than walking: a 7k-file tree returns in ~2 seconds versus ~765 requests and ~10 seconds client-side. Returns {complete, scanned, matched, files: [{name, path, bytes, modify_time}]}. There is a single shared task slot, so this call clears any stale task before starting one; that is harmless but means two concurrent bigfiles scans would interfere. Check `complete` -- if the timeout elapsed the results are partial. Read-only. For a directory's total …

  • zspace_checkCheck ZSpace NAS connection

    Check whether the ZSpace NAS is reachable through the local desktop client proxy and, if so, return a summary of storage pools. Call this first to verify the proxy at 127.0.0.1:13579 is online before running other file operations. Returns {"connected": true, "pools": [{name, total_tb, free_tb}]} when the NAS responds, or {"connected": false} when it does not. Never modifies NAS state. Unlike zspace_pool_info, this is a connectivity probe that happens to include a pool summary; use pool_info when you only need capacity.

  • zspace_copyCopy files or directories

    Copy one or more files/directories on the NAS into a destination folder. Use to duplicate media or create backups without removing the originals. Accepts a single path or a list; the destination must already exist (create it with zspace_mkdir). Returns {status: "copied", paths, to}. Mutates NAS state but leaves the sources untouched. The non-destructive counterpart of zspace_move — pick copy when the original must stay where it is, move when it should not. Copies consume additional capacity; check zspace_pool_info first for large trees.

  • zspace_disk_statsGet disk statistics

    Return raw disk statistics reported by the ZSpace NAS. Use for diagnostics and health monitoring (I/O, capacity, SMART-style counters as exposed by the NAS API). Returns the raw stats object. Read-only; never modifies NAS state. Unlike zspace_pool_info, the shape is whatever the NAS API exposes and is not normalized — choose pool_info for "how much free space", this one for "is a disk unhealthy".

  • zspace_disksPer-disk capacity, health and free bays

    Report every physical disk: free space, temperature, health, SMART counters, fragmentation and power-on hours, plus how many bays are empty. Use before recommending a drive purchase or when a pool is nearly full -- pool-level free space can be misleading, since in a ZDR pool the space may all sit on one spindle while another is effectively full (observed: a pool reporting 476 GiB free had one disk with only 59.8 GiB left). Returns {free_bays: {sata, nvme, esata}, disks: [{pool, position, model, sn, dev_type, total_bytes, free_bytes, used_pct, temp_c, health, power_on_hours, reallocated_secto…

  • zspace_downloadDownload file from NAS

    Download a file from the ZSpace NAS to a local directory. Use to pull media or documents off the NAS. The local_dir must already exist. Returns {saved_to: "<absolute local path>"}. Does not modify NAS state. NAS -> local, the inverse of zspace_upload. Unlike upload this never changes anything on the NAS, so it is safe to retry; an existing local file of the same name is overwritten.

  • zspace_duDirectory size and file count

    Get the size, file count and directory count of one NAS directory. Returns {path, bytes, files, dirs, state, complete, source, categories}. **Always check `complete` before reporting the numbers.** The server-side statistic is instant and exact for small-to-medium trees, but on large ones the NAS returns state="running" with a partial snapshot that never converges -- measured on a 1.175 TiB / 448k-file folder, fourteen consecutive calls all reported ~0.35 TiB with the file count jittering between 27k and 30k. There is no poll endpoint that works, so when `complete` is false either pass walk=…

  • zspace_infoGet file or directory info

    Return detailed metadata for one file or directory on the ZSpace NAS. Use when you need more than the ls summary exposes (permissions, timestamps, exact size, type details). Returns the raw info object from the NAS API. Read-only; the path must already exist. One path only — use zspace_ls to enumerate a directory, or zspace_search to locate an item first.

  • zspace_lsList directory contents

    List the contents of a directory on the ZSpace NAS at the given path. Use to browse files, locate items, or pick targets for later move/copy operations. Large directories are paginated automatically (the NAS API returns at most 50 entries per call). Returns a list of {name, path, is_dir, size} objects. Read-only; pass show_hidden=True to include hidden entries. Flat and one level deep: use zspace_tree for nested structure, zspace_search when you know a name but not the location, and zspace_info for full metadata on one path you already have.

  • zspace_mkdirCreate directory

    Create a new directory on the ZSpace NAS under the given parent. Use to prepare a destination before moving files into it. name is the bare basename, not a path. Fails if a directory of that name already exists. Returns the created {name, path}. Mutates NAS state. zspace_move and zspace_copy both require the destination to exist already, so call this first when reorganizing into a new folder.

  • zspace_moveMove files or directories

    Move one or more files/directories on the NAS into a destination folder. Use to reorganize files, e.g. sort media into per-genre folders. Accepts a single path or a list; the destination must already exist (create it with zspace_mkdir). Returns {status: "moved", paths, to}. Mutates NAS state; sources are removed from their original location. Choose move vs copy by whether the originals should survive: copy keeps them, move does not. To change only the name within the same directory, use zspace_rename instead.

  • zspace_pool_infoGet storage pool info

    List every storage pool on the ZSpace NAS with its name and capacity. Use to inspect free space before an upload or to report total capacity. Returns a list of {name, total_tb, free_tb} objects, one per pool. Read-only; never modifies NAS state. Prefer this over zspace_disk_stats for capacity questions: it returns normalized per-pool numbers, whereas disk_stats returns the NAS's raw diagnostics object. Use zspace_check instead if you need to know whether the NAS is reachable at all.

  • zspace_recycle_configRecycle bin retention policy

    Read the recycle bin retention policy: {my_cycle, public_cycle} in days. -1 means never auto-purge, which is the factory default -- so deleted data keeps occupying pool space indefinitely until something empties the bin. If a user reports that deleting files did not free space, check this first. Read-only; there is deliberately no MCP tool for changing it.

  • zspace_recycle_emptyEmpty an entire recycle bin

    Permanently purge an entire recycle bin. **Irreversible, and this is the only way deleted files actually stop occupying pool space.** Two things make this easy to get wrong. First, the personal and public bins are separate stores: emptying the public bin after deleting from a personal space succeeds with total_num=0 and frees nothing. Second, it purges EVERYTHING in that bin, not just what the current task deleted. Always call zspace_recycle_list first, show the user the contents, and get their agreement. Requires confirm=true. Returns the server task summary {total_num, succeed_num, fail_nu…

  • zspace_recycle_listList recycle bin contents

    List what is currently in a recycle bin, including each item's original location. **Always call this before zspace_recycle_empty** -- emptying purges every item in the bin, including files deleted earlier by other means, and is irreversible. The personal and public bins are separate stores; files deleted from /<pool>/my/data land in the personal one. The listing triggers a server-side scan and this call waits for it to settle, so an in-progress scan is not mistaken for an empty bin. Returns {bin, total, items: [{name, path, original_path, is_dir, bytes}]}. The `path` is the in-bin location a…

Show 9 more tools
  • zspace_recycle_purgePermanently delete specific recycle bin items

    Permanently delete only the named items from the personal recycle bin, leaving everything else untouched. **Irreversible.** Prefer this over zspace_recycle_empty whenever the goal is to free the space held by specific files: the bin may also contain items the user did not put there. Call zspace_recycle_list first and show the user what will be destroyed. Requires confirm=true; without it the call is refused and nothing happens. Returns {purged, failed}.

  • zspace_recycle_restoreRestore files from the recycle bin

    Restore items from the personal recycle bin to their original locations. Paths must be the in-bin paths reported by zspace_recycle_list, not the original locations. Returns {restored, failed}. Restores data rather than removing it, so this is the recovery path after an accidental zspace_remove -- but it only works while the bin has not been emptied.

  • zspace_removeDelete files or directories

    Permanently delete one or more files/directories from the ZSpace NAS. Use only when you are sure the items are no longer needed — deletion is immediate and NOT recoverable. Accepts a single path or a list. Returns {status: "removed", paths}. Marked destructive: confirm intent before calling. There is no trash or undo: zspace_move is the reversible alternative when the goal is only to get items out of the way. Confirm the exact paths with zspace_ls or zspace_search before calling, and never pass a pool root.

  • zspace_renameRename file or directory

    Rename one file or directory on the ZSpace NAS, keeping it in place. Use to fix a name without changing location; the parent directory stays the same. new_name is the bare basename, not a path. Returns the updated {name, path}. This mutates NAS state; it cannot be undone. Same-directory only — use zspace_move to relocate to a different parent (move also accepts several paths at once, rename does not).

  • zspace_searchSearch files by name

    Search for files/directories on the NAS whose names contain the keyword. Use to find a file without knowing its exact location. Returns a list of {name, path, is_dir} matches, capped at 100. Read-only; never modifies NAS state. The NAS full-text index is searched GLOBALLY, then results are filtered client-side to `path`. Because `path` defaults to /sata11/my/data, a match living in another pool is silently dropped and you get an empty list — pass the pool root (or the widest directory you mean) before concluding a file does not exist. Unlike zspace_ls / zspace_tree this matches by name acros…

  • zspace_smartSMART attribute report for one disk

    Return the full SMART attribute table for one disk. The endpoint is keyed on serial number -- passing a pool id or a /dev name returns N300403. Get serials from zspace_disks first. Returns {health, attributes: [{id, attr_name, en_attr_name, now_value, worst, thresh, str_value, health}]}; the server also supplies warning/fault text per attribute. NVMe drives report no classic attributes. Read-only. Focus on ids 5 (reallocated), 187 (reported uncorrectable), 197 (current pending), 198 (offline uncorrectable) and 199 (UDMA CRC) -- those are the ones that predict failure. For a quick health over…

  • zspace_treeShow directory tree

    Return a nested tree view of a directory on the ZSpace NAS. Use to understand overall folder structure before deep operations. depth caps recursion (default 2). Returns the nested tree structure as exposed by the NAS API. Read-only. Nested rather than flat: use zspace_ls for a single level with sizes, or zspace_search when you are looking for a name rather than a layout.

  • zspace_uploadUpload local file to NAS

    Upload a file from the local machine to a directory on the ZSpace NAS. Use to push media or documents to the NAS. remote_dir must already exist (create it with zspace_mkdir); pass new_name to rename it on arrival. Returns the upload result from the NAS API. Mutates NAS state; a file with the same name is overwritten. Local -> NAS, the inverse of zspace_download. Files above 64 MB go through the desktop client's sliced upload protocol (2 MB slices) automatically, because the local proxy rejects oversized single-request bodies with HTTP 413. Check zspace_pool_info for free space before large u…

  • zspace_usageStorage profile by pool, user and category

    Report where physical disk space actually goes on the ZSpace NAS. Use this FIRST for any "is my NAS full?" or "what is using my space?" question. It is the only view that includes Time Machine backups, other users' spaces, the safe box, Docker, RAID metadata and the recycle bins -- every one of those is outside /<pool>/my/data and returns N001411 to file listing, so walking the file tree systematically under-reports pool usage (measured: a full 57-minute walk of 2.69M files accounted for only 4.84 TiB of a 7.97 TiB pool). Returns per pool: total/used/free bytes, used_pct, and entries of {kin…

Signals

Stars
28
Forks
5
Open issues
1
Contributors
5
Weekly downloads
200
Last commit
Oct 9, 2026 (21 days ago)
Last release
Oct 9, 2026 (22 days ago)
Last package publish
Oct 9, 2026 (22 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.skyzhao1223/zspace-cli
Version
0.1.13
Auth
No auth
Packages
pypi zspace-cli
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get zspace-cli running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying zspace-cli?

CallGet help
Cite this page

zspace-cli MCP server. Agent Mart. https://agentmart.dev/connectors/skyzhao1223-zspace-cli (last updated 2026-10-24)