Skip to main content
Glama

List assets

list_assets
Read-onlyIdempotent

List the project's assets extracted by scan_script — characters, environments, objects. Each has a description (the spec every shot uses to render it — surfaced top-level here; the raw row nests it at ai_output.description), an optional reference image (file_path is a public URL — view_image it), and for characters a voice_id. Review these after scan_script: fix descriptions, then generate_asset_reference for each one (all of them need a reference image before voiceover). asset_type filter: "character" | "environment" | "object".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asset_typeNoOptional filter: "character", "environment", or "object"; empty lists all asset types
project_idYesProject ID, as returned by create_project or list_projects

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds useful behavioral context: the output structure (description surfaced top-level, file_path as public URL, voice_id for characters) and the asset_type filter behavior. It does not contradict annotations.

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?

The description is concise with two sentences plus a clause. It front-loads the purpose, then provides workflow context, then filter details. Every sentence is necessary and informative, with no redundancy.

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?

Given the simple tool (2 params, no output schema) and rich annotations, the description fully covers what the tool does, what the output contains, and its place in the workflow. It explains the asset types, their attributes, and recommended next steps, making it self-contained.

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% with adequate descriptions for both parameters. The description adds value by explaining the asset_type filter values explicitly ('character', 'environment', 'object') and indicating that empty lists all types. It also clarifies the project_id context.

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 clearly states the verb 'list', the resource 'assets', and the scope 'project's assets extracted by scan_script'. It distinguishes from sibling tools like create_asset, delete_asset, update_asset by specifying the source and context.

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?

The description provides explicit guidance on when to use this tool: 'Review these after scan_script'. It also gives next steps: 'fix descriptions, then generate_asset_reference for each one'. It doesn't explicitly state when not to use or list alternatives, but the context is clear.

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.

TDQS

A3.6/5.0
Disambiguation3/5

Several tool families overlap in purpose, such as await_jobs/get_workflow_status/get_pipeline_progress, update_segment_content/update_segment_prompts, director_note/project_director_note, and scan_script/rescan_voice_blocks. The descriptions do a good job distinguishing them, but an agent must read carefully to avoid misselection, and there are more than a couple of confusable pairs.

Naming Consistency4/5

The set overwhelmingly follows a verb_noun snake_case convention with clear prefixes like get_, list_, set_, update_, create_, and delete_. Minor exceptions such as director_note, project_director_note, browse_audio_library, and whoami keep it from being perfectly consistent.

Tool Count1/5

At 72 tools, this is far beyond the 50+ extreme range and creates a heavy navigation burden for an agent. Even though the pipeline is complex, this many tools is not well-scoped for an MCP surface.

Completeness4/5

The surface covers the full script-to-export pipeline: styles, assets, voices, storyboards, segments, scenes, and rendering all have substantial lifecycle support. Some gaps exist—no delete_channel, delete_segment, delete_voice_block, or delete_provider_key—but most missing operations can be worked around through existing tools.

Resources