返回市场
压缩-MCP

压缩-MCP

作者:7gugu11 星标更新:2025-10-12

项目介绍

ZIP MCP Server

中文 | English

项目简介

<a href="https://glama.ai/mcp/servers/@7gugu/zip-mcp"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=3580337689,3248213956&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>

ZIP MCP Server 是一个基于 fastMCP 和 zip.js 的压缩服务器,实现了模型上下文协议(MCP)。该项目提供了完全参数控制的 ZIP 压缩、解压以及查询压缩包信息的功能。

特性

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

项目结构

zip-mcp
├── src
│   ├── index.ts               # 应用入口点
│   ├── utils
│   │   └── compression.ts     # 压缩和解压实现
├── tsconfig.json              # TypeScript 配置文件
├── package.json               # npm 配置文件
└── README.md                  # 项目文档

安装

您可以使用 npm 全局安装 ZIP MCP Server:

npm install -g zip-mcp

MCP 配置

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

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

在 AI 客户端中配置 MCP JSON

MCP 工具描述

ZIP MCP Server 提供了以下工具,可以通过 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 客户端调用工具的示例:

// 压缩文件
await client.executeTool("compress", {
  input: "/path/to/files/or/directory",
  output: "/path/to/output.zip",
  options: {
    level: 9,
    comment: "测试压缩",
    password: "secret",
    overwrite: true,
  },
});

// 解压文件
await client.executeTool("decompress", {
  input: "/path/to/archive.zip",
  output: "/path/to/extract/directory",
  options: {
    password: "secret",
    overwrite: true,
    createDirectories: true,
  },
});

// 获取 ZIP 信息
await client.executeTool("getZipInfo", {
  input: "/path/to/archive.zip",
  options: {
    password: "secret",
  },
});

// 测试服务
await client.executeTool("echo", {
  message: "你好,ZIP MCP Server!",
});

联系方式