Compress and decompress ZIP files, with support for multi-file packaging, password protection, and encryption.
中文 | 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!",
});
A high-performance MCP server for comprehensive JSON file operations, including reading, writing, and advanced querying, optimized for LLM interactions.
Parses various file formats using the 302.AI API, requiring a 302AI_API_KEY.
Extract text, images, and perform OCR on PDF documents using Tesseract OCR.
An MCP server for LLM agents to perform filesystem operations and access web resources.
Manage files and downloads on Synology NAS devices using an AI assistant.
Provides read-only access to local files and directories.
A secure server for filesystem operations with controlled access to specified directories.
A server for performing filesystem operations such as reading/writing files, managing directories, and searching.
Secure file operations with configurable access controls
Perform filesystem operations within specified directories.