中文 | English
ZIP MCP Server 是一个基于 fastMCP 和 zip.js 的压缩服务器,实现了模型上下文协议(MCP)。该项目提供了完全参数控制的 ZIP 压缩、解压以及查询压缩包信息的功能。
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 JSON 配置中配置 ZIP MCP:
{
"mcpServers": {
"zip-mcp": {
"command": "zip-mcp",
"args": []
}
}
}
ZIP MCP Server 提供了以下工具,可以通过 MCP 协议调用:
将本地文件或目录压缩成 ZIP 文件。
参数:
input:要压缩的文件或目录路径(字符串或字符串数组)output:输出 ZIP 文件的路径options:压缩选项(可选)
level:压缩级别(0-9,默认为 5)password:密码保护encryptionStrength:加密强度(1-3)overwrite:是否覆盖已存在的文件(布尔值)返回:
将本地 ZIP 文件解压到指定目录。
参数:
input:ZIP 文件的路径output:输出目录的路径options:解压选项(可选)
password:解压密码overwrite:是否覆盖已存在的文件(布尔值)createDirectories:是否创建不存在的目录(布尔值)返回:
获取本地 ZIP 文件的元数据信息。
参数:
input:ZIP 文件的路径options:选项(可选)
password:解压密码返回:
返回输入的消息以测试服务是否正常运行。
参数:
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!",
});