Skip to main content
Glama

trigger_transcript

Idempotent

Start transcription for one audio or video asset when its transcription state is idle or error.

  • This tool is idempotent: complete, no_audio, splitting_audio, uploading, and transcribing states are returned unchanged and do not start another run.

  • If prepared transcription audio already exists, it is reused without another upload.

  • If audio preparation/upload is still needed, ChatCut uses the authenticated browser executor. Pass the full timelineId UUID, never a shortened ID, from editor state, read_project, or manage_timelines action="list". Internal agents use their authorized run project; external browser calls also require the full projectId UUID. Local source bytes must be available in the selected browser profile. The visible editor does not need to show the target. Already-running/complete transcripts and backend-ready audio may return without browser execution; these paths do not require browser scope. Desktop has a separate native tool contract.

  • Cloud speech recognition supports Chinese, Thai and other languages, with recognition selected automatically by detected language. The call returns after starting the work; use track_progress target=transcription to inspect it.

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": {
      "asset": "<asset>"
    },
    "name": "trigger_transcript"
  }
}

Input Schema

NameRequiredDescriptionDefault
assetYesAudio/video asset ID or unambiguous ID prefix.
projectIdNoFull project UUID. Required for external browser work; internal agents may omit. Execution/explicit-timeline calls never change later calls' target.
timelineIdNoFull timeline UUID, not a prefix. Required for browser work, even unplaced assets. Get it from read_project or manage_timelines action="list". Never switches visible timeline.
idempotencyKeyNoStable key for this browser execution. Reuse only with identical scope and parameters after a lost acknowledgement; applies only to this call.
browserProfileIdNoOptional browser profile override. Omit to select automatically; do not ask the user to choose.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, and the description reinforces this with the per-state no-op list, and adds genuinely new behavior: audio reuse without re-upload, dependence on the authenticated browser executor, differing auth scope for internal agents vs external browser calls, the local-bytes requirement, and the fact that the call returns as soon as work starts. However, it doesn't clarify what happens to a transcript in error state when re-triggered (overwrite vs. resume) or what the call returns beyond 'after starting the work'.

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?

The purpose and precondition are front-loaded and the bulleted structure makes the state machine and browser requirements scannable. It is dense but nearly every clause carries operational meaning; the closing note about Desktop's separate native contract is marginal but not wasteful.

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

Completeness4/5

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

For a five-parameter, non-read-only tool with no output schema, the description covers async semantics, idempotency, browser scoping, and where to check progress. The remaining gap is behavioral outcome on retry from the error state and what the immediate response contains, which an agent would likely want before calling.

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 coverage is 100%, so all five parameters are already documented in the schema, and the description largely restates the schema's rules (full UUID, never a prefix, where to get it, don't ask the user for browserProfileId). It adds one genuinely new constraint — internal agents may omit projectId while external browser calls require it — so it sits at the baseline rather than above it.

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 first sentence states a specific verb (start transcription), the exact resource (one audio/video asset), and the precondition (state idle or error), which immediately separates it from siblings such as manage_transcript and find_transcript.

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 names the states where the tool is a no-op (complete, no_audio, splitting_audio, uploading, transcribing) and routes the agent to track_progress target=transcription for inspection, plus names read_project and manage_timelines action="list" as the source of the required UUIDs.

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.