TranscriptYT
YouTube transcripts for AI agents: text, JSON, SRT, or VTT in 150+ languages, with AI fallback.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"transcriptyt": {
"url": "https://transcript-yt.com/mcp"
}
}
}Remote endpoints
https://transcript-yt.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢get_transcript(url, language, translate_to, format, timestamps, ...)
Fetch the transcript of a public YouTube video. Accepts a full URL or an 11-character video ID. Defaults to Markdown (title + text), which is the most compact format for reading or summarizing. Use json for timestamped segments, srt/vtt for subtitle files. Costs 1 credit on success.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "YouTube URL or video ID"
},
"language": {
"description": "Preferred caption language (BCP-47, e.g. en, es, pt-BR)",
"type": "string"
},
"translate_to": {
"description": "Translate the transcript into this language",
"type": "string"
},
"format": {
"default": "md",
"description": "Output format",
"type": "string",
"enum": [
"json",
"text",
"srt",
"vtt",
"csv",
"md"
]
},
"timestamps": {
"default": false,
"description": "Prefix lines with timestamps (text/md)",
"type": "boolean"
},
"original_language": {
"description": "Prefer the spoken language's captions over English",
"type": "boolean"
},
"start_time": {
"description": "Only return the part from this second on",
"type": "number"
},
"end_time": {
"description": "Only return the part before this second",
"type": "number"
},
"search": {
"description": "Only return lines containing this text",
"type": "string"
}
},
"required": [
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_languages(url)
List the caption tracks available for a YouTube video. Free, and does not use credits.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "YouTube URL or video ID"
}
},
"required": [
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_playlist_videos(url, limit)
List the videos in a YouTube playlist, or a channel's uploads (newest first), with titles and durations. Accepts playlist links or IDs and channel links or @handles. Free. Use get_transcript on the videos you need.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Playlist URL/ID, or channel URL/@handle"
},
"limit": {
"default": 50,
"description": "Maximum videos to return",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"required": [
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_youtube(query, channel, limit)
Search YouTube for videos, or search within one channel by passing its link or @handle. Returns video IDs, titles, channels, durations, and view counts. Free. Use get_transcript on the videos you need.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search terms"
},
"channel": {
"description": "Only search this channel (URL, channel ID, or @handle)",
"type": "string"
},
"limit": {
"default": 10,
"description": "Maximum videos to return",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢summarize_video(url, language, translate_to)
Summary, key points, and timestamped study notes for a public YouTube video, generated from its transcript. Written in the transcript's language (translate_to changes which transcript is summarized). Costs 1 credit for the transcript plus 1 for the summary (2 total).
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "YouTube URL or video ID"
},
"language": {
"description": "Preferred caption language (BCP-47, e.g. en, es, pt-BR)",
"type": "string"
},
"translate_to": {
"description": "Summarize a translation of the transcript into this language",
"type": "string"
}
},
"required": [
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_usage
Show the remaining TranscriptYT credits and plan for this API key. Free.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence