
ZIP
STDIOZIP compression and decompression server with customizable options and password protection
ZIP compression and decompression server with customizable options and password protection
中文 | English
ZIP MCP Server is a compression server based on fastMCP and zip.js, implementing the Model Context Protocol (MCP). This project provides fully parameter-controlled ZIP compression, decompression, and query compression package information functions.
zip-mcp ├── src │ ├── index.ts # Application entry point │ ├── utils │ │ └── compression.ts # Compression and decompression implementation ├── tsconfig.json # TypeScript configuration file ├── package.json # npm configuration file └── README.md # Project documentation
You can install ZIP MCP Server globally using npm:
npm install -g zip-mcp
After installation, you can configure ZIP MCP in your MCP JSON configuration:
{ "mcpServers": { "zip-mcp": { "command": "zip-mcp", "args": [] } } }
ZIP MCP Server provides the following tools, which can be called through the MCP protocol:
Compress local files or directories into a ZIP file.
Parameters:
input
: Path of the file or directory to be compressed (string or string array)output
: Path of the output ZIP fileoptions
: Compression options (optional)
level
: Compression level (0-9, default is 5)password
: Password protectionencryptionStrength
: Encryption strength (1-3)overwrite
: Whether to overwrite existing files (boolean)Returns:
Decompress local ZIP files to the specified directory.
Parameters:
input
: Path of the ZIP fileoutput
: Path of the output directoryoptions
: Decompression options (optional)
password
: Decompression passwordoverwrite
: Whether to overwrite existing files (boolean)createDirectories
: Whether to create non-existent directories (boolean)Returns:
Get metadata information of local ZIP files.
Parameters:
input
: Path of the ZIP fileoptions
: Options (optional)
password
: Decompression passwordReturns:
Returns the input message to test if the service is running normally.
Parameters:
message
: Message to be returnedReturns:
Examples of calling tools using the MCP client:
// Compress files await client.executeTool("compress", { input: "/path/to/files/or/directory", output: "/path/to/output.zip", options: { level: 9, comment: "Test compression", password: "secret", overwrite: true, }, }); // Decompress files await client.executeTool("decompress", { input: "/path/to/archive.zip", output: "/path/to/extract/directory", options: { password: "secret", overwrite: true, createDirectories: true, }, }); // Get ZIP info await client.executeTool("getZipInfo", { input: "/path/to/archive.zip", options: { password: "secret", }, }); // Test service await client.executeTool("echo", { message: "Hello, ZIP MCP Server!", });