YouTube Reader

io.github.Anmol1310Published by GitHub account Anmol1310v1.0.0Updated Nov 1, 2026

Turn any YouTube video into text: transcript, title, channel, timestamps.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingMedia & Design

Overview

AI-generated overview

Remote MCP server that turns a YouTube link into text: title, channel, and the full timestamped transcript.

What you can do
  • Read a YouTube video as text from a link or bare video ID
  • Return title, channel, channel URL, thumbnail, language, duration and segment count
  • Return the full spoken transcript plus timestamped segments
  • Accept watch, youtu.be, shorts, embed and live link formats
When to use it
Useful when an assistant needs the spoken content of a YouTube video it cannot watch, for summarizing, quoting or searching a talk, tutorial or interview.
Requirements
Remote streamable HTTP endpoint; no API key or account is declared. Transcript fetching relies on youtube-transcript-api and Invidious fallbacks, so it needs network access to those services.
Before you install
The README states the MCP tool is billed at $0.02 per call in USDC on Base via x402, so calls can spend cryptocurrency from a wallet; the plain HTTP endpoint is described as free while in beta. Transcript fetches can fail intermittently from datacenter IPs due to YouTube rate limits. Video links are sent to a third-party hosted service.

Installation

In SourceWeft

  1. Open YouTube Reader in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Anmol1310%2Fyoutube-reader/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "youtube-reader": {
      "type": "http",
      "url": "https://web-production-0cbb7.up.railway.app/mcp"
    }
  }
}

README

YouTube 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:

json
POST /read{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }

You get:

json
{  "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 /read with {"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)

  1. youtube-transcript-api — direct, free
  2. 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)

  1. Push this folder to GitHub
  2. https://railway.app → New Project → Deploy from repo
  3. It reads requirements.txt + Procfile automatically. Done.
  4. 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_reader tool): $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.

Source: README.md at commit 4837c5b

Tools

1

youtube_reader

Youtube Reader

Read a YouTube video as text. Give a YouTube link and get back the title, channel, and the full spoken transcript with timestamps. For AI agents that cannot watch video.

Parametersurlrequired

Version history

1
  1. v1.0.0LatestOct 18, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.