Skip to main content
Glama

Get video transcript

get_video_transcript
Read-onlyIdempotent

Retrieve the spoken text and start times from uploaded Skool lesson or post videos in 30-second caption segments, with pagination to read longer videos.

Instructions

The spoken text of a video uploaded to a lesson or post, from Skool's captions.

Returns what is said in a video uploaded to Skool, as Skool's automatic captions, in 30-second segments with their start time. Give the video_id and where it is (course_id and lesson_id, or post_id), as list_videos returns them. One call reads about 20 minutes of video; when next_start_minute is not null, call again with it as start_minute for the rest (the first segment may repeat the last one). Linked YouTube, Vimeo, Loom or Wistia videos have no transcript here. Only videos this account can watch.

Input Schema

NameRequiredDescriptionDefault
groupYesGroup URL name, e.g. 'yourgroup' for skool.com/yourgroup.
post_idNoFor a post video: post_id from list_videos.
languageNoCaption language code, e.g. 'en'. Default: the video's first caption track.
video_idYesvideo_id from list_videos (uploaded videos only).
course_idNoFor a lesson video: course_id from list_videos.
lesson_idNoFor a lesson video: lesson_id from list_videos.
start_minuteNoMinute to start from; pass next_start_minute of the previous answer to go on.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.5

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the description is free to spend its words on what annotations cannot say: caption source, 30-second segment granularity, roughly 20 minutes of video per call, the pagination loop with a possible repeated boundary segment, and the permission constraint 'only videos this account can watch'. Those are exactly the behavioral facts an agent needs to drive the paging loop correctly.

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 what the tool returns, then constraints, then pagination — a sensible order with no filler. Minor redundancy: 'uploaded to a lesson or post' is effectively restated in the second sentence, costing a few words.

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?

With 7 params, no output schema, and an openWorld read tool, the description covers everything needed: input sourcing, granularity of the return, the continuation pointer next_start_minute, and failure modes (external-hosted videos, permission scope). Nothing an agent needs to invoke it correctly and page through results is missing.

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%, so the baseline is 3; the description earns above that by supplying the relational logic the schema only hints at — the location must be course_id+lesson_id OR post_id, and ids come from list_videos. It does not explain the language parameter's fallback or start_minute units beyond what the schema says, so it stops short of a 5.

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 concrete verb and resource — returns the spoken text of an uploaded video as Skool's automatic captions, in 30-second segments with start times. This clearly separates it from list_videos (which enumerates videos) and from other read tools in the sibling set. An agent can identify the tool's job without opening the schema.

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?

Gives explicit selection guidance: use video_id plus course_id/lesson_id or post_id 'as list_videos returns them', and explicitly excludes linked YouTube/Vimeo/Loom/Wistia videos that have no transcript here. It also states the continuation rule — when next_start_minute is not null, call again with it as start_minute. That is when/when-not and the alternative source all in one paragraph.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.