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 hostedMCP server. No local process, no yt-dlpto keep fresh, no IP blocks to fight: extraction, proxy rotation and PO-tokenhandling all happen server-side.
- Endpoint:
https://bulktranscripts.co/mcp(Streamable HTTP) - Auth: OAuth (sign in with Google, 30 free credits, no card) or an API key as a Bearer token
- Registry:
co.bulktranscripts/youtube· - Setup docs: https://bulktranscripts.co/docs#mcp · REST API: https://bulktranscripts.co/docs
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 Codeplugin (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 → URLhttps://bulktranscripts.co/mcp, authentication OAuth.
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 cannotdo OAuth send an API key instead — create one free athttps://bulktranscripts.co/app?tab=mcp (Google sign-in, 30 free credits) or usethe 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
| Tool | What it does | Cost |
|---|---|---|
get_transcript |
Full 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_transcripts |
Up to 20 videos in one call; videos without captions are reported per item and never fail the batch. | 1 credit per new transcript |
search_youtube |
Search YouTube for videos, channels or playlists by keyword. | 1 credit |
search_channel |
Search inside one channel's uploads for a topic. | 1 credit |
get_channel_videos |
List up to 1,000 of a channel's videos (id, title, duration, URL). | 1 credit |
get_playlist_videos |
List up to 1,000 videos of a public or unlisted playlist, in order. | 1 credit |
get_latest_videos |
A channel's newest uploads with publish dates, from RSS. | Always free |
Every tool is read-only: nothing on YouTube or in your account is modified ordeleted. Transcripts land in your library once and are free to re-read forever, inany 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 acredit only on what is actually new.
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 challengepointing at /.well-known/oauth-protected-resource/mcp, which is how MCP clientsknow to start the OAuth flow (dynamic client registration is supported). The sameAuthorization header accepts an API key (bt_ak_…) or a license key, with orwithout the Bearer prefix.
Pricing
Signing in includes 30 free credits. After that, one-time packs: $4.99 / 200credits, $14.99 / 1,200, $29 / 5,000. No subscription; credits never expire.Details at https://bulktranscripts.co/#pricing.
Repo layout
| File | Used by |
|---|---|
.mcp.json |
Claude Code plugin config (hosted endpoint, OAuth) |
.claude-plugin/plugin.json, .claude-plugin/marketplace.json |
Claude Code plugin marketplace |
plugin.json, mcp.json |
Cursor / agent-plugins.org |
skills/youtube-transcripts/ |
Agent skill for the REST API (also at pratie/youtube-transcript-skill) |
server.json |
Official MCP registry manifest |
Links
- Product: https://bulktranscripts.co
- MCP page: https://bulktranscripts.co/youtube-mcp-server
- API docs: https://bulktranscripts.co/docs · OpenAPI: https://bulktranscripts.co/openapi.json
- Privacy: https://bulktranscripts.co/privacy · Terms: https://bulktranscripts.co/terms
- Contact: [email protected]
License
MIT — see LICENSE. This repo holds the manifests, plugin and skill for thehosted server; the extraction service itself is operated at bulktranscripts.co.