Skip to main content
Glama

Upload attached files

upload_files

Copy files the user attached in the chat to Revid and get a public cdn.revid.ai URL for each, to use wherever Revid takes a media URL (render_video media and references, generate_media references and frames, create_character, clone_voice). In ChatGPT, use this for attached images, videos and audio rather than create_upload_url. Up to 10 files per call, 200 MB each; call it again for more. Use only the url values it returns. If nothing is attached, ask the user to attach the files or give a public link. Uses no credits.

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": {
      "files": "<files>"
    },
    "name": "upload_files"
  }
}

Input Schema

NameRequiredDescriptionDefault
filesYesThe files the user attached.

Output Schema

NameRequiredDescriptionDefault
okYes
dataNo
errorNo
methodYes
statusYes
endpointYes
retryAfterSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, openWorldHint=true), the description discloses batch limits (10 files, 200 MB each), the retry strategy ('call it again for more'), a critical output-usage rule ('Use only the `url` values it returns'), and cost ('Uses no credits'). These are non-obvious operational facts that annotations alone cannot convey and that prevent realistic failure modes such as constructing URLs manually.

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 action and result, then limits, then fallback behavior; almost every clause carries actionable information. The parenthetical tool list ('render_video media and references, generate_media references and frames, create_character, clone_voice') is dense and slightly long, but it earns its place by showing where the URL is accepted.

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?

An output schema exists, so return values need not be explained, yet the description still pins down the key output (the cdn.revid.ai URL). Combined with size/batch limits, the ChatGPT-specific routing, and the empty-input fallback, nothing an agent needs to invoke this correctly 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 baseline is 3, but the description adds meaning beyond the schema by stating the 200 MB per-file cap (maxItems=10 is in the schema, the size limit is not) and clarifying that the array must be host-attached files. The one nested object is well documented in-schema, so no further compensation is required.

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+resource ('Copy files the user attached in the chat to Revid') and names the concrete artifact produced ('a public cdn.revid.ai URL for each'). It explicitly distinguishes itself from the sibling create_upload_url, so an agent can route correctly without opening either 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 gives the positive condition ('In ChatGPT, use this for attached images, videos and audio'), the negative condition (use `create_upload_url` instead), and a fallback ('If nothing is attached, ask the user to attach the files or give a public link'). It also enumerates the downstream tools that accept the resulting URL, which is exactly the routing information an agent needs.

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