<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: RapidShortsAI</title>
    <description>The latest articles on DEV Community by RapidShortsAI (@rapidshortsai_012681b0e02).</description>
    <link>https://dev.to/rapidshortsai_012681b0e02</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4138049%2F8adf63af-ada9-4047-9962-fc310f6eecd4.png</url>
      <title>DEV Community: RapidShortsAI</title>
      <link>https://dev.to/rapidshortsai_012681b0e02</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rapidshortsai_012681b0e02"/>
    <language>en</language>
    <item>
      <title>I gave ChatGPT YouTube transcripts through MCP. Here is how it works</title>
      <dc:creator>RapidShortsAI</dc:creator>
      <pubDate>Tue, 22 Sep 2026 17:00:38 +0000</pubDate>
      <link>https://dev.to/rapidshortsai_012681b0e02/i-gave-chatgpt-youtube-transcripts-through-mcp-here-is-how-it-works-27co</link>
      <guid>https://dev.to/rapidshortsai_012681b0e02/i-gave-chatgpt-youtube-transcripts-through-mcp-here-is-how-it-works-27co</guid>
      <description>&lt;p&gt;Every few weeks I need to read a lot of YouTube. Not watch, read. A conference channel drops twenty talks, a framework maintainer explains a breaking change on a podcast, a competitor ships something and walks through it on camera. The information is in the audio, and the audio is slow.&lt;/p&gt;

&lt;p&gt;For a long time my workaround was the "show transcript" panel on YouTube, copy, paste into ChatGPT, repeat. It works for one video. It falls apart at five. And the pasted text is full of timestamps and line breaks that eat context.&lt;/p&gt;

&lt;p&gt;So I built the thing I wanted: an MCP server that hands an AI model clean transcripts, channel search, and playlist listings as tools. It's called &lt;a href="https://bulktranscripts.co" rel="noopener noreferrer"&gt;BulkTranscripts&lt;/a&gt; and this post is how it works under the hood, plus how to wire it into whatever client you use.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the model gets
&lt;/h2&gt;

&lt;p&gt;The server exposes a small set of tools. The ones I use most:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;get_transcript&lt;/code&gt; for one video, returned as plain text with no timestamps unless you ask for them&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_transcripts&lt;/code&gt; for a batch of video IDs in one call&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;search_channel&lt;/code&gt; to find videos on a channel by topic&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_latest_videos&lt;/code&gt; to see what a channel uploaded recently, always free&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;start_bulk_extract&lt;/code&gt; for a whole channel or playlist, up to a thousand videos, running server-side while the model polls &lt;code&gt;get_bulk_status&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last one matters more than it sounds. A model that has to fetch 200 transcripts inline will time out or blow its context. A detached job that fills a library on the server, with the model paging through results afterwards, is the difference between a demo and something you can use on a real channel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wiring it up
&lt;/h2&gt;

&lt;p&gt;If your client speaks OAuth (ChatGPT, Claude web and desktop, Claude Code, Cursor, VS Code), you add the endpoint and sign in with Google. No key to manage.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://bulktranscripts.co/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In Claude Code that's one line:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http bulktranscripts https://bulktranscripts.co/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In ChatGPT it lives under Apps, and the sign-in is a normal Google prompt. Thirty transcripts come free with the account, no card.&lt;/p&gt;

&lt;p&gt;For clients without OAuth, or for scripts, you create an API key in the dashboard and send it as a bearer token:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"bulktranscripts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://bulktranscripts.co/mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"headers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Bearer bt_ak_..."&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The setup page for each client is in the &lt;a href="https://bulktranscripts.co/docs#mcp" rel="noopener noreferrer"&gt;docs&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The credit rule, because it trips people up
&lt;/h2&gt;

&lt;p&gt;A transcript costs one credit the first time it enters your library. After that, reading it again is free, forever, from any client. Live lookups like channel search cost one credit. &lt;code&gt;get_latest_videos&lt;/code&gt; is free so you can poll it on a schedule and only fetch what's new.&lt;/p&gt;

&lt;p&gt;Credits follow the account, not the connector. Buying a pack never touches your MCP config. If a batch runs past your balance, you get the transcripts that completed and a clear count of how many were stopped, so the model can tell you instead of silently truncating.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually do with it
&lt;/h2&gt;

&lt;p&gt;The workflow that made me build this: pick one channel, ask for the fifteen most relevant videos on a topic, pull all the transcripts, and have the model produce something structured from them. A changelog digest. A "what did they claim and where" table with video attribution. A playbook from a series of talks.&lt;/p&gt;

&lt;p&gt;Here's the prompt shape, in ChatGPT with the connector on:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Look through @channel's recent videos about [topic]. Use the 15 most relevant. Pull the transcripts and build me a practical guide, citing which video each idea comes from.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The model makes a handful of tool calls, thinks for a couple of minutes, and the output is grounded in what was said rather than in what the titles suggest. That grounding is the whole point. Titles are marketing. Transcripts are the talk.&lt;/p&gt;

&lt;h2&gt;
  
  
  Things I'd warn you about
&lt;/h2&gt;

&lt;p&gt;Transcripts are only as good as YouTube's captions. Auto-generated captions on a heavy accent or a noisy room come through rough. Uploader-provided captions are great. You can't tell which you got until you read it.&lt;/p&gt;

&lt;p&gt;Also, don't let the model summarize. Ask it for claims, decisions, and quotes with attribution. Summaries flatten the interesting parts. Claims give you something to check or disagree with.&lt;/p&gt;

&lt;p&gt;If you try it and something breaks, tell me. The endpoint is &lt;a href="https://bulktranscripts.co" rel="noopener noreferrer"&gt;bulktranscripts.co/mcp&lt;/a&gt;, and the free credits are enough to run the whole workflow above once or twice before you decide if it's worth keeping.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>mcp</category>
      <category>ai</category>
      <category>youtube</category>
    </item>
  </channel>
</rss>
