ZIP MCP Server
About
Enables direct file compression and decompression operations using ZIP format through fastMCP and zip.js utilities for efficient file handling within conversations.
Details
- Author
- 7gugu
- GitHub stars
- 16
- Downloads
- 513
- Categories
- File Management, Other, Productivity, Developer Tools, Design, AI, Infrastructure
Jump to
- Supports compression and decompression of files and data
- Supports multi-file packaging compression
- Provides compression level control (0-9)
- Supports password protection and encryption strength settings
- Provides query function for compressed package metadata
- Validates ZIP entry paths on decompression to prevent path traversal writes
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
ZIP MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
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": []
}
}
}
- Claude Client: https://modelcontextprotocol.io/quickstart/user
- Raycast: requires installing the MCP plugin
- Cursor: https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"zip mcp server": {
"zip-mcp": {
"command": "npx",
"args": [
"tsx",
"<ABSOLUTE PATH>/src/index.ts"
]
}
}
}
}
McpServers
{
"zip-mcp": {
"command": "npx",
"args": [
"tsx",
"<ABSOLUTE PATH>/src/index.ts"
]
}
}
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.
- Supports compression and decompression of files and data
- Supports multi-file packaging compression
- Provides compression level control (0-9)
- Supports password protection and encryption strength settings
- Provides query function for compressed package metadata
- Validates ZIP entry paths on decompression to prevent path traversal writes
Versions1.0.6and later fix an arbitrary file write issue in thedecompresstool: malicious ZIP entry names (for example../outside.txt) could previously be joined with the output directory and written outside the intended extraction root. Extraction now resolves the output root once, validates each entry path, and rejects absolute paths, drive-letter paths,..segments, and any path that would escape the output directory.
Thanks toRyan(vonbrubeck@gmail.com) for responsibly reporting this issue.
zip-mcp ├── src │ ├── index.ts # Application entry point │ ├── utils │ │ ├── compression.ts # Compression and decompression implementation │ │ └── safePath.ts # Safe ZIP entry path validation ├── tsconfig.json # TypeScript configuration file ├── package.json # npm configuration file └── README.md # Project documentation
You can install ZIP MCP Server globally using npm:
After installation, you can configure ZIP MCP in your MCP JSON configuration:
{ "mcpServers": { "zip-mcp": { "command": "zip-mcp", "args": [] } } }
- Claude Client:https://modelcontextprotocol.io/quickstart/user
- Raycast: requires installing the MCP plugin
- Cursor:https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers
ZIP MCP Server provides the following tools, which can be called through the MCP protocol:
Compress local files or directories into a ZIP file.
- input: Path of the file or directory to be compressed (string or string array)
- output: Path of the output ZIP file
- options: Compression options (optional)
- level: Compression level (0-9, default is 5)
- password: Password protection
- encryptionStrength: Encryption strength (1-3)
- overwrite: Whether to overwrite existing files (boolean)
- Success: Text content containing success information
- Failure: Text content containing error information
Decompress local ZIP files to the specified directory. Entry paths are validated before writing so files cannot be extracted outsideoutputvia..or absolute paths.
- input: Path of the ZIP file
- output: Path of the output directory
- options: Decompression options (optional)
- password: Decompression password
- overwrite: Whether to overwrite existing files (boolean)
- createDirectories: Whether to create non-existent directories (boolean)
- Success: Text content containing decompression result information
- Failure: Text content containing error information
Get metadata information of local ZIP files.
- input: Path of the ZIP file
- options: Options (optional)
- password: Decompression password
- Success: Text content containing detailed information of the ZIP file, including:
- Total number of files
- Total size
- Compressed size
- Compression ratio
- Detailed information of each file
Returns the input message to test if the service is running normally.
- Text content containing the input message and current timestamp
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!", });
- Email:gz7gugu@qq.com
- Blog:https://7gugu.com
Parses various file formats using the 302.AI API, requiring a 302AI_API_KEY.
A local server that allows AI to execute Windows CMD commands, read/write files, and manage directories within a specified path.
Filesystem agent memory working with consolidation Daemon on your machine
An AI-powered MCP server for advanced file system operations, including search, comparison, and security analysis.
Securely browse and read files within an Android project, with built-in validation and access controls for sensitive directories.
Build a persistent, local knowledge base in Markdown files through conversations with LLMs.
A read-only MCP server for querying live FTP data using the CData JDBC Driver.
An MCP server for viewing, editing, and creating text files, based on the Claude built-in text editor tool.
Convert PDF, Word, Excel, PowerPoint, EPUB, HEIC and images from Claude or Cursor, with 35 converters exposed through just two MCP tools.
A cross-platform filesystem server for Linux, macOS, and Windows with secure path restrictions.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



