Skip to main content
Glama

sassy_zip

Idempotent

Creates a zip archive from a file or directory, supporting deflated, stored, bzip2, or lzma compression. Returns file count, sizes, compression ratio, and flags sensitive files while creating the archive.

Instructions

Mutating: writes a new zip archive to disk. Creates a zip from a file or directory in source; directories are walked recursively and files are stored with paths relative to the source root, while a single file is stored under its basename. compression (default deflated) accepts deflated, stored, bzip2, or lzma, and unrecognized values fall back to deflated. output defaults to source plus .zip, replacing the extension for files. Sensitive members are not blocked (full-directory backups must keep working): if any archived file matches the sensitive-read denylist (SSH keys, credential stores, ...), the archive is still created but the result carries a 'warning' field listing them and the event is audit-logged. Returns the created path, file count, original and zip byte sizes, and a compression ratio percentage. Use it to package files for sharing; use sassy_unzip to extract what it creates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
outputNo
sourceYes
compressionNodeflated

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.15.1
    • addedOutput schema / additionalProperties
      Added value: +true
    • removedOutput schema / properties
      Removed value: -{
      -  "result": {
      -    "title": "Result",
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "result"
      -]
    • changedOutput schema / title
      Previous value: -"sassy_zipOutput"New value: +"sassy_zipDictOutput"
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

The description goes well beyond the annotations by disclosing side effects: it writes to disk, walks directories recursively, stores paths relative to source root, falls back to deflated for unrecognized compression values, and does not block sensitive members while still logging them. It also enumerates the return fields. This is rich behavioral context that annotations alone do not provide.

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?

Although long, the description is dense and every sentence earns its place. The mutating side effect is front-loaded, followed by input handling, output behavior, security implications, return value, and usage guidance. There is no redundant restatement of the tool name or schema.

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

Completeness5/5

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

Given the sparse schema and available annotations, the description is remarkably complete. It covers input semantics, defaults, edge-case compression behavior, security-sensitive handling, audit logging, and the returned summary fields. The only minor omissions, such as overwrite behavior for an existing output file, do not materially impair an agent's ability to call the tool correctly.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully document parameters, and it does. It explains the meaning of 'source' (file or directory), 'output' (defaults to source plus .zip, replacing extension for files), and 'compression' (valid values plus fallback behavior). Every parameter receives useful semantic detail beyond the bare schema.

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 'Mutating: writes a new zip archive to disk' and then specifies exactly what it does: 'Creates a zip from a file or directory in source.' It distinguishes itself from the sibling sassy_unzip by saying 'use sassy_unzip to extract what it creates,' so an agent can tell this tool apart without inspecting 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 gives explicit guidance: 'Use it to package files for sharing; use sassy_unzip to extract what it creates.' It clearly names the companion alternative. However, it does not differentiate sassy_zip from the sibling sassy_tar/sassy_untar archive tools, so an agent choosing between zip and tar formats has no explicit decision guidance.

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

Deploy Server

Other Tools