Paste one URL and your API key into Claude, Cursor or VS Code. Your assistant can then pull the transcript for any video, and search across every channel you have VidProxy watching. Nothing to install, and it runs on the free plan.
VidProxy speaks the Model Context Protocol at https://vidproxy.pro/mcp over Streamable HTTP, protocol version 2025-03-26. Point any MCP client at it and eight tools show up in the assistant's tool list.
Five of them read: fetch a transcript, list what your channels posted recently, search your history by keyword, list your channels, check your plan usage. Three write: add a channel, pause one, delete one. The write tools respect the same plan limits as the dashboard, because they run the same code behind it.
The server runs on our side, so setup is a URL and a key rather than a package and a runtime.
It is in Dashboard → Settings. MCP uses the same key as the REST API, so if you already have one working there, you are done with this step. New accounts need to hit Rotate once — keys are hashed at rest, so we cannot show you the original.
Drop the block below into your MCP client config. Claude Desktop reads ~/.config/claude/claude_desktop_config.json; Cursor keeps it under Settings → MCP. Restart the client and the VidProxy tools appear.
Try "what did my channels post in the last 24 hours?" — that is get_recent_videos, and it costs nothing. Transcripts come back as full text, so the assistant can summarise or quote from them directly.
{
"mcpServers": {
"vidproxy": {
"url": "https://vidproxy.pro/mcp",
"headers": {
"Authorization": "Bearer tr_live_xxxxxxxxxxxx"
}
}
}
}
Only get_transcript spends anything. Everything that reads your own monitored history is free on every plan, so an assistant can look around your account as much as it likes without touching your credits.
| Tool | What it does | Cost |
|---|---|---|
get_transcript |
Full transcript for any YouTube video, by ID or URL. The video does not have to be one you monitor | 1 credit per successful fetch |
get_recent_videos |
Everything your monitored channels published inside a time window (since: "24h", "7d"), transcripts attached |
Free |
search_videos |
Keyword search across your subscription history. Matches titles and the transcript text itself | Free |
list_channels |
Your monitored channels with their latest video. Each row carries the subscription_id the write tools take |
Free |
get_account_status |
Plan, channels and webhooks used against their limits, credits left and when they reset, rate limit, poll interval | Free |
add_channel |
Start monitoring a channel by @handle, URL or UC… ID. Ask for one you already monitor and you get the existing subscription back, not a duplicate. Counts against your plan's channel limit |
Free |
set_channel_active |
Pause or resume a channel. Paused channels are skipped by the poller but keep every stored video and transcript. A paused channel still holds its slot against the channel limit | Free |
remove_channel |
Permanently deletes a channel and every video, transcript and delivery record under it. Off unless you enable destructive tools for the key — see below | Free |
remove_channel is off by default. Until the account owner enables destructive tools for a key in Dashboard → Settings, the tool is stripped out of the tool list, so your assistant is never told it exists. With the flag on it still needs an explicit confirm. Rotating a key switches the flag back off, which is the right way round — you rotate because the old key might be compromised.
The reason for a dashboard toggle rather than just a confirmation prompt: transcripts are written by the channel owner, not by you. A video whose captions carry instructions aimed at your assistant is a real thing, and the confirm flag is something the model decides to set. A toggle in your account is the part of that gate no text your assistant reads can flip. Deletion cascades and we keep no per-account backup, so it is worth the extra click.
Search npm or GitHub for a YouTube transcript MCP server and you will find several good ones — kimtaeyoon83/mcp-server-youtube-transcript, jkawamoto/mcp-youtube-transcript, and projects from hancengiz and ergut among them. They install in a minute, they cost nothing, and for grabbing the transcript of a video someone just sent you, they do the job. If that is your whole use case, use one of those. We would rather say so than pretend otherwise.
What they have in common is where they stop.
A local server asks YouTube for captions from wherever it happens to be running, and YouTube blocks addresses it does not like — data-centre ranges especially. Nothing in the package can do anything about that. VidProxy fetches through a residential proxy, with two more tiers behind it if that one fails. Getting past those blocks is what the service was built for.
Every one of them takes a video and returns its transcript. None of them watch a channel, so none can answer "what did these twelve channels publish this week" or "which of my channels mentioned pricing changes". VidProxy keeps that history for you, and search_videos runs over the transcript text, not just titles.
A local server means Node or Python on that box, a config entry on that box, and doing it again on your laptop, your desktop and anywhere else. It also rules out Claude on your phone and Claude on the web, which cannot run a local process at all. VidProxy is one URL and one key, the same everywhere.
| Capability | Open-source transcript MCP servers | VidProxy MCP |
|---|---|---|
| Getting a transcript | ||
| Transcript by video ID or URL | ✓ Core feature | ✓ get_transcript |
| Survives a YouTube IP block | ✗ Your address, your problem | ✓ Residential proxy, plus two fallback tiers |
| Price per transcript | ✓ Free, unmetered | 1 credit 10/mo free, 2,500 on Pro |
| Working across channels | ||
| Monitors channels for new uploads | ✗ | ✓ Polled, with stored history |
| "What did my channels post this week?" | ✗ | ✓ get_recent_videos, free |
| Full-text search over past transcripts | ✗ | ✓ search_videos, free |
| Assistant can add or pause channels | ✗ | ✓ Same plan limits as the dashboard |
| Running it | ||
| Install per machine | ✗ Node or Python on every box | ✓ Nothing to install |
| Works on Claude mobile and web | ✗ Local process only | ✓ Remote server over HTTP |
| You control the code | ✓ Fork it, patch it, audit it | ✗ Hosted service |
| Destructive actions gated outside the model | n/a Nothing to destroy | ✓ Per-key toggle you set in the dashboard |
Each of these maps to one or two tool calls. The assistant works out which.
"Summarise everything my channels posted in the last 24 hours, grouped by topic." One get_recent_videos call, transcripts included, no credits spent.
"Search my channels for anything mentioning interest rates this month and give me the exact wording." search_videos reads the transcript body, so it finds things no title contains.
"Pull the transcript for this link and tell me if it says anything about the pricing change." get_transcript takes the bare URL and spends one credit.
"Which channels haven't posted in 60 days? Pause those." list_channels then set_channel_active. Paused channels keep their stored transcripts.
"How many transcript credits do I have left, and when do they reset?" get_account_status answers without spending one, which is the point of it being free.
"Start monitoring @Bloomberg, tag it finance." add_channel takes a handle, a URL or a UC… ID, and hands back the existing subscription if you already had it.
https://vidproxy.pro/mcp, not a local process, so any client that accepts a remote MCP URL reaches it — Claude Desktop, Claude mobile and web, Cursor, VS Code. Same URL, same key, no per-machine setup.
add_channel treats @Bloomberg, youtube.com/@Bloomberg and the bare UC… ID as the same channel, and a unique constraint in the database catches anything the matching misses. Two subscriptions to one channel would mean every new video delivered twice, so this one is worth being strict about.
get_recent_videos anyway, so there is little reason to hand that surface to a tool call.
Free tier includes the full MCP server, 1 monitored channel and 10 transcript credits a month.
No credit card · Free tier forever