压缩工具
一种为人工智能提供压缩和解压本地文件能力的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
- Claude 客户端: https://modelcontextprotocol.io/quickstart/user
- Raycast: 需要安装 MCP 插件
- Cursor: https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers
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!",
});
联系方式
- 邮箱: gz7gugu@qq.com
- 博客: https://7gugu.com