Skip to main content
Glama

zip-archive-create-extract-bomb-guard

Extract a zip archive

zip_extract

Call this tool to unpack an archive; every entry comes back as its own download link valid for one hour. Traversal, absolute-path and symlink entries are refused, a size and ratio cap stops a zip bomb, and dry_run reports exactly what would be written.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the .zip file
dry_runNoReport what would be written, byte counts included, and write nothing
out_dirNoIgnored on this hosted endpoint: there are no directories, and every extracted entry comes back as its own download link valid for one hour
patternsNoOnly entries matching one of these globs (* and ? inside a segment, ** across segments)
max_ratioNoRefuse an entry whose uncompressed/compressed ratio is above this. Default 100
overwriteNoReplace files that already exist in out_dir. Default false: the whole extraction is refused if any would be replaced
skip_unsafeNoSkip the dangerous entries and extract the rest, naming what was skipped. Default false: one bad entry refuses the whole archive
max_total_mbNoRefuse if the selected entries declare more than this uncompressed. Default 1024

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

With all annotations false, the description carries the full burden of behavioral disclosure. It goes beyond annotations by detailing safety mechanisms (traversal/absolute-path/symlink refusal, zip bomb size and ratio caps, dry_run behavior) and the unusual output format (per-entry download links valid for one hour). It does not explicitly state whether it writes to disk, but the 'no directories' and download-link phrasing strongly imply a non-persistent extraction. This is substantial added context beyond the minimal annotation signals.

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?

Two sentences with zero filler. The core action is front-loaded, followed by the most critical behavioral notes (safety and output format). Every clause earns its place, and the structure makes the essential facts immediately visible.

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

Completeness4/5

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

For an 8-parameter tool with no output schema and empty annotations, the description covers the key behaviors: extraction scope, safety guards, dry_run semantics, and the return format (download links). It does not enumerate default values (though those are in the schema) or error conditions, but for an agent deciding whether to call it, the essential information is present. The lack of an output schema is mitigated by the explicit statement about download links.

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 coverage is 100% with descriptive parameter comments for all 8 parameters, so the baseline is 3. The description reinforces safety parameters (max_ratio, max_total_mb) and dry_run, but does not add format or syntax details beyond what the schema already provides. It does mention the out_dir is ignored (via 'no directories'), but that is already in the schema description. Overall, the description does not significantly augment parameter understanding.

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

Purpose5/5

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

The description opens with a clear verb+resource ('unpack an archive') and immediately distinguishes itself from sibling tools like zip_extract_text by noting every entry comes back as a download link, which is a unique behavior. This is specific enough that an agent can tell it apart without opening other tool schemas.

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

Usage Guidelines4/5

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

The description states when to call it ('Call this tool to unpack an archive'), providing a clear context. However, it does not mention any alternative tools (e.g., zip_list for listing, zip_extract_text for text-only extraction) or any exclusions, so it lacks the explicit when-not-to-use guidance that would earn a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.