Skip to main content
Glama

Suggest short clips from a transcript

suggest_clips
Read-onlyIdempotent

Suggests the best short clips in one saved transcript, as start and end times with a hook line. Best for: "find the best 60 seconds", "which parts would make good shorts". Returns: each clip's start and end in seconds and as clock times, a hook line, the text, a 0 to 100 rank score and the reasons. Input tips: pass the transcript_id from transcribe_media, and library_id when that answer had one. Optional: count (1 to 5, default 3), min_seconds (default 30) and max_seconds (default 60); keep min_seconds below max_seconds. Not for: cutting, editing or posting video; it returns text only. Scores rank clips against each other and do not predict views.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNoHow many clips to suggest, such as 2 (default 3).
library_idNoThe library_id an earlier transcribe_media answer returned, such as lib_9b6a98861ea4f54bff8f5cf1. It names the set of transcripts that call saved. Pass it when that answer had one; leave it out when it was null or absent.
max_secondsNoLongest clip in seconds, such as 20 (default 60). It must be above min_seconds; a smaller value is raised to min_seconds + 5.
min_secondsNoShortest clip in seconds, such as 10 (default 30). Keep it below max_seconds.
transcript_idYesThe transcript_id from transcribe_media or search_transcripts, such as tr_a6f8c87a9b2eb748.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_ofYesThe UTC day of the answer, such as 2026-10-10.
clipsYes
notesYes
titleNo
statusYesok: clips found. none: the transcript has no stretch of the asked length; try other min_seconds and max_seconds. A refused call returns no object, only an error text such as "transcript_not_found: ..." that says what to do next.
transcript_idYesId of a saved transcript, for suggest_clips and translate_subtitles.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed24 schema fields changed
    • changedInput schema / properties / count / description
      Previous value: -"How many clips to suggest (default 3)."New value: +"How many clips to suggest, such as 2 (default 3)."
    • changedInput schema / properties / library_id / description
      Previous value: -"The library_id that transcribe_media returned. Only needed when transcribe_media returned one; leave it out otherwise."New value: +"The library_id an earlier transcribe_media answer returned, such as lib_9b6a98861ea4f54bff8f5cf1. It names the set of transcripts that call saved. Pass it when that answer had one; leave it out when it was null or absent."
    • changedInput schema / properties / max_seconds / description
      Previous value: -"Longest clip (default 60)."New value: +"Longest clip in seconds, such as 20 (default 60). It must be above min_seconds; a smaller value is raised to min_seconds + 5."
    • changedInput schema / properties / min_seconds / description
      Previous value: -"Shortest clip (default 30)."New value: +"Shortest clip in seconds, such as 10 (default 30). Keep it below max_seconds."
    • changedInput schema / properties / transcript_id / description
      Previous value: -"The transcript_id from transcribe_media or search_transcripts."New value: +"The transcript_id from transcribe_media or search_transcripts, such as tr_a6f8c87a9b2eb748."
    • addedOutput schema / properties / as_of / description
      Added value: +"The UTC day of the answer, such as 2026-10-10."
    • addedOutput schema / properties / as_of / format
      Added value: +"date"
    • addedOutput schema / properties / clips / items / properties / duration_seconds / description
      Added value: +"Length of the clip, in seconds."
    • addedOutput schema / properties / clips / items / properties / duration_seconds / minimum
      Added value: +0
    • addedOutput schema / properties / clips / items / properties / end / description
      Added value: +"End, in seconds from the beginning of the recording."
    • addedOutput schema / properties / clips / items / properties / end / minimum
      Added value: +0
    • changedOutput schema / properties / clips / items / properties / from / description
      Previous value: -"Start as a clock time"New value: +"Start as a clock time, such as 0:34."
    • addedOutput schema / properties / clips / items / properties / hook / description
      Added value: +"The opening sentence, to use as the clip's hook line."
    • addedOutput schema / properties / clips / items / properties / score / description
      Added value: +"Rank from 0 to 100 against the other clips of this transcript; it does not predict views."
    • addedOutput schema / properties / clips / items / properties / score / maximum
      Added value: +100
    • addedOutput schema / properties / clips / items / properties / score / minimum
      Added value: +0
    • addedOutput schema / properties / clips / items / properties / start / description
      Added value: +"Start, in seconds from the beginning of the recording."
    • addedOutput schema / properties / clips / items / properties / start / minimum
      Added value: +0
    • addedOutput schema / properties / clips / items / properties / text / description
      Added value: +"All words in the clip."
    • changedOutput schema / properties / clips / items / properties / to / description
      Previous value: -"End as a clock time"New value: +"End as a clock time, such as 1:02."
    • addedOutput schema / properties / clips / items / properties / why / description
      Added value: +"Reasons for the score."
    • addedOutput schema / properties / status / description
      Added value: +"ok: clips found. none: the transcript has no stretch of the asked length; try other min_seconds and max_seconds. A refused call returns no object, only an error text such as \"transcript_not_found: ...\" that says what to do next."
    • addedOutput schema / properties / transcript_id / description
      Added value: +"Id of a saved transcript, for suggest_clips and translate_subtitles."
    • addedOutput schema / properties / transcript_id / pattern
      Added value: +"^tr_[0-9a-f]{16}$"
  2. Changed1 schema field changed
    • removedOutput schema / properties / note_from_openkrill
      Removed value: -{
      -  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      -  "type": "string"
      -}
  3. Changed1 schema field changed
    • addedOutput schema / properties / note_from_openkrill
      Added value: +{
      +  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond that: the tool returns text only, and the rank scores are relative to each other and 'do not predict views' — an important interpretation caveat.

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, then clearly partitioned into Returns / Input tips / Not for sections, so an agent can scan to the part it needs. It is on the long side and partly restates schema defaults, but every sentence carries usable information.

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?

Covers the upstream dependency (transcribe_media, optional library_id), the optional tuning parameters with defaults and bounds, the return payload, and what the tool does not do. With an output schema present, no further return documentation is needed.

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 description coverage is 100%, so the schema already documents every parameter and the baseline is 3. The description still adds value by giving cross-tool provenance for transcript_id/library_id and restating the count/min_seconds/max_seconds defaults and the min-below-max constraint in one place.

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 (suggests) and resource (short clips in one saved transcript) plus the output shape (start/end times with a hook line). An agent can immediately tell this apart from search_transcripts, transcribe_media, translate_subtitles and the feedback tools.

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?

Explicitly names the user intents it serves ('find the best 60 seconds', 'which parts would make good shorts') and an exclusion section ('Not for: cutting, editing or posting video; it returns text only'). It also points to the upstream tool (transcribe_media) that produces the required transcript_id.

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.