Skip to content
Conduit

mcp server

bulktranscripts-mcp

Hosted YouTube MCP server — transcripts, search, channel & playlist listings and upload tracking for Claude, Cursor, ChatGPT and any MCP client. No signup.

pratie/bulktranscripts-mcpcommunitylistedunreviewednot running here yet

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 15, 2026

BulkTranscripts MCP server

YouTube transcripts for AI agents — one video, a whole channel, or a playlist — plus YouTube search and free new-upload tracking, through one hosted MCP server. No local process, no yt-dlp to keep fresh, no IP blocks to fight: extraction, proxy rotation and PO-token handling all happen server-side.

Install

Claude Code

claude mcp add --transport http bulktranscripts https://bulktranscripts.co/mcp

Run /mcp and pick bulktranscripts to sign in. This repo is also a Claude Code plugin (server + skill):

/plugin marketplace add pratie/bulktranscripts-mcp
/plugin install bulktranscripts@bulktranscripts

Claude (web and desktop)

Settings → Connectors → Add custom connector → URL https://bulktranscripts.co/mcp. Claude opens the Google sign-in; credits then follow your account.

ChatGPT

Settings → Apps & Connectors → Developer mode → Create → URL https://bulktranscripts.co/mcp, authentication OAuth.

Gemini CLI

gemini extensions install https://github.com/pratie/bulktranscripts-mcp

Sign in with Google when Gemini CLI opens the OAuth page on first use.

Cursor, VS Code, Windsurf, any client with a JSON config

{
  "mcpServers": {
    "bulktranscripts": {
      "type": "http",
      "url": "https://bulktranscripts.co/mcp"
    }
  }
}

OAuth-capable clients start the sign-in on the first request. Clients that cannot do OAuth send an API key instead — create one free at https://bulktranscripts.co/app?tab=mcp (Google sign-in, 30 free credits) or use the license key from a credit pack:

{
  "mcpServers": {
    "bulktranscripts": {
      "type": "http",
      "url": "https://bulktranscripts.co/mcp",
      "headers": { "Authorization": "Bearer ${BULKTRANSCRIPTS_API_KEY}" }
    }
  }
}

Clients that cannot send headers can append ?key=YOUR_KEY to the URL.

What the agent can do

ToolWhat it doesCost
get_transcriptFull transcript of one YouTube (or TikTok) video as clean text with metadata; timestamped segments on request.1 credit, free on repeat reads from your library
get_transcriptsUp to 20 videos in one call; videos without captions are reported per item and never fail the batch.1 credit per new transcript
search_youtubeSearch YouTube for videos, channels or playlists by keyword.1 credit
search_channelSearch inside one channel's uploads for a topic.1 credit
get_channel_videosList up to 1,000 of a channel's videos (id, title, duration, URL).1 credit
get_playlist_videosList up to 1,000 videos of a public or unlisted playlist, in order.1 credit
get_latest_videosA channel's newest uploads with publish dates, from RSS.Always free
start_bulk_extractFetch every transcript of a channel, playlist or video URL (up to 1,000) as a background job; returns a run_id at once.Listing free, 1 credit per new transcript
get_bulk_statusProgress of a bulk job with check_again_in_seconds, so agents poll at the right pace.Free
list_bulk_resultsPaged per-video outcomes of a bulk job (id, title, channel, duration, word count, status). Text stays behind get_transcript, free once in the library.Free

Every tool is read-only: nothing on YouTube or in your account is modified or deleted. Transcripts land in your library once and are free to re-read forever, in any format, so agents that revisit the same videos do not burn credits. get_latest_videos is free on purpose: poll it to detect new uploads, then spend a credit only on what is actually new. For anything larger than about 20 videos, start_bulk_extract runs the whole channel or playlist on the server while the agent polls get_bulk_status.

Example prompts

Summarise the last 10 videos from @veritasium and tell me which ones cover quantum mechanics.

Find talks about founder mode on the Y Combinator channel and pull the transcripts.

Watch @simonwillison for new uploads and transcribe anything about local models.

How auth works

An unauthenticated request to /mcp answers 401 with a WWW-Authenticate challenge pointing at /.well-known/oauth-protected-resource/mcp, which is how MCP clients know to start the OAuth flow (dynamic client registration is supported). The same Authorization header accepts an API key (bt_ak_…) or a license key, with or without the Bearer prefix.

Pricing

Signing in includes 30 free credits. After that, one-time packs: $4.99 / 200 credits, $14.99 / 1,200, $29 / 5,000. No subscription; credits never expire. Details at https://bulktranscripts.co/#pricing.

Repo layout

FileUsed by
.mcp.jsonClaude Code plugin config (hosted endpoint, OAuth)
.claude-plugin/plugin.json, .claude-plugin/marketplace.jsonClaude Code plugin marketplace
plugin.json, mcp.jsonCursor / agent-plugins.org
.codex-plugin/plugin.json, .agents/plugins/marketplace.json, assets/icon.pngCodex plugin
skills/youtube-transcripts/Agent skill for the MCP tools (the REST API version is at pratie/youtube-transcript-skill)
gemini-extension.jsonGemini CLI extension (hosted endpoint, OAuth)
server.jsonOfficial MCP registry manifest

Links

License

MIT — see LICENSE. This repo holds the manifests, plugin and skill for the hosted server; the extraction service itself is operated at bulktranscripts.co.

↑↓ navigate openesc close