ZIP MCP

ZIP MCP

A powerful ZIP file processing tool that enables creating, extracting, listing, adding, deleting, viewing, and verifying ZIP files through MCP protocol integration with AI development environments.

Category
访问服务器

README

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 会自动生成正确的工具调用请求。

命令列表

命令行命令

命令 别名 描述
create c 创建ZIP文件
extract e 提取ZIP文件内容
list l 列出ZIP文件内容
add a 向现有ZIP文件添加文件
delete d 从ZIP文件中删除文件
view v 查看ZIP文件中的单个文件内容
verify V 验证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 支持

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选