ZIP-MCP
ZIP MCP 服务器
中文| English
项目介绍
ZIP MCP Server 是一个基于 fastMCP 和 zip.js 的压缩服务器,实现了模型上下文协议 (MCP)。该项目提供完全参数控制的 ZIP 压缩、解压以及查询压缩包信息功能。
Related MCP server: ZIP MCP
特征
支持文件和数据的压缩和解压
支持多文件打包压缩
提供压缩级别控制(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-mcpMCP 配置
安装后,您可以在 MCP JSON 配置中配置 ZIP MCP:
{
"mcpServers": {
"zip-mcp": {
"command": "zip-mcp",
"args": []
}
}
}在 AI 客户端中配置 MCP JSON
Claude 客户端: https://modelcontextprotocol.io/quickstart/user
Raycast:需要安装 MCP 插件
光标: https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers
MCP 工具描述
ZIP MCP Server 提供了以下工具,可以通过 MCP 协议调用:
压缩工具(压缩)
将本地文件或目录压缩为 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
Available Tools
4 toolscompressC
Compress local files or directories into a ZIP file
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| options | No | ||
| output | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('compress into a ZIP file') but lacks critical details: whether it overwrites existing files by default, requires specific permissions, handles errors, or has performance/rate limits. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and specifies key details (local scope, ZIP format). Every word contributes to understanding the tool's purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters with nested objects, no annotations, no output schema), the description is inadequate. It covers the basic purpose but misses behavioral traits, parameter details, error handling, and output format. For a file mutation tool, this leaves the agent under-informed about critical usage aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implies 'input' parameters (files/directories) and 'output' (ZIP file path), adding basic meaning. However, it doesn't explain the 'options' object or its sub-parameters (like 'level', 'password', 'overwrite'), leaving 3 parameters partially undocumented. The description adds some value but doesn't fully address the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('compress') and resource ('local files or directories'), and specifies the output format ('ZIP file'). It distinguishes from sibling 'decompress' by indicating the opposite operation, though it doesn't explicitly differentiate from 'getZipInfo' which inspects rather than creates ZIPs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'decompress' or 'getZipInfo'. It mentions the basic function but offers no context about appropriate scenarios, prerequisites, or exclusions. The agent must infer usage from tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decompressC
Decompress local ZIP file to specified directory
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| options | No | ||
| output | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention whether the operation is destructive (overwrites files), requires specific permissions, handles errors, or has performance considerations like large file support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose with zero wasted words. It's appropriately sized for a straightforward tool, though its brevity contributes to gaps in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters including a nested object, no annotations, no output schema), the description is incomplete. It lacks details on parameter usage, behavioral expectations, error handling, and output format, making it inadequate for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but adds no parameter information. It mentions 'ZIP file' and 'specified directory' which loosely map to 'input' and 'output' parameters, but doesn't explain the 'options' object (createDirectories, overwrite, password) or their effects, leaving key functionality undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('decompress') and the resource ('local ZIP file to specified directory'), making the purpose immediately understandable. It distinguishes from sibling 'compress' by specifying the opposite operation, though it doesn't explicitly differentiate from 'getZipInfo' which inspects rather than extracts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'getZipInfo' (for inspection) or 'compress' (for the reverse operation). The description implies usage for extracting ZIP files but offers no context about prerequisites, error conditions, or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
echoB
Return the input message (for testing)
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool returns the input message, which implies a read-only, non-destructive behavior, but doesn't disclose any other traits like error handling, performance characteristics, or side effects. The description is minimal and lacks behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence that front-loads the core functionality ('Return the input message') and adds context ('for testing'). There is zero waste, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and testing context but lacks details on behavior, error cases, or integration with siblings. For a simple tool, it's complete enough but has clear gaps in guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds meaning by explaining that the 'message' parameter is returned as output. However, it doesn't elaborate on parameter constraints, format, or examples. With 1 parameter and no schema descriptions, the description provides basic semantics but could compensate more for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with 'Return the input message' and specifies it's 'for testing', which distinguishes it from sibling tools like compress/decompress. However, it doesn't explicitly contrast with siblings beyond the testing context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context with 'for testing', suggesting this is a diagnostic tool rather than for production workflows. It doesn't provide explicit guidance on when to use versus alternatives like compress or decompress, nor does it specify prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getZipInfoC
Get metadata information of a local ZIP file
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| options | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a read operation ('Get metadata'), implying non-destructive behavior, but lacks details on permissions, error handling, or output format. This is a significant gap for a tool with 2 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose, making it easy to parse quickly, which is ideal for conciseness in tool definitions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (2 parameters, nested objects, no output schema) and lack of annotations, the description is incomplete. It doesn't cover parameter details, behavioral traits like error cases, or return values, leaving the agent with insufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions 'local ZIP file' and 'metadata', hinting at the 'input' parameter, but doesn't explain the 'options' parameter or its 'password' field. This leaves half the parameters unclear, failing to add sufficient meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('metadata information of a local ZIP file'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'compress' or 'decompress', which operate on ZIP files differently, so it misses full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention scenarios like needing metadata without extraction or compare to siblings like 'decompress' for content access, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.0.0- First observed
compress - First observed
decompress - First observed
echo - First observed
getZipInfo
TDQS
Scored across 4 tools
Three tools (compress, decompress, getZipInfo) are clearly distinct and cover core ZIP operations, but the 'echo' tool is unrelated to the ZIP domain and could cause confusion as it serves a generic testing purpose rather than a ZIP-specific function.
The naming is mixed: 'compress' and 'decompress' use consistent verb-based names, but 'getZipInfo' uses a verb_noun pattern with camelCase, and 'echo' is a standalone verb. This creates a readable but inconsistent convention across the tool set.
With 4 tools, the count is reasonable for a ZIP utility server, though slightly thin for comprehensive coverage. The inclusion of 'echo' reduces the effective domain-specific tools to 3, which is borderline but still functional for basic operations.
The tool set covers basic ZIP operations (compress, decompress, get metadata), but lacks advanced features like listing contents without extraction, adding/removing files from archives, or handling password-protected ZIPs. The 'echo' tool does not contribute to ZIP functionality, creating a minor gap in domain coverage.
Maintenance
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Persistent file storage for AI agents via MCP and curl. Upload, download, and version files.
Shared long-term memory vault for AI agents with 20 MCP tools.
Browse and manage files in your Moxt AI workspace from any MCP client.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceA comprehensive Model Context Protocol server that provides over 50 file and system management tools for AI models, including navigation, file operations, search, compression, and system information capabilities.-
- AlicenseNot gradedqualityDmaintenanceA 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.13 npmMIT
- AlicenseBqualityFmaintenanceProvides tools for AI assistants to compress, decompress, and manage ZIP archives including metadata retrieval. It supports directory compression, password protection, and configurable extraction options.410 npmISC
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to perform 13 PDF operations (merge, split, compress, watermark, encrypt, and more) on local files via MCP.2-