7Z

7gugu/zip-mcp

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

16 stars 4 forks 품질 72 트렌드 25MIT

An MCP tool that provides AI with the ability to compress and decompress local files.

개요

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 Versions and later fix an arbitrary file write issue in the decompress tool: 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, ..

README

원문 README의 일부입니다. 원문 보기.

ZIP MCP Server

中文 | English

Project Introduction

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.

Features

  • 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

Security

Versions 1.0.6 and later fix an arbitrary file write issue in the decompress tool: 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 to Ryan ([email protected]) for responsibly reporting this issue.

Project Structure

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

Installation

You can install ZIP MCP Server globally using npm:

npm install -g zip-mcp

MCP Configuration

After installation, you can configure ZIP MCP in your MCP JSON configuration:

{
  "mcpServers": {
    "zip-mcp": {
      "command": "zip-mcp",
      "args": []
    }
  }
}

Configure the MCP JSON in the AI Client

MCP Tool Description

ZIP MCP Server provides the following tools, which can be called through the MCP protocol:

Compression Tool (compress)

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 file
  • options: Compression options (optional)
    • level: Compression level (0-9, default is 5)
GitHub에서 전체 README 보기

설치

This server does not publish a one-line install command.

Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "zip-mcp": { "command": "zip-mcp", "args": [] } } }