Read transcripts
The full text with title, channel and timestamps, so answers quote what was actually said.
get_transcript1 video1 creditget_transcriptsup to 20 at once1 per video
One prompt pulls the transcripts of up to 1,000 videos: a channel, a playlist, a podcast's back catalogue. Your assistant then reads what was actually said, not just the titles. It can also search YouTube and watch channels for new uploads. Nothing to install.
https://bulktranscripts.co/mcpAdd it as a connector in your app, sign in with Google, then just ask. Steps for your app ↓
search_channel15 relevant videos1 creditget_transcripts15 full transcripts15 creditsAn MCP (Model Context Protocol) server gives an AI assistant such as Claude, ChatGPT or Cursor a set of tools it can call. The BulkTranscripts MCP server is hosted, so there is nothing to run: connect it with one URL and one Google sign-in and the assistant can fetch transcripts, search YouTube, list channels and playlists, and watch for new uploads.
Pick your app. Every one ends the same way: one Google sign-in, and the account starts with 30 free credits.
In Claude, open Settings → Connectors → Add custom connector. Name it BulkTranscripts, paste the URL below, press Add, then Connect. A sign-in page opens: continue with Google and the account includes 30 free credits. Then just ask, for example "Get the transcript of this video and summarize it" with a YouTube link.
https://bulktranscripts.co/mcpSettings → Connectors → Advanced → enable Developer mode, then Create a connector named BulkTranscripts with the URL below and OAuth authentication. Sign in with Google when prompted. Step by step on the ChatGPT guide.
https://bulktranscripts.co/mcpAdd the server, then run /mcp in a session and pick Authenticate. A sign-in page opens; continue with Google and the account includes 30 free credits. Full walkthrough: Claude Code guide.
claude mcp add --transport http bulktranscripts https://bulktranscripts.co/mcpPut this in ~/.cursor/mcp.json (global) or .cursor/mcp.json in a repo. Under Settings → MCP the server shows a login prompt; sign in once. There is also a one-click install link on the Cursor guide.
{
"mcpServers": {
"bulktranscripts": { "url": "https://bulktranscripts.co/mcp" }
}
}VS Code 1.101+ supports remote HTTP servers and MCP auth natively. Create the file, reload, and confirm the tools appear under Copilot Chat's Agent mode. Details on the VS Code guide.
{
"servers": {
"bulktranscripts": { "type": "http", "url": "https://bulktranscripts.co/mcp" }
}
}Recent Codex builds speak streamable-HTTP MCP. Builds with MCP OAuth open the sign-in on first use; on builds without it, use the key-in-URL form shown on the Codex guide.
[mcp_servers.bulktranscripts]
url = "https://bulktranscripts.co/mcp"Any client that can send headers can attach a key directly. Clients that cannot (ChatGPT's connector form, some Codex builds) accept the key in the URL instead: https://bulktranscripts.co/mcp?key=YOUR_KEY. Nothing to buy: create a free API key at /app → MCP & API → API keys and it works here and on the REST API. A license key from a credit pack works in the same slot.
claude mcp add --transport http bulktranscripts https://bulktranscripts.co/mcp \
--header "Authorization: Bearer YOUR_LICENSE_KEY"Ten tools in five jobs. Costs are per call; anything already in your library is free to read again.
The full text with title, channel and timestamps, so answers quote what was actually said.
get_transcript1 video1 creditget_transcriptsup to 20 at once1 per videoA channel, playlist or podcast back catalogue in one job. Runs on the server, so the chat never times out.
start_bulk_extractup to 1,000 videos1 per videoget_bulk_statusprogressfreelist_bulk_resultswhat landedfreeSearch all of YouTube, or search inside one creator's channel for a topic.
search_youtubeby keyword1 creditsearch_channelinside a channel1 creditEvery video on a channel or in a playlist, so the assistant picks what to read.
get_channel_videosup to 1,0001 creditget_playlist_videosin order1 credit“Did anyone I follow post this week?” Poll it every morning; it never costs a thing.
get_latest_videosnewest uploadsfreeYou never type a tool name. Ask in plain words and the assistant picks the tool, the way it picks a search engine.
Which tool runs for which request ↓A real recording in ChatGPT, sped up where it waits.
Paste a link or name a channel. The bigger the archive, the more it saves you.
“Pull every episode of this podcast and list the books the host keeps recommending, with the episodes that mention them.”
“Read all the lectures in this playlist and build a study guide with one section per lecture.”
“What have these three channels posted this month? One line each, then the themes they share.”
“What has @hubermanlab said about caffeine timing? Quote the episodes.”
“Find the most-watched videos on intermittent fasting and tell me where the experts disagree.”
“Check @TED, @veritasium and @3blue1brown for new uploads and brief me on anything about AI.” free
No npx, Docker or keys to juggle. BulkTranscripts runs the extraction (proxy routing, retries, a shared cache) and keeps it working when YouTube changes.
30 free credits with Google sign-in. A transcript costs 1 credit the first time it enters your library; reading it again is free in every app. One-time packs that never expire, no subscription.
Bulk jobs run up to 1,000 videos on the server and report progress, so long jobs survive the chat. Videos without captions are skipped and never charged.
BulkTranscripts operates the extraction service for you. Self-hosting gives you control of the implementation and deployment, with responsibility for its maintenance. Features vary by repository: check the specific server's documentation before choosing. This is a deployment comparison written by BulkTranscripts, not a benchmark of every alternative.
| BulkTranscripts MCP | Self-hosted repos (npx / uvx) | |
|---|---|---|
| Setup | Hosted URL with OAuth or a license key | Runtime and hosting depend on the chosen repository |
| Where requests come from | Managed extraction with residential routing and retries; failures remain possible | The network or proxy you configure |
| Tools | Transcript, batch of 20, YouTube search, channel search, channel list, playlist list, free new-upload check | Check the repository's tool list |
| Whole channel or playlist | List up to 1,000 videos, then batch-fetch | Check listing, pagination and batch support |
| Cache | Shared cache; repeat reads from your library are free | Depends on implementation and configuration |
| Authentication | OAuth sign-in or a license key header; credits follow the account | Depends on implementation and deployment |
| Cost | 30 free, then one-time packs from $4.99 for 200; credits never expire | Check licensing, hosting, network and maintenance costs |
You never call these by name — the assistant picks from the descriptions. This is the mapping it lands on, so you know what a request will cost before you ask.
| You say… | Tool used | Credits |
|---|---|---|
| "Summarize this video: [URL]" | get_transcript | 1 (0 if it is already in your library) |
| "Compare what these four talks say about X" | get_transcripts | 1 per new video |
| "Find the best explainers on Y" | search_youtube, then get_transcripts for the picks | 1 + 1 per transcript |
| "What has @creator said about Z?" | search_channel, then get_transcripts | 1 + 1 per transcript |
| "Turn this course playlist into study notes" | get_playlist_videos, then get_transcripts in batches of 20 | 1 + 1 per lecture |
| "Audit this channel's whole archive" | get_channel_videos (up to 1,000), then selective get_transcripts | 1 + 1 per transcript read |
| "Did @creator post anything this week?" | get_latest_videos | 0 |
| Tool | Parameters | Returns | Cost |
|---|---|---|---|
get_transcriptGet YouTube video transcript |
| Title, channel, duration, upload date, language, clean paragraph text, word count and (on request) timed segments for one video. | 1 credit on first library addition · repeat reads free |
get_transcriptsGet many transcripts at once |
| Up to 20 transcripts in one call, fetched in parallel; the call returns within about 40 seconds and anything still fetching comes back on the next call, free. Videos without captions are reported per item and do not fail the batch. One call is one request against the rate limit. | 1 credit per new transcript · repeats free |
search_youtubeSearch YouTube |
| Videos, channels or playlists matching a query: id, title, channel, duration, URL and view count. | 1 credit |
search_channelSearch inside a channel |
| Videos inside one channel that match a topic, same fields as search. | 1 credit |
get_channel_videosList a channel's videos |
| A channel's video list (id, title, duration, URL), up to 1,000, ready to feed into get_transcripts. | 1 credit |
get_playlist_videosList a playlist's videos |
| Every video in a playlist, in playlist order. | 1 credit |
get_latest_videosTrack new uploads (free) |
| A channel's newest uploads (up to 15) with publish dates and views. | Free — always |
start_bulk_extractStart a bulk extraction job |
| A run_id straight away, plus videos_found once the listing is done (small sources list within the call). The server then fetches every transcript into this account's library in the background. | Listing free · 1 credit per new transcript |
get_bulk_statusCheck a bulk job |
| status, total, completed, failed, skipped, quota, remaining and check_again_in_seconds for a job. | Free |
list_bulk_resultsList a bulk job's results |
| A page of per-video outcomes (id, title, channel, duration, word count, status, error code) with next_cursor. No transcript text. | Free |
/mcp → Authenticate; Claude web:
Settings → Connectors → the connector's menu → Reconnect; Cursor: Settings → MCP → Login). The
sign-in page is served by BulkTranscripts and accepts Google or a license key. If the page never
opens, the client is probably an older build without MCP OAuth: use the key-in-URL form
https://bulktranscripts.co/mcp?key=YOUR_LICENSE_KEY instead.401 right after buying a packout_of_credits in the middle of a batchpartial: true and a
stopped count, and the error carries a purchase link. Credits are added to the same
account you signed in with, so nothing needs reconnecting afterwards.no_transcript for a video that clearly has captionscode listed in the error table.
Still stuck? Email hello@bulktranscripts.co with the tool name and the code.Anything that speaks MCP over streamable HTTP: Claude Code, Claude web/desktop connectors, ChatGPT developer mode, Cursor, Windsurf, VS Code, Codex, Cline, Grok, and the official MCP SDKs.
Yes. Signing in with Google includes 30 free transcript additions, no card needed. The latest-uploads tool is free forever.
No. It is a hosted remote server at https://bulktranscripts.co/mcp: no npx, no uvx, no Docker, no API key juggling to start.
BulkTranscripts is hosted and includes search, channel and playlist listing, batch fetching, a shared cache, and account-based authentication. Self-hosted servers vary in features and give you control of deployment and maintenance. Check each repository's tools, limits, authentication, and network requirements.
Yes: the agent lists the channel's videos (up to 1,000), then batch-fetches transcripts. Videos already in your account's library come back instantly and free.
Copy the URL, add it as a connector, sign in with Google. 30 free credits, no card.
https://bulktranscripts.co/mcpStuck on setup? Email hello@bulktranscripts.co with the app or code you are using and what you see. A person answers, usually within a day.
Updated