Server data from the Official MCP Registry
Fetch YouTube transcripts + metadata by video, search, channel, or playlist as clean JSON.
Fetch YouTube transcripts + metadata by video, search, channel, or playlist as clean JSON.
Remote endpoints: streamable-http: https://transcriptfetch.com/mcp
Valid MCP server (1 strong, 0 medium validity signals). 1 known CVE in dependencies Imported from the Official MCP Registry.
Endpoint verified · Requires authentication · 2 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"com-transcriptfetch-youtube-transcripts": {
"url": "https://transcriptfetch.com/mcp"
}
}
}From the project's GitHub README.
Official, typed Python client for the TranscriptFetch API: fetch YouTube transcripts, channels, playlists, and search results as clean, structured data. Sync + async, fully type-hinted.
pip install transcriptfetch-sdk
from transcriptfetch import TranscriptFetch
# api_key falls back to the TRANSCRIPTFETCH_API_KEY env var
tf = TranscriptFetch(api_key="tf_live_...")
t = tf.transcripts.video("https://youtu.be/aircAruvnKk")
print(t.title)
print(t.text)
for seg in t.segments:
print(f"[{seg.start:.1f}] {seg.text}")
print("credits left:", t.usage.balance)
Get an API key (100 free credits) at https://transcriptfetch.com/app. One credit per successful fetch; failed/blocked/no-transcript requests are free.
tf.transcripts.video(video) # single transcript (text + segments)
tf.transcripts.channel(channel, limit=, cursor=) # a channel's videos (metadata)
tf.transcripts.playlist(playlist, limit=, cursor=) # a playlist's videos
tf.transcripts.search(query, limit=, cursor=) # search YouTube
tf.transcripts.batch(video_ids) # up to 50 transcripts in one call
tf.health() # unauthenticated liveness probe
video/channel/playlist accept URLs or raw IDs (normalized automatically).
List endpoints are cursor-paginated. Iterate every result without managing cursors:
for video in tf.transcripts.iter_channel("@lexfridman", limit=10):
print(video.video_id, video.title)
Or page manually via page.next_cursor and the cursor= argument.
import asyncio
from transcriptfetch import AsyncTranscriptFetch
async def main():
async with AsyncTranscriptFetch() as tf:
t = await tf.transcripts.video("aircAruvnKk")
print(t.text)
async for v in tf.transcripts.iter_search("how transformers work", limit=10):
print(v.title)
asyncio.run(main())
All errors subclass TranscriptFetchError. API errors carry .status, .code, .message, and .request_id:
from transcriptfetch import (
AuthenticationError, InsufficientCreditsError, InvalidRequestError,
RateLimitError, IdempotencyConflictError, UpstreamUnavailableError,
InternalServerError, APIError, APIConnectionError, APITimeoutError,
)
try:
tf.transcripts.video("bad")
except InsufficientCreditsError:
... # 402: top up at /pricing
except RateLimitError as e:
print(e.retry_after) # 429
except APIError as e:
print(e.status, e.code, e.request_id)
429 (honoring Retry-After) and 5xx, with exponential backoff + jitter (max_retries=2 by default).Idempotency-Key so a retried request is never double-charged. Override per call with idempotency_key=....TranscriptFetch(api_key=..., base_url=..., timeout=30, max_retries=2). Both clients are context managers and accept a custom http_client= (httpx).pip install -e ".[dev]"
ruff check . && mypy src && pytest
Tests are fully mocked (no network). MIT licensed.
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption