About YouTube Reader
YouTube Reader is a server for AI agents that need video content as text. It returns video metadata and a timestamped transcript through HTTP or a single MCP tool; transcript retrieval may be rate-limited by YouTube.
Key features
- 01Return title and channel metadata
- 02Fetch timestamped transcripts
- 03Accept common YouTube URL forms
- 04Offer HTTP and MCP interfaces
Use cases
- 01Review spoken content without watching video
- 02Locate a passage using transcript timestamps
MCP support
Runs as an MCP server with one tool, `youtube_reader(url)`, which returns the same report as the HTTP API. Transcript calls are priced per call through x402, according to the README.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://web-production-0cbb7.up.railway.app/mcpclaude mcp add --transport http anmol1310-youtube-reader https://web-production-0cbb7.up.railway.app/mcp{"mcpServers":{"anmol1310-youtube-reader":{"type":"http","url":"https://web-production-0cbb7.up.railway.app/mcp"}}}Open in Cursor{"servers":{"anmol1310-youtube-reader":{"type":"http","url":"https://web-production-0cbb7.up.railway.app/mcp"}}}Open in VS Code{"mcpServers":{"anmol1310-youtube-reader":{"type":"http","url":"https://web-production-0cbb7.up.railway.app/mcp"}}}{"mcpServers":{"anmol1310-youtube-reader":{"serverUrl":"https://web-production-0cbb7.up.railway.app/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEYouTube Reader
Turn any YouTube video into text. For AI agents that can't watch video.
Give it a video link. Get back the title, channel, and the full spoken transcript with timestamps. One call, clean JSON. No API key needed.
Quick example
You send:
POST /read
{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }
You get:
{
"video_id": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"channel": "Rick Astley",
"channel_url": "https://www.youtube.com/@RickAstleyYT",
"thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
"transcript_available": true,
"language": "English",
"segment_count": 61,
"duration_seconds": 213,
"full_text": "We're no strangers to love...",
"segments": [
{ "start": 18.5, "text": "We're no strangers to love" },
{ "start": 22.1, "text": "You know the rules and so do I" }
]
}
Run it
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python server.py # http://127.0.0.1:8081
POST /readwith{"url": "<youtube link>"}→ full report (JSON)GET /health→{"ok": true}
Accepts watch?v=, youtu.be/, /shorts/, /embed/, /live/ links and bare video IDs.
Use as an MCP server (Claude Desktop, Cursor, Windsurf...)
.venv/bin/pip install fastmcp
.venv/bin/python mcp_server.py
One tool: youtube_reader(url) — same report as the HTTP API.
How transcripts are fetched (in order)
youtube-transcript-api— direct, free- Invidious instances — fallback, free
Known limitation: YouTube rate-limits automated requests from datacenter IPs, so transcript fetches can intermittently fail from cloud servers. Metadata (title/channel via official oEmbed) is unaffected. Professional fix: add a residential proxy (~$3 per 1,000 transcripts) as step 3.
Deploy (Railway, free tier)
- Push this folder to GitHub
- https://railway.app → New Project → Deploy from repo
- It reads
requirements.txt+Procfileautomatically. Done. - Your API is live at the Railway URL:
POST https://<your-app>.up.railway.app/read
Pricing
- Metadata (title/channel): free
- Transcript via MCP (
youtube_readertool): $0.02 per call, paid in USDC on Base via x402 — no signup, no API key. See PAYMENTS.md. - Plain HTTP API (
POST /read): free while in beta - Heavy users: $19/month tier planned (Stripe, phase 2)
Monetization (MCPize)
Per-call pricing is configured in mcpize.yaml and the MCPize dashboard (Payments tab). Full setup guide, wallet instructions, testnet flow, and caveats: PAYMENTS.md.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.