Skip to main content
Glama

studio.cut_transcript_span

Cut the words of a transcript span out of the whole video, the way deleting text in a transcript editor does. The span runs from from_caption_id to to_caption_id (row ids from get_transcript) and takes both rows whole; from_word_index and to_word_index narrow it to a word inside the from row and the to row (0-based, in the order get_transcript lists a row's words). The span's time comes out of every lane through the same cut as cut_range, so the scenes, clips, captions and stickers after it move earlier together, and a transcribed row that loses words keeps the words that are left. cut_start_ms and cut_end_ms report the range applied, which is wider than the span when a scene edge needs it. Not undoable. Refuses, naming the fix: an unknown caption id, a span that runs backwards, a word index on a manual caption or a silence row (neither has word timings, so it cuts only as a whole row), a word index past the row's last word, a span that covers no time, a locked track after the span, and whatever else cut_range refuses there (a span past the timeline end, a scene split with no room).

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": {
      "project_id": "<project_id>",
      "from_caption_id": "<from_caption_id>",
      "to_caption_id": "<to_caption_id>"
    },
    "name": "studio.cut_transcript_span"
  }
}

Input Schema

NameRequiredDescriptionDefault
project_idYesThe studio project (vp_…) this tool acts on.
to_caption_idYesThe caption row (vc_) the span ends in; the same id as from_caption_id for a span inside one row.
to_word_indexNo0-based index of the last word to cut in the to row; the row's end when left out.
from_caption_idYesThe caption row (vc_) the span starts in.
from_word_indexNo0-based index of the first word to cut in the from row; the row's start when left out.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With only readOnlyHint=false available, the description carries the full burden and delivers: 'Not undoable', the cross-lane ripple effect ('scenes, clips, captions and stickers after it move earlier together'), the fate of partially-cut rows, and the returned cut_start_ms/cut_end_ms range being wider than the span. Error cases are enumerated with the fix each names.

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 purpose and effect, then the span mechanics, then error handling. Dense single paragraph, every sentence carries information, though the long refusal enumeration is slightly heavy for one block.

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?

A destructive mutation with no output schema is covered thoroughly: reversibility, timeline side effects, returned range values, and failure modes are all stated. Nothing an agent needs to call it safely is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, yet the description still adds real semantics: ids are get_transcript row ids (vc_), the span takes both rows whole, word indices are 0-based in get_transcript's word order, and omission defaults to row start/end. This is meaning the schema's one-line descriptions do not convey.

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 precise verb+resource (cut transcript words out of the video) with an intuitive analogy ('the way deleting text in a transcript editor does'). It implicitly distinguishes itself from cut_range (which it reuses for timing) and from edit_caption by making clear it removes words and ripples the timeline.

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?

Explains the span model (both rows whole, word indices narrow the ends) and points to get_transcript as the source of ids, plus cut_range as the shared timing mechanism. The explicit refusal list effectively tells the agent what inputs will be rejected and why. It stops short of explicitly saying when to prefer cut_range or trim_clip instead, so a 4 rather than 5.

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