MCP Hub
Back to servers

ZIP MCP

A robust ZIP archive management tool for MCP environments that provides full CRUD operations, verification, and deep inspection of compressed files.

Tools
7
Updated
Jan 8, 2026
Validated
Jan 9, 2026

ZIP MCP

ZIP MCP 是一个功能强大的 ZIP 文件处理工具,支持常用的 ZIP 命令功能,包括创建、提取、列出、添加、删除、查看和验证 ZIP 文件。它严格遵循 MCP(Model Context Protocol)规范,可以无缝集成到支持 MCP 的 AI 开发环境中。

功能特性

  • 创建 ZIP 文件:支持单个文件、多个文件和目录的压缩
  • 提取 ZIP 文件:将 ZIP 文件内容提取到指定目录
  • 列出 ZIP 内容:查看 ZIP 文件中的条目列表
  • 添加文件到 ZIP:向现有 ZIP 文件添加新文件或目录
  • 删除 ZIP 中的文件:从 ZIP 文件中删除指定条目
  • 查看 ZIP 中的文件内容:直接查看 ZIP 中单个文件的内容
  • 验证 ZIP 文件:检查 ZIP 文件的完整性
  • 递归操作:支持递归处理目录
  • 详细信息显示:可查看文件大小、压缩大小和修改时间
  • MCP 协议支持:严格遵循 Model Context Protocol 规范
  • JSON-RPC 2.0 规范:使用标准的 JSON-RPC 2.0 格式

安装方法

1. 安装 Node.js

确保已安装 Node.js(建议版本 14+)。可以从 Node.js 官网 下载并安装。

2. 克隆或下载项目

将项目克隆或下载到本地目录:

git clone https://github.com/gniquil123/ZipMCP.git
cd ZipMCP

3. 安装依赖

在项目目录中运行以下命令安装依赖:

npm install

MCP 安装和配置

1. MCP 简介

MCP(Model Context Protocol)是一种协议,它允许大型语言模型(LLMs)访问自定义的工具和服务。TRAE 中的智能体作为 MCP 客户端可以选择向 MCP Server 发起请求,以使用它们提供的工具。

2. ZIP MCP 配置文件

ZIP MCP 提供了示例配置文件 mcp-config-example.json,您可以根据需要修改:

{
  "mcpServers": {
    "Zip": {
      "command": "node",
      "args": [
        "这里配置为 index.js文件 的完整路径,注意路径分隔符要使用\\做转义"
      ],
      "env": {
        "ZIP_MCP_LOG_LEVEL": "info",
        "ZIP_MCP_MAX_FILE_SIZE": "104857600",
        "ZIP_MCP_TEMP_DIR": "./temp"
      }
    }
  }
}

3. 配置参数说明

参数描述示例值
command运行 MCP 服务的命令node
args命令参数["index.js"]
env环境变量{"ZIP_MCP_LOG_LEVEL": "info"}

4. 集成到 TRAE IDE

  1. 打开 TRAE IDE
  2. 进入设置页面
  3. 找到 MCP 配置选项
  4. 点击 "添加 MCP Server"
  5. 填写配置信息,或导入 mcp-config-example.json 文件
  6. 保存配置
  7. 重启 TRAE IDE(如有必要)

5. 验证 MCP 配置

配置完成后,您可以通过以下方式验证:

  1. 在 TRAE IDE 中打开一个 AI 对话
  2. 尝试使用 ZIP MCP 工具,例如:
    请使用 MCP 工具里的 Zip 来创建一个压缩包,包含 README.md 文件
    
  3. 如果 AI 能够正确调用 ZIP MCP 工具,则配置成功

使用方法

命令行模式

适合直接在终端中使用:

node index.js <命令> [参数] [选项]

MCP 模式

适合在支持 MCP 的 AI 开发环境中使用,AI 会自动生成正确的工具调用请求。

命令列表

命令行命令

命令别名描述
createc创建ZIP文件
extracte提取ZIP文件内容
listl列出ZIP文件内容
adda向现有ZIP文件添加文件
deleted从ZIP文件中删除文件
viewv查看ZIP文件中的单个文件内容
verifyV验证ZIP文件的完整性

MCP 工具

工具名称描述
zip.create创建ZIP文件
zip.extract提取ZIP文件内容
zip.list列出ZIP文件内容
zip.add向现有ZIP文件添加文件
zip.delete从ZIP文件中删除文件
zip.view查看ZIP文件中的单个文件内容
zip.verify验证ZIP文件的完整性

详细命令说明

1. 创建ZIP文件

命令行语法

node index.js create <zipPath> <files...> [选项]

选项

  • -r, --recursive:递归添加目录内容

示例

# 创建包含单个文件的ZIP
node index.js create archive.zip file.txt

# 创建包含多个文件的ZIP
node index.js create archive.zip file1.txt file2.txt

# 创建包含目录的ZIP(仅目录本身)
node index.js create archive.zip mydir

# 创建包含目录及其内容的ZIP(递归)
node index.js create -r archive.zip mydir

MCP 调用示例

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "tool": "zip.create",
    "params": {
      "zipPath": "archive.zip",
      "files": ["file.txt", "file2.txt"],
      "recursive": false
    }
  },
  "id": 1
}

2. 提取ZIP文件

命令行语法

node index.js extract <zipPath> [destDir]

参数

  • destDir:目标目录,默认为当前目录

示例

# 提取到当前目录
node index.js extract archive.zip

# 提取到指定目录
node index.js extract archive.zip output_dir

MCP 调用示例

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "tool": "zip.extract",
    "params": {
      "zipPath": "archive.zip",
      "destDir": "output_dir"
    }
  },
  "id": 1
}

3. 列出ZIP文件内容

命令行语法

node index.js list <zipPath> [选项]

选项

  • -v, --verbose:显示详细信息

示例

# 简洁列出ZIP内容
node index.js list archive.zip

# 详细列出ZIP内容(包含大小、压缩大小和修改时间)
node index.js list -v archive.zip

MCP 调用示例

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "tool": "zip.list",
    "params": {
      "zipPath": "archive.zip",
      "verbose": true
    }
  },
  "id": 1
}

4. 向ZIP文件添加文件

命令行语法

node index.js add <zipPath> <files...> [选项]

选项

  • -r, --recursive:递归添加目录内容

示例

# 向ZIP添加单个文件
node index.js add archive.zip newfile.txt

# 向ZIP添加目录及其内容(递归)
node index.js add -r archive.zip newdir

MCP 调用示例

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "tool": "zip.add",
    "params": {
      "zipPath": "archive.zip",
      "files": ["newfile.txt"],
      "recursive": false
    }
  },
  "id": 1
}

5. 从ZIP文件中删除文件

命令行语法

node index.js delete <zipPath> <entries...>

示例

# 从ZIP中删除单个文件
node index.js delete archive.zip file.txt

# 从ZIP中删除多个文件
node index.js delete archive.zip file1.txt file2.txt

MCP 调用示例

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "tool": "zip.delete",
    "params": {
      "zipPath": "archive.zip",
      "entries": ["file.txt"]
    }
  },
  "id": 1
}

6. 查看ZIP文件中的单个文件内容

命令行语法

node index.js view <zipPath> <entryName>

示例

# 查看ZIP中的文本文件内容
node index.js view archive.zip file.txt

MCP 调用示例

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "tool": "zip.view",
    "params": {
      "zipPath": "archive.zip",
      "entryName": "file.txt"
    }
  },
  "id": 1
}

7. 验证ZIP文件

命令行语法

node index.js verify <zipPath>

示例

# 验证ZIP文件的完整性
node index.js verify archive.zip

MCP 调用示例

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "tool": "zip.verify",
    "params": {
      "zipPath": "archive.zip"
    }
  },
  "id": 1
}

示例工作流

命令行工作流

  1. 创建包含目录内容的ZIP文件:

    node index.js create -r project.zip src docs package.json
    
  2. 查看ZIP文件内容:

    node index.js list -v project.zip
    
  3. 向ZIP文件添加新文件:

    node index.js add project.zip README.md
    
  4. 从ZIP文件中删除不需要的文件:

    node index.js delete project.zip docs/temp.txt
    
  5. 提取ZIP文件到指定目录:

    node index.js extract project.zip extracted_project
    
  6. 验证ZIP文件完整性:

    node index.js verify project.zip
    

AI 工作流

在支持 MCP 的 AI 开发环境中,您可以直接通过自然语言使用 ZIP MCP 工具:

请使用 MCP 工具里的 Zip 来创建一个包含 README.md 和 package.json 文件的压缩包,命名为 archive.zip

AI 会自动生成并发送 MCP 请求,调用 zip.create 工具完成操作。

注意事项

  1. 本工具基于 Node.js 开发,需要 Node.js 环境支持
  2. 支持 Windows、macOS 和 Linux 系统
  3. 处理大文件时可能需要较长时间,请耐心等待
  4. 请确保有足够的磁盘空间用于创建和提取 ZIP 文件
  5. 递归操作时请谨慎,避免意外压缩过多文件
  6. MCP 模式下,确保 MCP 配置正确,且服务能够正常启动
  7. 如遇到 "客户端已关闭" 错误,请检查 MCP 配置和依赖安装

解决常见问题

1. "客户端已关闭" 错误

原因

  • MCP 服务未正确启动
  • 依赖未安装
  • 配置文件格式错误

解决方案

  1. 确保已安装所有依赖:npm install
  2. 检查配置文件格式是否正确
  3. 确保 Node.js 版本符合要求
  4. 查看 MCP 服务日志,了解具体错误信息

2. 工具调用失败

原因

  • 参数格式错误
  • 文件路径不存在
  • 权限不足

解决方案

  1. 检查参数是否符合工具的 inputSchema 要求
  2. 确保文件路径正确,且服务有访问权限
  3. 检查目标目录是否可写

依赖库

  • adm-zip:用于 ZIP 文件的创建和处理

许可证

MIT License

更新日志

v1.0.0 (2026-01-09)

  • 初始版本发布
  • 支持创建、提取、列出、添加、删除、查看和验证 ZIP 文件
  • 支持递归操作
  • 支持详细信息显示
  • 提供 MCP 配置示例
  • 支持持续运行的服务模式
  • 修复了 "客户端已关闭" 问题
  • 实现了严格的 JSON-RPC 2.0 规范
  • 支持 MCP 协议的 tools/listtools/call 方法
  • 完整的工具元数据和 JSON Schema 支持

Reviews

No reviews yet

Sign in to write a review