Skip to main content
Glama

Request an upload URL

request_upload
Destructive

A one-time PUT url for an archive: the first step of a deploy, a new project, or a WordPress plugin or theme upload. The archive is a gzip tar of the folder (tar -czf project.tgz -C .) sent with content-type application/gzip; the answer carries the exact curl command and the uploadId. With serviceId the upload belongs to that service; without it, to a new project. The url takes one file up to 25 MiB and expires after 15 minutes.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "request_upload"
  }
}

Input Schema

NameRequiredDescriptionDefault
serviceIdNothe service the archive is for; left out for a new project with no server yet

Output Schema

NameRequiredDescriptionDefault
okYes
dataNo
errorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / serviceId / description
      Previous value: -"the service the archive is for; omit for a project with no server yet (create_project)"New value: +"the service the archive is for; left out for a new project with no server yet"
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, and the description adds real behavioral context beyond them: one-time use, a 25 MiB cap, and a 15-minute expiry. It does not explain what an upload with serviceId actually replaces or destroys on the target service, which is the main open question left by the destructive annotation.

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?

Four dense sentences, well front-loaded with the core 'what' before the format and constraint details. The mention of 'the exact curl command and the uploadId' in the answer is mildly redundant given an output schema exists, but the tar/content-type guidance earns its space.

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?

For a single optional parameter, a rich output schema, and an unusual request type, the description covers the archive format, the required content-type, the size limit, the expiry, and the serviceId branching. An agent has everything needed to form a correct call.

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% and the single parameter's schema description already covers 'left out for a new project with no server yet'. The description restates that distinction ('With serviceId the upload belongs to that service; without it, to a new project') without adding format, default, or edge-case detail, so baseline 3 applies.

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 (a one-time PUT url for an archive) and immediately situates it as the first step of a deploy, a new project, or a WordPress plugin/theme upload — which cleanly separates it from siblings like deploy, create_project, and wp_theme. An agent can tell what this produces without opening the schema.

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?

Clearly frames the tool as the entry point ('the first step of a deploy, a new project, or a WordPress plugin or theme upload') and differentiates the serviceId vs no-serviceId cases. It stops short of explicitly naming the follow-up tool (deploy, create_wordpress, wp_plugin) to call once the upload lands, which would have made the workflow routing airtight.

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