zipnative MCP
A community-driven MCP server built on the zipnative engine that provides 15 tools for AI agents to inspect, list, verify, extract, create, modify, and merge ZIP archives. It features secure-by-default extraction with guards against zip-slip and zip-bombs, deterministic reproducible archive creation, and random-access entry reads. The server operates in a sandboxed environment with no network path, ensuring zero-dependency and ISO/IEC 21320-1 conformance validated in CI.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Inspect ZIP archives for sizes, entry counts, and determinism verdicts without extracting
- Extract archives securely with zip-slip, zip-bomb, and symlink guards
- Create deterministic, reproducible ZIP archives
- Modify archives without recompression and merge entries
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
zipnative-mcp 1.1.0
{
"version": "1.1.0",
"transport": "stdio",
"identifier": "zipnative-mcp",
"runtimeHint": "npx",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"runtimeArguments": [
{
"type": "positional",
"value": "-y",
"valueHint": "skip-confirm"
},
{
"type": "positional",
"value": "zipnative-mcp",
"valueHint": "package"
}
],
"environmentVariables": [
{
"name": "ZIPNATIVE_MCP_OUTPUT_DIR",
"format": "filepath",
"description": "Absolute path of the one sandbox directory: zipPath / sourcePath inputs are read from it and outputMode='file' / outputDir outputs are written under it (never overwritten; the real path of every file read and of every parent written must stay inside — a planted symlink or junction is SECURITY_VIOLATION). Unset: every tool works on base64 only (no file I/O beyond the opt-in cache)."
},
{
"name": "ZIPNATIVE_MCP_CACHE_DIR",
"format": "filepath",
"description": "Opt-in content-addressed response cache directory (absolute path) (SHA-256 keyed, 1h TTL, 256 MiB, oldest-written evicted first, plaintext at rest). Never caches zipPath / sourcePath inputs, file output, defaultDate='now', parallel, describe_engine or draft_governance_issue."
},
{
"name": "ZIPNATIVE_MCP_PORT",
"format": "number",
"description": "Serve Streamable HTTP on this loopback port (POST /mcp) instead of stdio (MCP 2026-07-28, stateless, legacy fallback). Unauthenticated unless ZIPNATIVE_MCP_HTTP_TOKEN is set."
},
{
"name": "ZIPNATIVE_MCP_HTTP_TOKEN",
"description": "Opt-in bearer token for the HTTP transport (>= 16 chars, no whitespace; a weaker value refuses to start). When set, /mcp requires 'Authorization: Bearer <token>' or answers 401. Compared constant-time, never logged."
},
{
"name": "ZIPNATIVE_MCP_MAX_UNCOMPRESSED_BYTES",
"format": "number",
"description": "Operator ceiling for limits.maxEntryUncompressedSize, limits.maxTotalUncompressedSize and limits.maxEntryCompressedSize in bytes (default 8589934592 = 8 GiB, the engine default). Integer >= 1024, read once at startup; an invalid value refuses to start. A per-call value above it is refused with LIMIT_CEILING_EXCEEDED."
},
{
"name": "ZIPNATIVE_MCP_MAX_ENTRIES",
"format": "number",
"description": "Operator ceiling for limits.maxEntries and scan_zip_forward maxEntries (default 100000, the engine default; the scanner's default budget of 10000 is clamped to it, only an explicit value above it is refused). Integer >= 1, read once at startup; an invalid value refuses to start."
},
{
"name": "ZIPNATIVE_MCP_WORKERS",
"format": "number",
"description": "Operator ceiling for create_zip parallel.workers (default 8; with no explicit workers the engine default max(1, min(cores - 1, 8)) applies, bounded by this ceiling; 0 disables worker threads and keeps compression on the calling thread). Integer >= 0, read once at startup; an invalid value refuses to start."
},
{
"name": "ZIPNATIVE_MCP_MAX_FILE_OUTPUT_BYTES",
"format": "number",
"description": "Operator ceiling for every file written in outputMode='file' (create_zip, modify_zip, canonicalize_zip, merge_zip, extract_zip, inflate_raw), enforced while streaming (default 4294967296 = 4 GiB, the 1.0.0 behaviour). Integer >= 1048576, read once at startup; an invalid value refuses to start. Raise it to write Zip64 archives above 4 GiB into the sandbox (create_zip stream entries with zip64: true)."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"zipnative-mcp": {
"command": "npx",
"args": [
"-y",
"zipnative-mcp@1.1.0"
],
"env": {
"ZIPNATIVE_MCP_OUTPUT_DIR": "<YOUR_ZIPNATIVE_MCP_OUTPUT_DIR>",
"ZIPNATIVE_MCP_CACHE_DIR": "<YOUR_ZIPNATIVE_MCP_CACHE_DIR>",
"ZIPNATIVE_MCP_PORT": "<YOUR_ZIPNATIVE_MCP_PORT>",
"ZIPNATIVE_MCP_HTTP_TOKEN": "<YOUR_ZIPNATIVE_MCP_HTTP_TOKEN>",
"ZIPNATIVE_MCP_MAX_UNCOMPRESSED_BYTES": "<YOUR_ZIPNATIVE_MCP_MAX_UNCOMPRESSED_BYTES>",
"ZIPNATIVE_MCP_MAX_ENTRIES": "<YOUR_ZIPNATIVE_MCP_MAX_ENTRIES>",
"ZIPNATIVE_MCP_WORKERS": "<YOUR_ZIPNATIVE_MCP_WORKERS>",
"ZIPNATIVE_MCP_MAX_FILE_OUTPUT_BYTES": "<YOUR_ZIPNATIVE_MCP_MAX_FILE_OUTPUT_BYTES>"
}
}
}
}Cline
{
"mcpServers": {
"zipnative-mcp": {
"command": "npx",
"args": [
"-y",
"zipnative-mcp@1.1.0"
],
"env": {
"ZIPNATIVE_MCP_OUTPUT_DIR": "<YOUR_ZIPNATIVE_MCP_OUTPUT_DIR>",
"ZIPNATIVE_MCP_CACHE_DIR": "<YOUR_ZIPNATIVE_MCP_CACHE_DIR>",
"ZIPNATIVE_MCP_PORT": "<YOUR_ZIPNATIVE_MCP_PORT>",
"ZIPNATIVE_MCP_HTTP_TOKEN": "<YOUR_ZIPNATIVE_MCP_HTTP_TOKEN>",
"ZIPNATIVE_MCP_MAX_UNCOMPRESSED_BYTES": "<YOUR_ZIPNATIVE_MCP_MAX_UNCOMPRESSED_BYTES>",
"ZIPNATIVE_MCP_MAX_ENTRIES": "<YOUR_ZIPNATIVE_MCP_MAX_ENTRIES>",
"ZIPNATIVE_MCP_WORKERS": "<YOUR_ZIPNATIVE_MCP_WORKERS>",
"ZIPNATIVE_MCP_MAX_FILE_OUTPUT_BYTES": "<YOUR_ZIPNATIVE_MCP_MAX_FILE_OUTPUT_BYTES>"
}
}
}
}VS Code
{
"servers": {
"zipnative-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"zipnative-mcp@1.1.0"
],
"env": {
"ZIPNATIVE_MCP_OUTPUT_DIR": "<YOUR_ZIPNATIVE_MCP_OUTPUT_DIR>",
"ZIPNATIVE_MCP_CACHE_DIR": "<YOUR_ZIPNATIVE_MCP_CACHE_DIR>",
"ZIPNATIVE_MCP_PORT": "<YOUR_ZIPNATIVE_MCP_PORT>",
"ZIPNATIVE_MCP_HTTP_TOKEN": "<YOUR_ZIPNATIVE_MCP_HTTP_TOKEN>",
"ZIPNATIVE_MCP_MAX_UNCOMPRESSED_BYTES": "<YOUR_ZIPNATIVE_MCP_MAX_UNCOMPRESSED_BYTES>",
"ZIPNATIVE_MCP_MAX_ENTRIES": "<YOUR_ZIPNATIVE_MCP_MAX_ENTRIES>",
"ZIPNATIVE_MCP_WORKERS": "<YOUR_ZIPNATIVE_MCP_WORKERS>",
"ZIPNATIVE_MCP_MAX_FILE_OUTPUT_BYTES": "<YOUR_ZIPNATIVE_MCP_MAX_FILE_OUTPUT_BYTES>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"zipnative-mcp": {
"command": "npx",
"args": [
"-y",
"zipnative-mcp@1.1.0"
],
"env": {
"ZIPNATIVE_MCP_OUTPUT_DIR": "<YOUR_ZIPNATIVE_MCP_OUTPUT_DIR>",
"ZIPNATIVE_MCP_CACHE_DIR": "<YOUR_ZIPNATIVE_MCP_CACHE_DIR>",
"ZIPNATIVE_MCP_PORT": "<YOUR_ZIPNATIVE_MCP_PORT>",
"ZIPNATIVE_MCP_HTTP_TOKEN": "<YOUR_ZIPNATIVE_MCP_HTTP_TOKEN>",
"ZIPNATIVE_MCP_MAX_UNCOMPRESSED_BYTES": "<YOUR_ZIPNATIVE_MCP_MAX_UNCOMPRESSED_BYTES>",
"ZIPNATIVE_MCP_MAX_ENTRIES": "<YOUR_ZIPNATIVE_MCP_MAX_ENTRIES>",
"ZIPNATIVE_MCP_WORKERS": "<YOUR_ZIPNATIVE_MCP_WORKERS>",
"ZIPNATIVE_MCP_MAX_FILE_OUTPUT_BYTES": "<YOUR_ZIPNATIVE_MCP_MAX_FILE_OUTPUT_BYTES>"
}
}
}
}Let your agent find its tools
Find servers like zipnative MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.