7gugu/zip-mcp
Built by Metorial, the integration platform for agentic AI.
7gugu/zip-mcp
Server Summary
Compress files
Decompress files
Control compression level
Password protect files
Query ZIP file metadata
中文 | 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!",
});