Skip to main content
Glama

Scan script

scan_script
Destructive

Analyze the active script: extracts character/environment/object assets and splits narration into voice blocks. DESTRUCTIVE on re-run (assets are recreated, not merged — curated descriptions, reference images, and voices are lost; prefer rescan_voice_blocks after script edits).

Extraction reads the narration AND any `[SCENE: ...]` directions — a
character or place named only inside a direction is still extracted,
under the exact name the direction uses. Directions never leak into
voice blocks (they ride onto the blocks they govern as staging instead).
Review list_assets afterwards and create_asset anything the video needs
that neither narration nor directions ever name. Async — returns
{job_id}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNoModel ID to scan with; empty uses the default (see list_models("script_scan"))
project_idYesProject ID, as returned by create_project or list_projects
editable_sectionsNoPer-call prompt section overrides, keyed by section name; see get_section_template("script_scan")

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark destructiveHint=true, but the description adds crucial behavioral detail: assets are recreated not merged, curated descriptions/reference images/voices are lost, directions are included in extraction but never leak into voice blocks, and the call is async returning {job_id}. This far exceeds what annotations alone provide and does not contradict them.

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 front-loaded with the core purpose, then the critical destructive warning, then edge-case extraction behavior and post-call steps. Every sentence adds actionable information and none feel redundant or wasted.

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 destructive, async tool with no output schema, the description covers the important operational facts: job_id return, destructive re-run behavior, how directions are handled, and recommended follow-up actions. An agent has enough context to decide whether to call it and what to expect.

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 100%, so the schema already documents all three parameters. The description adds some context about the active script and project scope, but it does not need to explain model or editable_sections because the schema already references list_models and get_section_template.

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 says exactly what the tool does: 'Analyze the active script: extracts character/environment/object assets and splits narration into voice blocks.' It names a specific verb and resources, and contrasts itself with rescan_voice_blocks, so an agent can distinguish it from siblings.

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 explicitly warns that re-running is 'DESTRUCTIVE' and tells the agent to 'prefer rescan_voice_blocks after script edits.' It also gives follow-up guidance: 'Review list_assets afterwards and create_asset anything the video needs that neither narration nor directions ever name.' This is clear when-to-use and otherwise guidance.

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