Skip to main content
Glama

ZIP MCP Server

npm version

npm downloads

View @loscolmebrothers/zip-mcp on npm

An MCP (Model Context Protocol) server that provides ZIP file compression and decompression capabilities for AI assistants like Claude.

Features

  • Compress files and directories into ZIP archives

  • Decompress ZIP files to specified directories

  • Get ZIP metadata including file listings and compression info

  • Support for multiple input files/directories

  • Configurable compression options

  • Password protection support (via adm-zip)

Related MCP server: File Operation MCP Server

Installation

npm install
npm run build

Usage

As an MCP Server

Add to your Claude Desktop configuration file:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "zip": {
      "command": "npx",
      "args": ["-y", "@loscolmebrothers/zip-mcp"]
    }
  }
}

Available Tools

compress

Compress local files or directories into a ZIP file.

Parameters:

  • input (string | string[]): File path(s) or directory to compress

  • output (string): Output ZIP file path

  • options (optional):

    • overwrite (boolean): Overwrite if output file exists

    • level (number): Compression level (0-9)

    • password (string): Password to encrypt ZIP file

    • comment (string): ZIP file comment

    • encryptionStrength (number): Encryption strength (1=AES-128, 2=AES-192, 3=AES-256)

Example:

{
  "input": ["./docs", "./src/index.ts"],
  "output": "./archive.zip",
  "options": {
    "overwrite": true,
    "comment": "Project backup"
  }
}

decompress

Decompress a local ZIP file to a specified directory.

Parameters:

  • input (string): ZIP file path to decompress

  • output (string): Output directory path

  • options (optional):

    • overwrite (boolean): Overwrite existing files

    • password (string): Password for encrypted ZIP

    • createDirectories (boolean): Create output directory if it doesn't exist

Example:

{
  "input": "./archive.zip",
  "output": "./extracted",
  "options": {
    "overwrite": true,
    "createDirectories": true
  }
}

getZipInfo

Get metadata information about a ZIP file.

Parameters:

  • input (string): ZIP file path

  • options (optional):

    • password (string): Password for encrypted ZIP

Returns: JSON with file size, entry count, file listings, and compression details.

echo

Simple echo tool for testing the MCP connection.

Parameters:

  • message (string): Message to echo back

Development

# Install dependencies
npm install

# Build the project
npm run build

# The build output will be in ./build/index.js

Dependencies

License

ISC

Author

danicolms

Available Tools

4 tools
compressB

Compress local files or directories into a ZIP file

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesFile path(s) or directory to compress
outputYesOutput ZIP file path
optionsNo

TDQS

B3.1/5.0
Behavior2/5

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. While 'compress' implies a write operation, it doesn't specify permissions needed, whether it modifies source files, error conditions, or output behavior. Some behavioral aspects like overwriting are hinted at in the schema but not in the description itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core functionality without unnecessary words. It's front-loaded with the essential information and contains zero wasted verbiage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, nested objects, and no output schema or annotations, the description is minimally adequate. It covers the basic purpose but lacks guidance on usage, behavioral details, and parameter explanations that would help an agent use it effectively in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 67% schema description coverage, the description adds minimal value beyond the schema. It mentions 'local files or directories' which aligns with the 'input' parameter, but doesn't explain the 'output' parameter or 'options' object. The schema already documents parameters well, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('compress') and target ('local files or directories into a ZIP file'), making the purpose immediately understandable. It distinguishes from sibling 'decompress' by specifying compression rather than extraction, though it doesn't explicitly mention all siblings like 'getZipInfo'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'decompress' or 'getZipInfo'. The description only states what the tool does, not when it's appropriate or what prerequisites might be needed for successful compression.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesZIP file path to decompress
outputYesOutput directory path
optionsNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states the basic function. It doesn't disclose behavioral traits such as error handling (e.g., if input path is invalid), side effects (e.g., file system changes), performance implications, or output format. This leaves significant gaps for a tool that modifies local files.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. It directly communicates the tool's function in a compact form, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (file system mutation, multiple parameters, no annotations, no output schema), the description is incomplete. It lacks details on behavior, error cases, output expectations, and usage context, which are critical for safe and effective tool invocation by an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, with parameters 'input' and 'output' well-described in the schema, but 'options' object properties (overwrite, password, createDirectories) are documented. The description adds no parameter semantics beyond the schema, so it meets the baseline for moderate coverage without compensating for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('decompress') and resource ('local ZIP file'), specifying the target ('to specified directory'). It distinguishes from sibling 'compress' by indicating 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.

Usage Guidelines2/5

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 when not to use it.

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesMessage to echo back

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool returns the input message, which is straightforward, but it doesn't disclose behavioral traits such as error handling, performance characteristics, or any constraints. For a tool with no annotations, this leaves gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded, consisting of a single sentence that directly states the tool's function and purpose. Every word earns its place, with no unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks depth in behavioral transparency and usage guidelines. For a simple testing tool, it's complete enough to understand the core function, but could be improved with more context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'message' clearly documented. The description adds minimal value beyond the schema by implying the message is echoed back, but it doesn't provide additional semantic context like format examples or usage tips. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 ('Return') and resource ('input message'), and it provides context about its testing function. However, it doesn't explicitly differentiate from sibling tools like 'compress' or 'decompress' beyond the basic function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'for testing' which implies a context, but it doesn't provide explicit guidance on when to use this tool versus alternatives like the sibling tools. No when-not-to-use scenarios or specific alternatives are named.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesZIP file path
optionsNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves metadata, implying a read-only operation, but doesn't specify if it requires file permissions, handles errors (e.g., invalid paths), or returns specific data formats. For a tool with no annotations, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It is front-loaded with the core purpose ('Get metadata information'), making it easy to parse. Every part of the sentence contributes directly to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and moderate schema coverage (50%), the description is incomplete. It doesn't explain what metadata is returned (e.g., file list, sizes, timestamps), error handling, or operational constraints. For a tool with two parameters and potential complexity (e.g., encrypted files), more context is needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with the 'input' parameter documented as 'ZIP file path' and 'options.password' as 'Password for encrypted ZIP'. The description adds no additional parameter semantics beyond what the schema provides. Since coverage is moderate, the baseline score of 3 reflects adequate but minimal value from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 but perform different actions. The description is specific but lacks sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'compress' or 'decompress'. It doesn't mention prerequisites (e.g., file existence), exclusions, or contextual cues. The agent must infer usage from the tool name and description alone, which is insufficient for optimal selection.

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.

  1. 4 tool updatesv1.0.1
    • First observedcompress
    • First observeddecompress
    • First observedecho
    • First observedgetZipInfo

TDQS

B3.2/5.0

Scored across 4 tools

Disambiguation4/5

Most tools have distinct purposes: compress, decompress, and getZipInfo are clearly differentiated for ZIP file operations. However, the 'echo' tool is unrelated to the ZIP domain and could cause confusion about the server's primary function, though it's marked for testing.

Naming Consistency3/5

Three tools follow a consistent verb-based naming pattern (compress, decompress, echo), but 'getZipInfo' deviates with a camelCase style and includes a noun, creating a minor inconsistency. The naming is readable but mixed in convention.

Tool Count4/5

With 4 tools, the count is reasonable for a ZIP-focused server, covering core operations like compression, decompression, and metadata retrieval. The inclusion of 'echo' slightly dilutes the scope but doesn't make the set feel overly heavy or thin.

Completeness4/5

The tool set covers essential ZIP file operations: create, extract, and inspect. There are no major gaps for basic functionality, though advanced features like password protection or batch processing are not included, which is acceptable for a simple server.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    An MCP tool that provides AI with the ability to compress and decompress local files.
    4
    13 npm
    16
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables comprehensive file and document operations including image compression, archive creation/extraction, file copying/moving, PDF merging/splitting/conversion, SQLite database queries, and advanced text processing.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    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.
    13 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with .zim archives by providing tools for article search, content retrieval, and metadata discovery. It features a TF-IDF based RAG engine for semantic retrieval over extracted article chunks from compressed ZIM files.
    GPL 3.0