Skip to main content
Glama
pobibibi

youtube-transcript-mcp

by pobibibi

transcribe_video

Transcribes a YouTube video into a timestamped Markdown file with chapter index, returning the file path and summary for LLM-friendly reading.

Instructions

Transcribe a YouTube video and save it as a Markdown file built for an LLM to read: front matter with the video's facts, a linked chapter index, and the text in paragraphs with timestamps. By default it does NOT return the transcript, only the file path and a summary (title, channel, duration, word count and section list), so you can then read the whole file or just the section you need. Uses the video's own language unless another one is requested.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube video URL (youtube.com/watch?v=..., youtu.be/..., shorts) or bare video ID.
folderNoWhere to save the .md. Defaults to the TRANSCRIPTS_DIR environment variable, or ./transcripts.
languageNoCaption language code, e.g. 'en' or 'es'. Defaults to the video's own language. Requesting a language the video has no manual captions for returns YouTube's machine translation of its machine transcription, which is noticeably less reliable.
file_nameNoName of the .md file, without extension. Defaults to the video title.
timestampsNoPrefix each paragraph with [mm:ss]. Default true.
return_textNoAlso return the full Markdown in the response. Default false: it costs a lot of tokens and reading the file afterwards, whole or in parts, is almost always better.
block_secondsNoWhen the video has no chapters, split the transcript into blocks of this many seconds. Default 300.
include_descriptionNoInclude the description written by the video's author. Default true.
Behavior5/5

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

With no annotations, the description carries the full burden, and it excels: it discloses that the transcript is not returned by default, that a file is saved, the summary structure, the language fallback behavior, and the reliability caveat for machine translations. This is thorough and prevents false expectations.

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 description is a single dense paragraph but remains readable and every sentence earns its place. It could be slightly more structured with bullets to improve scannability, but it is not unnecessarily verbose.

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 complex tool with 8 parameters, a file-saving side effect, and no output schema, the description covers the default return value, summary fields, file path resolution, language handling, timestamps, chapter behavior, and description toggles. No critical gaps are apparent.

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 100%, but the description adds substantial meaning: it explains the machine-translation caveat for language, the token cost of return_text, the block_seconds behavior in the absence of chapters, and the default folder resolution. These insights are not evident from the schema alone.

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 clearly states the verb "Transcribe" and the resource (YouTube video), and specifies the output format: an LLM-ready Markdown file with front matter, chapter index, and timestamped paragraphs. It distinguishes itself from the sibling tool list_languages, which is about language codes, not transcription.

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?

The description provides explicit usage context: it explains the default behavior (does not return transcript, saves file path and summary), how to request a language, and the trade-offs of return_text. It doesn't explicitly name list_languages as a prerequisite, but the language-code context implies its use, and the guidance on when to avoid machine translation is clear.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pobibibi/youtube-transcript-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server