glim_youtube_get
ActiveTool of glim.sh
Fetch a YouTube video transcript from a video URL or 11-char id. The transcript is cleaned server-side: deduplicated, tags/HTML stripped, with coarse [m:ss] timestamps - roughly a tenth the size of the raw captions. Default format='text' returns it inline (when it fits ~40K chars / ~10K tokens) so a single call gives you the text directly; long-form videos fall back to a download_url note. Pass format='json' for the same transcript plus structured metadata and a presigned download_url - for batch/programmatic use. Default origin='uploader_provided' (human captions); falls back to 'auto_generated' automatically if missing (counts as 2 upstream calls). Cached 7 days server-side.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ref",
"format"
],
"properties": {
"ref": {
"type": "string",
"minLength": 1,
"description": "YouTube video URL or 11-char video id (e.g. https://youtu.be/dQw4w9WgXcQ, https://www.youtube.com/watch?v=dQw4w9WgXcQ, or dQw4w9WgXcQ)"
},
"format": {
"enum": [
"text",
"json"
],
"type": "string",
"default": "text",
"description": "Output format. 'text' (default): the cleaned transcript inline as plain text (omitted with a download_url note when it exceeds the ~40K-char inline cap). 'json': the same cleaned transcript plus structured metadata and a presigned download_url - for batch/programmatic use. Both formats return the identical cleaned, deduplicated transcript."
},
"origin": {
"enum": [
"uploader_provided",
"auto_generated"
],
"type": "string",
"default": "uploader_provided",
"description": "'uploader_provided' for human captions (default), 'auto_generated' for YouTube auto-captions."
},
"language_code": {
"type": "string",
"default": "en",
"maxLength": 10,
"minLength": 2,
"description": "ISO 639-1 language code (e.g. 'en', 'de', 'fr')"
}
}
}Parent server
glim.sh
https://github.com/glim-sh/glim-mcp
1/7 registries