Skip to main content
Glama

zip-archive-create-extract-bomb-guard

Upload a file or an archive

zip_upload

Send a file to this hosted endpoint. There is no filesystem here, so instead of a path you upload the file once with zip_upload and then pass its name wherever a path is asked for: an archive to zip_list, zip_extract, zip_extract_text or zip_add, a plain file to zip_create. Give exactly one of content_base64 (the file's bytes, the only paste form an archive can take), content (text, for a text file to pack) or url. url: fetch a public file instead of pasting base64 (recommended above about 10 KB): the url is fetched here with a 10 second timeout, at most 3 redirects, public http(s) hosts only, and a 1 MB cap, and a name ending .zip is checked for the PK magic before anything is stored. Uploads are kept for your token between calls; zip_files lists them and zip_delete_upload removes one. The request body cap is 256 KB, so the practical ceiling on a paste is about 190 KB of file once it is base64 inside a JSON-RPC envelope.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNourl: fetch a public file instead of pasting base64 (recommended above about 10 KB). Public http(s) only; private, link-local and this endpoint's own zone are refused
nameYesName to refer to this file by: 1-64 characters of letters, digits, underscore or dash, with an optional extension. No extension means .zip, e.g. "reports" or "notes.txt"
contentNoThe file as text (a .txt, .csv, .md or source file to pack). Not accepted for a .zip
content_base64NoThe file's bytes, base64-encoded. This is the only paste form an archive can be uploaded in

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Because annotations are absent, the description carries the full burden — and it delivers richly: no filesystem semantics, per-token upload retention, mutual exclusivity of the three inputs, URL fetch behavior (10-second timeout, max 3 redirects, public hosts only, 1 MB cap), a PK magic check before .zip storage, and the 256 KB request-body cap translated into a ~190 KB practical paste limit. This is unusually complete behavioral disclosure.

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

Conciseness4/5

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

The description is genuinely long, but every sentence carries operational detail — it is front-loaded with the core workflow ('no filesystem... upload once, then pass the name'), then organizes modality-by-modality. No filler or restating of the schema, yet a 220+ word description could be tightened; it remains dense rather than verbose.

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 a tool with 4 parameters, no output schema, and two annotation absence, the description covers nearly everything an agent needs for correct invocation: input mode selection, safety limits, validation checks, retention, and downstream usage. The only minor gaps are the explicit return value of the call and exact error behavior when the size/host limits are violated — but with zip_files referenced as the verification path, these are recoverable omissions for a completion assessment.

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

Parameters4/5

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

The schema already documents all four parameters at 100% coverage, so a baseline of 3 would apply. The description adds real value on top: the 'exactly one of content_base64/content/url' rule, per-mode use cases, the URL fetching semantics (timeout, redirects, host restrictions, size cap), and the practical size ceiling for pasted content. It doesn't restate the schema does that itself, but enriches the conditions under which each parameter should be chosen.

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 concrete, specific action ('Send a file to this hosted endpoint') that goes beyond the generic title, and it explicitly frames the tool as the single upload entry point in a no-filesystem workflow. It then names the sibling tools that consume the uploaded name (zip_list, zip_extract, zip_extract_text, zip_add, zip_create), making the tool's role unmistakable against all 11 siblings.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance: upload once and pass the name wherever a path is requested, with the distinction between archive inputs (zip_list/zip_extract/zip_extract_text/zip_add) and plain-file inputs (zip_create). It also gives conditional selection rules among the three input modes — url is recommended above ~10 KB, content_base64 is the only paste form an archive can take, content is for text files — and instructs to provide exactly one of them.

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.