Skip to main content
Glama

BulkTranscripts YouTube

Server Details

YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.

Ownership verified
Status
Healthy
Uptime
95.5% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 10 tools

Disambiguation4/5

Most tools target distinct actions: single vs batch transcript fetch (get_transcript/get_transcripts), within-channel vs global search (search_channel/search_youtube), and bulk orchestration (start_bulk_extract/get_bulk_status/list_bulk_results) are all clearly separable. The main overlap is get_channel_videos vs get_latest_videos, which both return a channel's videos, though the descriptions clearly distinguish full paid listing from free newest-15 RSS monitoring.

Naming Consistency5/5

All names are snake_case with a consistent verb_noun pattern: get_/list_/search_/start_ prefixes applied uniformly. No style mixing or vague verbs, so the surface reads predictably.

Tool Count5/5

10 tools is well within the ideal 3-15 range and each maps to a distinct capability (discovery, single/batch/bulk extraction, job monitoring). No redundant or filler tools inflate the surface.

Completeness4/5

The core workflow—discover videos, fetch transcripts (single, batch, bulk), and monitor results—is fully covered with lifecycle status and pagination. Gaps remain: there is no tool to browse the account's saved transcript library (central to the free-repeat model) and no way to stop a running bulk job despite a 'stopped' status being referenced.

Available Tools

10 tools
get_bulk_statusCheck a bulk jobA
Read-onlyIdempotent
Inspect

Progress of a bulk extraction job: status (running, completed, stopped, failed), total, completed, failed, skipped (no captions), quota (not attempted for lack of credits), remaining, and check_again_in_seconds, the suggested wait before the next check (0 means the job is finished). Free.

Inputs: run_id (required). Returns: error, phase, quota, total, +13 more

get_channel_videosList a channel's videosA
Read-onlyIdempotent
Inspect

List the videos of a YouTube channel (id, title, duration, URL) without fetching transcripts. Accepts @handle, channel URL, or UC… channel id. Costs 1 credit.

Inputs: channel (required), limit. Returns: count, title, billing, channel, +2 more

get_latest_videosTrack new uploads (free)A
Read-onlyIdempotent
Inspect

Get a channel's newest uploads (up to 15) with publish dates, from YouTube's RSS feed (or a lightweight listing when the feed is unavailable). Always free — no credit charged — so it is ideal for monitoring channels, daily recaps, and 'did they post this week?' checks. Accepts @handle, URL, or UC… id.

Inputs: channel (required). Returns: count, source, channel, results, +2 more

get_playlist_videosList a playlist's videosA
Read-onlyIdempotent
Inspect

List every video in a YouTube playlist, in playlist order (courses and series keep their sequence). Accepts a playlist URL or bare playlist id (13, 18, 26 or 34 characters — all valid). Public and unlisted playlists only: YouTube reports a private playlist as nonexistent (error playlist_private) until its owner sets Visibility to Unlisted. Costs 1 credit.

Inputs: playlist (required), limit. Returns: count, title, billing, results, +2 more

get_transcriptGet YouTube video transcriptAInspect

Fetch the full transcript of one YouTube video as clean text with metadata (title, channel, duration, upload date, language). Accepts a watch URL, youtu.be link, Shorts URL, or bare 11-character video id. Costs 1 credit the first time it is added to this account's library; repeat reads are free. Set include_segments to true only when per-line timestamps are needed (much larger output).

Inputs: video (required), fresh, language, include_segments. Returns: url, text, title, cached, +11 more

get_transcriptsGet many transcripts at onceA
Idempotent
Inspect

Fetch transcripts for up to 20 videos in one call — pass an array of YouTube URLs or ids. Videos are fetched in parallel and the call returns within about 40 seconds; any video still being fetched at that point is listed in failed with code still_fetching, is not charged, and keeps fetching in the background, so a repeat call with those ids 15-30 seconds later returns them instantly. Each new library addition costs 1 credit; repeats from this account's library are free. Videos without captions are reported per-item and do not fail the batch. One call counts as one request against the rate limit however many videos it holds. If the balance runs out, completed items are returned with partial=true and an out_of_credits stopped block.

Inputs: videos (required), language. Returns: failed, billing, partial, stopped, +3 more

list_bulk_resultsList a bulk job's resultsA
Read-onlyIdempotent
Inspect

One page of per-video outcomes for a bulk job: video id, title, channel, duration, word count and status (ok, cached, or error with a code). Never includes transcript text; every ok or cached video is in the library and free to read again. next_cursor from one page continues to the next. Free.

Inputs: run_id (required), limit, cursor. Returns: note, items, total, run_id, +2 more

search_channelSearch inside a channelA
Read-onlyIdempotent
Inspect

Search within one channel's uploads to find its videos on a topic — great for researching what a creator has said about something without listing the whole archive. Accepts @handle, channel URL, or UC… id. Costs 1 credit.

Inputs: query (required), channel (required), limit. Returns: count, query, billing, channel, +2 more

search_youtubeSearch YouTubeA
Read-onlyIdempotent
Inspect

Search YouTube by keyword for videos, channels, or playlists (set type). Returns titles, ids, and URLs — useful for research, discovery, and finding videos to transcribe. Costs 1 credit per search.

Inputs: query (required), type, limit. Returns: type, count, query, billing, +1 more

start_bulk_extractStart a bulk extraction jobAInspect

Extract every transcript of a YouTube channel, playlist or video list in the background. Returns immediately with a run_id; the server discovers the videos (free), fetches each transcript into this account's library (1 credit per new transcript, cache hits and repeats free, failures never charged) and keeps going after this call returns. Transcripts it adds are free to read again from the library. Up to 1,000 videos per job, 2 jobs per account at a time; suited to anything larger than about 20 videos.

Inputs: url (required), content, language, start_at, +1 more. Returns: error, phase, quota, total, +13 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Provides AI agents with token-optimized access to YouTube data, including video details, transcripts, channel statistics, trending videos, and search.
      2,236 npm
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI agents to retrieve YouTube transcripts from individual videos, channels, and search results, supporting multiple output formats such as plain text, SRT, and VTT.
      3
      45 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI clients to pull full transcripts from YouTube videos, search videos and channels, browse a channel's complete upload history, search within a single channel, and extract every video in a playlist through one hosted remote endpoint. It supports API-key or OAuth 2.1 sign-in with no local installation, returning metadata and paginated results with stable error codes.
      14
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources