rippr
Extract transcripts from YouTube videos (supports all standard URL formats like youtube.com/watch?v=... or youtu.be/...) with the following capabilities:
Choose output format:
textfor a single continuous string (optimized for RAG/LLM use) orsegmentsfor timestamped segmentsRetrieve metadata: video title, channel name, and language alongside the transcript
Integrate with AI agents like Claude Desktop or Cursor via the MCP standard
Runs locally — no data sent to external servers
Extracts video transcripts from YouTube using multiple strategies including the Innertube API, HTML scraping, and the transcript panel. Supports converting transcripts into multiple output formats including RAG-optimized text, structured JSON with timestamps, and readable Markdown.
Three ways to use rippr
🌐 Website — rippr.me
Paste a YouTube URL, get the transcript. Clean text, no signup.
🧩 Chrome Extension — Chrome Web Store
One-click transcript extraction directly on any YouTube page. Multiple output formats (RAG, JSON, Markdown).
🤖 MCP Server — npm
Connect rippr to Claude, Cursor, or any MCP-compatible client. Saves each transcript to ~/rippr/transcripts/ and returns the file path to the model.
Desktop clients only. rippr runs as a local stdio process, so it works with Claude Desktop, Claude Code CLI, and Cursor. It does not work with cloud-hosted clients (claude.ai on the web, the Claude mobile app, or Claude Code on phone / web), which can't spawn local processes.
npx rippr-mcpAdd to Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"rippr": {
"command": "npx",
"args": ["-y", "rippr-mcp"]
}
}
}Then ask: "Rip this YouTube video: [url]". See mcp/README.md for the full tool surface.
Related MCP server: YouTube Transcript MCP
Output formats
RAG (.txt) — single continuous text block, optimized for chunking and embedding
Structured (.json) — timestamped segments with metadata
Readable (.md) — markdown with headers and formatting
How it works
Multi-strategy extraction for maximum reliability:
Innertube API — YouTube's internal player API (Android client)
HTML scraping — parses
ytInitialPlayerResponsefrom page sourceTranscript panel — opens YouTube's built-in transcript panel as last resort
Caption XML parsed in multiple formats (srv3, timedtext, JSON3). Retry with exponential backoff on transient failures.
Privacy
Runs entirely on your machine. No data sent to external servers. No accounts, no tracking. Only communicates with YouTube's own APIs.
More MCPs
MCP | What it does |
Japanese UX rules for AI: forms, keigo, typography, trust signals | |
Search Rakuten's marketplace, books, and hotels | |
Xendit payment APIs: invoices, disbursements, balances |
Disclaimer
Rippr is an unofficial, community-built tool. It is not affiliated with, endorsed by, or sponsored by YouTube or Google LLC. YouTube is a trademark of Google LLC.
Rippr accesses publicly available YouTube transcript data through endpoints that YouTube's own apps use. Use is subject to YouTube's Terms of Service, and use is at your own risk. The author accepts no liability for takedowns, rate limits, account actions, or any other consequences of use.
If YouTube changes their internal APIs in ways that break extraction, the tool may stop working without notice. For long-term production use, consider the official YouTube Data API v3 with an API key (not currently supported by this package).
License
Available Tools
1 toolrip_transcriptA
Extract the full transcript from a YouTube video. By default, saves the transcript as a Markdown file to disk and returns a resource_link + metadata (title, channel, language, duration, word count, saved path, preview). The full transcript text is NOT returned by default — this keeps context lean and gives the user a persistent file they can reuse. After calling, always tell the user where the file was saved. If you need the transcript text later (summarize, search, extract quotes), read the returned resource rather than re-ripping. Pass return_text: true only for short clips or when the user explicitly asks for the transcript inline. Pass format: 'segments' to save timestamped JSON instead of Markdown.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube video URL. Supports any YouTube URL format (watch, youtu.be, embed, shorts, or bare 11-char ID). | |
| format | No | Saved file format. 'text' writes a Markdown file with YAML frontmatter and a continuous transcript block (best for RAG/LLM). 'segments' writes a JSON file with timestamped segments (best for chapter markers, precise citations). Default: text. | |
| save_path | No | Optional override for where to save the transcript. Can be an absolute path, a ~/-relative path, a directory (file is named automatically), or a full file path. When you save outside the default directory, the returned resource_link still points to the saved file so it can be read later. Default: ~/rippr/transcripts/<slug>_<videoId>.<ext> | |
| return_text | No | If true, include the full transcript text in the tool response alongside the resource_link. Default: false. Use true only for short clips or when the user explicitly wants the transcript inline. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description fully discloses default behavior (saves file, does not return text), rationale (keep context lean, persistent file), and side effects (saves to disk). Could explicitly mention idempotency or rate limits, but overall strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Seven sentences, all contributing meaningful information. Front-loaded with purpose and key behavioral notes. No redundant or unnecessary content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all critical aspects: default behavior, parameter usage, post-call action (tell user where saved). No output schema, but description is sufficient for agent to correctly invoke and follow up. Minor missing detail on resource_link format, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds significant value: explains default behavior for format and return_text, supported URL formats, and save_path resolution details. Provides usage recommendations that go beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Extract the full transcript from a YouTube video' with a specific verb and resource, clearly defining the tool's function. No sibling tools exist, so differentiation is not an issue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: default saves file and returns metadata, advises against re-ripping by reading resource, specifies when to use return_text (short clips or explicit request) and format alternatives. Covers context and exclusions thoroughly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of confusion. The single tool 'rip_transcript' has a clear and distinct purpose.
The single tool name 'rip_transcript' follows a consistent verb_noun pattern. No naming conflicts exist.
The server has only one tool, which is minimal but acceptable given its focused purpose of ripping YouTube transcripts. While slightly under-scoped, it provides a complete interface for its intended function.
The tool covers the core task of transcript extraction with options for format and inline text. However, it lacks complementary tools such as listing videos or batch processing, leaving minor gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents. No signup.
Fetch the full transcript of any YouTube video as clean text. No API key, no signup.
Clean YouTube transcripts for agents: single videos, channels, playlists, plus AI caption cleanup.
Any video URL to LLM-ready transcript. ASR built in, no captions needed. TikTok, X, TED and more.
Related MCP Servers
- AlicenseAqualityFmaintenanceRetrieves transcripts from YouTube videos with support for multiple languages, timestamp control, and language detection. Enables video content analysis, summarization, and quote extraction without manually downloading or watching videos.212315MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI models to extract transcripts from YouTube videos in multiple languages with zero local setup. It supports all YouTube URL formats and features smart caching via Cloudflare Workers for fast responses.641MIT
- AlicenseAqualityBmaintenanceMCP server for Xendit payment APIs. Invoices, disbursements, balance checks, and bank transfers across Southeast Asia.6594MIT
- AlicenseAqualityAmaintenanceMCP server for Rakuten APIs. Search products, books, hotels, and rankings across Japan's largest e-commerce platform.28905MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mrslbt/rippr'
If you have feedback or need assistance with the MCP directory API, please join our Discord server