Skip to main content
Glama

Get an asset

get_asset
Read-only

Read an asset by ID to retrieve a fresh signed URL and metadata, including media type, dimensions, and clip specs; check whether it is awaiting upload, processing, or failed.

Instructions

Read one asset by asset_id with a freshly signed url (valid for an hour), its role, name, media_type, bytes, width, height, content_digest and, for a clip, duration_frames, fps, codec and pix_fmt. An asset still in progress answers state awaiting_upload (PUT the file, then read again) or processing (read again in a few seconds); a refused one answers state failed with error.code. A deleted asset answers asset_not_found. Free.

Input Schema

NameRequiredDescriptionDefault
asset_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.33.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare a safe read, yet the description still adds real value: the signed URL expires in an hour, the full set of returned attributes, the three terminal states, and error.code on failure. The 'Free' note also discloses a cost trait the annotations cannot express.

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?

One dense paragraph with the core read described first, then states and errors. Every clause conveys information, though the field enumeration is slightly list-heavy and could be trimmed without losing meaning.

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-parameter read tool with no output schema, the description covers return shape, the async state machine, the re-read workflow, the deleted-asset failure mode, and cost. Nothing an agent needs before calling is missing.

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 description coverage is 0% for the single parameter, so the description must carry the load. It says only 'by asset_id', leaving the ast_<32 hex> pattern and exact identifier format to the schema. The single required parameter keeps the risk low, so this is adequate but not additive.

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 ('Read one asset by asset_id') and enumerates the returned fields, so it is immediately distinguishable from list_assets, create_asset, and update_asset in the sibling list.

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 explicit action guidance for each lifecycle state: PUT the file then re-read for awaiting_upload, re-read in a few seconds for processing, and asset_not_found for deleted assets. It stops short of naming the sibling to use for enumeration or bulk lookup, but the conditional paths are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.