Skip to main content
Glama

Rendreal

Request an image upload slot

design_request_image_upload

Step 1 of attaching a user image to a design: get a presigned upload URL.

Returns a presigned url, method (PUT), and headers. The caller PUTs the raw image bytes straight to url (they never pass through Compass), then calls design_confirm_image_upload with upload_url=that url. Prefer design_get_image_upload_page when the user has the file but you don't — it hands them a drag-and-drop page.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "session_id": "<session_id>",
      "design_id": "<design_id>",
      "filename": "<filename>",
      "content_type": "<content_type>"
    },
    "name": "design_request_image_upload"
  }
}

Input Schema

NameRequiredDescriptionDefault
filenameYes
design_idYes
session_idYes
content_typeYes

Output Schema

NameRequiredDescriptionDefault
resultYes

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?

Annotations only declare the safety profile (readOnly=false, destructive=false, idempotent=false); the description adds the crucial out-of-band behavior — bytes go straight to the presigned URL and never pass through Compass, and the URL is short-lived by nature. It does not mention presigned URL expiry or size/format limits, which are the main failure modes for this flow.

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?

Three tight sentences: purpose first, then the mechanics and return shape, then the alternative route. Every sentence carries distinct information and the sequencing is front-loaded where an agent will read it.

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

Completeness3/5

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

An output schema exists, so the description is not obligated to detail return values (though it helpfully does). However, with four required, fully undocumented parameters and no note on URL expiry or accepted content types, the definition leaves real gaps for a multi-step upload flow.

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

Parameters2/5

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

Schema description coverage is 0% and all four parameters are required, yet the description explains none of them. It never clarifies that content_type must match the actual bytes, what filename is used for, or how design_id/session_id scope the slot — the schema carries no compensating text either.

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 specific verb and resource ('get a presigned upload URL') and frames it as 'Step 1 of attaching a user image to a design', which distinguishes it from the confirm and page-based siblings. An agent knows exactly what this tool 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 Guidelines5/5

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

It states the ordering relative to siblings explicitly ('then calls design_confirm_image_upload with upload_url=that url') and gives a routing rule with its condition: prefer design_get_image_upload_page when the user has the file but you don't. That is a genuine when-to-use/when-to-use-something-else decision, not an implied one.

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