Skip to main content
Glama

Zero to Hundred marketplace

Request a draft source archive upload

z2h_request_source_upload
Destructive

For an owned draft, get a short-lived signed archive URL. Ask the Builder to explicitly accept this exact statement: "I own or have the rights to sell the codebase I am about to upload." Pass ownershipAccepted=true and ownershipVersion=2026-09-27 only after they accept. Returns signedUrl for the archive PUT, objectKey for confirmation, and contentType for the upload header. Keep signedUrl private. PUT up to 100 MB to signedUrl, then call z2h_confirm_source_upload. This does not publish.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYesOwned listing slug from z2h_list_my_listings or z2h_create_draft_listing.
sizeBytesYesExact archive size in bytes. Must match the uploaded file.
contentTypeYesArchive MIME type, used unchanged for PUT and confirmation.
ownershipVersionYesVersion of the ownership statement explicitly accepted by the Builder.
ownershipAcceptedYesTrue only after the Builder explicitly accepts the statement in this tool description.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
objectKeyYesStorage key to pass unchanged to z2h_confirm_source_upload.
signedUrlYesShort-lived signed PUT URL. Keep it private and upload the archive before confirmation.
contentTypeYesContent-Type to use for the archive PUT and confirmation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint, non-idempotency and open-world behavior, so the bar is lower. The description nonetheless adds real operational context: the URL is short-lived, must be kept private, caps at 100 MB, and 'does not publish'—mitigating the scary destructive hint. The URL's actual lifetime and whether re-requests invalidate prior URLs are left unstated.

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?

Front-loaded with the core action in the first clause, and the required statement text is unavoidable verbatim content. However, the sentence enumerating signedUrl/objectKey/contentType largely restates what the output schema already provides, which is wasted space given an output schema exists.

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?

Covers the full call chain an agent needs: precondition, user-confirmation gate, size cap, upload target, privacy caution, and the mandatory follow-up tool. With an output schema present, it need not describe return values—so nothing material is missing.

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?

Schema coverage is 100%, so the schema already defines every parameter, making 3 the baseline. The description adds meaning beyond the schema by embedding the literal ownership statement and pinning the acceptance semantics of ownershipAccepted/ownershipVersion to that exact wording.

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?

States a specific verb and resource ('get a short-lived signed archive URL') scoped to 'an owned draft.' The follow-on step is named explicitly (z2h_confirm_source_upload), so the agent can distinguish this from the confirmation tool it sits next to in the workflow.

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?

Gives a clear precondition ('For an owned draft'), the exact user confirmation gate, and the required sequencing (PUT to signedUrl, then call z2h_confirm_source_upload). It does not spell out the negative case—e.g., when to re-request a URL or what to do if the URL expires—which keeps it short of 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.

Resources