Home · Setup · Claude Code
Pack, list and unpack zip archives locally, with traversal, symlink and bomb guards read from the header before anything is inflated. It packs files or a directory tree with glob patterns into a new .zip, lists an archive's entries with sizes and ratios while flagging absolute paths, .., symlinks, encrypted entries and duplicate names, unpacks with a dry run and a skip_unsafe option, reads one text entry inline without unpacking anything, and bundles a calendar month of invoices, quotes and exports from the sibling servers into one file.
The register that counts the free tier's 20 archives a month lives under one data directory per machine, so `claude mcp add --scope project` still shares that same monthly allowance across every project on the box, and zip_bundle_month reaches straight into the sibling servers' output folders on disk without a path being typed for each one.
| You say | Tool |
|---|---|
| Zip up this folder, everything except node_modules. | zip_create |
| What's in this zip before I open it? | zip_list |
| Bundle August's invoices and expense exports into one zip. | zip_bundle_month |
A 100,000-byte entry inflated into a 10-byte bounded buffer returned 10 bytes and threw nothing: a lying header would extract as a silent, plausible-looking truncation. The CRC-32 already stored for the entry is checked before anything reaches disk, and that check is what refuses it instead.
The file is .mcp.json, and the key inside it is mcpServers.
| Scope | Path |
|---|---|
| local (default) | ~/.claude.json, this project only |
| project | .mcp.json at the repository root |
| user | ~/.claude.json, every project |
claude mcp add zip -- npx -y @theluckystrike/mcp-zip
claude mcp list # health-check it before the first prompt
# or --scope project, committed to .mcp.json for the team
No restart. The entry is picked up in the next session, and `/mcp` reconnects one on demand.
The npm publish of @theluckystrike/mcp-zip is pending; until then use the .mcpb bundle or a clone and build from the latest release.
There is no hosted endpoint for this one yet. MCP Zip runs locally over stdio with the config above, which is also the only form in which it reads and writes files on your own disk. Three of the servers in this collection are served at https://mcp.zovo.one/mcp/<name> over MCP streamable HTTP: time-tracker, price-tracker and invoice.
The `--` is load-bearing: it separates Claude Code's own options, such as --transport, --env and --scope, from the command that runs the server. And the default scope is local, private to you and to the directory you ran it in, so adding it in the wrong folder leaves the tools absent with no error at all.
Free: 20 archives a calendar month, up to 25 MB and 200 entries each. Reading (zip_list, zip_extract, zip_extract_text) is unlimited on both tiers. Pro is $19 once, verified offline.
Local, the default, writes ~/.claude.json and is private to you and that directory. --scope project writes .mcp.json at the repository root, shared through version control. --scope user loads it everywhere.
Measured, not documented: of three fresh projects, one first prompt made zero tool calls although initialize answered in 1.05 seconds. Run claude mcp list once first: it prints Connected, and the next run used the tool.
Not yet. MCP Zip runs locally over stdio, which is also how it reads and writes files on your disk. The hosted endpoints at https://mcp.zovo.one/mcp currently cover time-tracker, price-tracker and invoice.
MCP Zip in detail · The same server in Claude Desktop and Cursor · Every server in Claude Code · Guides · Claude Code docs