article
README
🚀 ZIP MCP 服务器
ZIP MCP 服务器基于 fastMCP 和 zip.js 实现了 Model Context Protocol (MCP) 压缩功能,能提供完全参数控制的 ZIP 文件压缩、解压以及查询压缩包信息服务,为用户处理文件提供便利。
🚀 快速开始
安装说明
使用 npm 全局安装 ZIP MCP Server:
npm install -g zip-mcp
MCP 配置
安装完成后,可以在 MCP JSON 配置中配置 ZIP MCP:
{
"mcpServers": {
"zip-mcp": {
"command": "zip-mcp",
"args": []
}
}
}
AI 客户端配置 MCP JSON
- 对于 Claude Client,请参考:https://modelcontextprotocol.io/quickstart/user
- 对于 Raycast,需安装 MCP 插件
- 对于 Cursor,请参考:https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers
✨ 主要特性
- 支持文件和数据的压缩与解压
- 支持多文件打包压缩
- 提供压缩级别控制(0 - 9)
- 支持密码保护及加密强度设置
- 提供查询压缩包元数据的功能
📦 项目结构
zip-mcp
├── src
│ ├── index.ts # 应用入口文件
│ ├── utils
│ │ └── compression.ts # 压缩与解压实现文件
├── tsconfig.json # TypeScript 配置文件
├── package.json # npm 配置文件
└── README.md # 项目文档
💻 使用示例
基础用法
以下是通过 MCP 协议调用 ZIP MCP Server 工具的示例代码:
// 压缩示例
await client.executeTool("zip-mcp/compress", {
input: ["./files/to_compress/*"],
output: "./compressed.zip",
options: {
level: 9,
password: "yourpassword"
}
});
// 解压示例
await client.executeTool("zip-mcp/decompress", {
input: "./compressed.zip",
output: "./extracted_files",
options: {
password: "yourpassword"
}
});
// 查询示例
await client.executeTool("zip-mcp/query", {
input: "./compressed.zip",
options: {
password: "yourpassword"
}
});
📚 详细文档
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: 是否创建子目录(布尔值)
返回:
- 成功:包含成功信息的文本内容
- 失败:包含错误信息的文本内容
查询工具(query)
查询压缩包内的文件列表。
参数:
input: 待查询的 ZIP 文件路径options: 查询选项(可选)password: 解密密码(如果需要解密)
返回:
- 成功:包含文件列表的文本内容
- 失败:包含错误信息的文本内容
扫码联系在线客服