压缩工具

@7gugu/zip-mcp
0 Stars 627 次浏览 7gugu 更新于 2026-08-23

一种为人工智能提供压缩和解压本地文件能力的MCP工具。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

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

服务介绍

ZIP MCP 服务器

中文 | English

项目介绍

ZIP MCP 服务器是基于 fastMCP 和 zip.js 实现的 Model Context Protocol (MCP) 的压缩服务器。该项目提供了完全参数控制的 ZIP 压缩、解压和查询压缩包信息功能。

特性

  • 支持文件和数据的压缩与解压
  • 支持多文件打包压缩
  • 提供压缩级别控制(0-9)
  • 支持密码保护和加密强度设置
  • 提供压缩包元数据查询功能

项目结构

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

安装

您可以使用 npm 全局安装 ZIP MCP 服务器:

npm install -g zip-mcp

MCP 配置

安装后,您可以在您的 MCP JSON 配置中配置 ZIP MCP:

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

在 AI 客户端中配置 MCP JSON

MCP 工具说明

ZIP MCP 服务器提供了以下工具,可以通过 MCP 协议调用:

压缩工具 (compress)

将本地文件或目录压缩成 ZIP 文件。

参数:

  • input: 要压缩的文件或目录路径(字符串或字符串数组)
  • output: 输出的 ZIP 文件路径
  • options: 压缩选项(可选)
    • level: 压缩级别(0-9,默认为5)
    • password: 密码保护
    • encryptionStrength: 加密强度(1-3)
    • overwrite: 是否覆盖已存在的文件(布尔值)

返回:

  • 成功:包含成功信息的文本内容
  • 失败:包含错误信息的文本内容

解压工具 (decompress)

将本地 ZIP 文件解压到指定目录。

参数:

  • input: ZIP 文件路径
  • output: 输出目录路径
  • options: 解压选项(可选)
    • password: 解压密码
    • overwrite: 是否覆盖已存在的文件(布尔值)
    • createDirectories: 是否创建不存在的目录(布尔值)

返回:

  • 成功:包含解压结果信息的文本内容
  • 失败:包含错误信息的文本内容

ZIP 信息工具 (getZipInfo)

获取本地 ZIP 文件的元数据信息。

参数:

  • input: ZIP 文件路径
  • options: 选项(可选)
    • password: 解压密码

返回:

  • 成功:包含ZIP文件详细信息的文本内容,包括:
    • 文件总数
    • 总大小
    • 压缩后大小
    • 压缩比率
    • 每个文件的详细信息
  • 失败:包含错误信息的文本内容

测试工具 (echo)

返回输入的消息以测试服务是否正常运行。

参数:

  • message:要返回的消息

返回:

  • 包含输入消息和当前时间戳的文本内容

示例

使用MCP客户端调用工具的示例:

// 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!",
});

联系方式

相关 MCP 服务