Social Media Video Transcripts
OfficialThis MCP server exposes five tools to fetch video transcripts and inspect YouTube videos, playlists, and API credits.
Fetch transcripts for YouTube, TikTok, Instagram, or direct media URLs, with optional AI audio transcription when captions are unavailable.
Search YouTube videos by query with a configurable result limit (1–50).
List recent videos for a YouTube channel using a handle, channel ID, or URL.
List videos in a YouTube playlist using a playlist ID or URL.
Check remaining TranscriptFetch credits for the current API key.
Schema limitations vs README: it does not include
search_channelsorlist_channel_playlists, and the search/list tools shown are YouTube-only.
Allows fetching YouTube transcripts, searching videos, and listing channel and playlist videos.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Social Media Video Transcripts Get transcript for video dQw4w9WgXcQ"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TranscriptFetch MCP Server
A Model Context Protocol server that gives any MCP client (Claude Desktop, Cursor, and others) access to the TranscriptFetch API: a production transcript API for YouTube, TikTok and Instagram, with AI transcription when captions are missing. Fetch transcripts, search videos, list channels and playlists, and check your credit balance.
Get an API key
Create a free account at transcriptfetch.com. No card needed.
Open Dashboard, then API keys and create a key. It starts with
tf_live_.Put it in
TRANSCRIPTFETCH_API_KEYin the client configuration below.
Every account gets 50 free credits a month. Failures are free: a fetch that returns no transcript is never charged.
Runs locally over stdio and calls the TranscriptFetch API with your key. Prefer a hosted, remote server? Point your client at https://transcriptfetch.com/mcp instead (OAuth or API key). The hosted server waits inline for short-form AI transcription, so no polling is needed there.
Related MCP server: YouTube Transcript MCP Server
Tools
Tool | What it does |
| Transcript for a video: YouTube, TikTok, Instagram, or a direct media URL. When a video has no captions but has speech, the audio is transcribed automatically; |
| Search YouTube (default), TikTok or Instagram. On YouTube, filter by |
| Find YouTube channels (default) or playlists by keyword |
| A YouTube channel's videos, Shorts or live streams ( |
| A YouTube channel's playlists, or its podcasts |
| A YouTube or TikTok playlist's videos |
| Remaining credit balance for the key. Never billed |
These are the same seven tools, with the same inputs, as the hosted server at https://transcriptfetch.com/mcp: npm run sync-tools regenerates them from its public card.
Pricing is per successful result: a caption fetch or a video list costs 1 credit, and AI transcription of the audio costs 1 credit per started 5 minutes of audio, charged only on delivery. Failed, blocked and empty results are never charged, which matters on short-form video where many clips have no speech at all.
Install
No install needed. Run it on demand with npx:
TRANSCRIPTFETCH_API_KEY=tf_live_... npx -y transcriptfetch-mcpOr install globally:
npm install -g transcriptfetch-mcpRequires Node 18+.
Run from source
git clone https://github.com/TranscriptFetch/mcp-server
cd mcp-server && npm install && npm run buildThen point your client at the built entrypoint with "command": "node" and
"args": ["/absolute/path/to/mcp-server/dist/index.js"].
Client configuration
Claude Desktop
Add this to claude_desktop_config.json (Settings then Developer then Edit Config):
{
"mcpServers": {
"transcriptfetch": {
"command": "npx",
"args": ["-y", "transcriptfetch-mcp"],
"env": { "TRANSCRIPTFETCH_API_KEY": "tf_live_..." }
}
}
}Cursor
Add the same block under mcpServers in your Cursor MCP settings.
Restart the client, and the five tools appear.
Example
Once connected, ask your assistant naturally:
Get the transcript for https://youtu.be/aircAruvnKk and summarize the key points.
Search YouTube for "how transformers work" and list the top 5 videos.
List the latest videos from @lexfridman and pull the transcript of the newest one.
How many TranscriptFetch credits do I have left?
The assistant picks the matching tool and works from the returned transcript or video list.
Configuration
Env var | Required | Default |
| yes | none |
| no |
|
Docker
The server speaks MCP over stdio, so there is no port to expose. -i is
required: without an attached stdin the transport closes immediately and the
container looks like it crashed.
docker build -t transcriptfetch-mcp .
docker run --rm -i -e TRANSCRIPTFETCH_API_KEY=tf_live_... transcriptfetch-mcpLinks
Node SDK: https://github.com/TranscriptFetch/transcript-api-node
Python SDK: https://github.com/TranscriptFetch/transcript-api-python
License
MIT
Available Tools
5 toolsget_creditsAInspect
Check the remaining TranscriptFetch credit balance for the current API key. Free: this call is never billed.
Inputs: no named parameters.
get_transcriptAInspect
Fetch the full transcript for a video. Accepts a YouTube video ID or URL, plus TikTok and Instagram video URLs and direct media file URLs. If no transcript comes back, the result says whether captions definitively do not exist (aiFallback.captionsUnavailable) and whether transcribing the audio would still work (aiFallback.available). When it does, call this tool again with ai_fallback: true.
Inputs: video (required), ai_fallback.
list_channel_videosAInspect
List recent videos for a YouTube channel. Accepts a channel handle (@name), channel ID (UC...), or URL.
Inputs: channel (required), limit.
list_playlist_videosAInspect
List the videos in a YouTube playlist. Accepts a playlist ID or URL.
Inputs: playlist (required), limit.
search_videosAInspect
Search YouTube for videos matching a query. Returns titles, IDs, and URLs.
Inputs: query (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a distinct resource: credit balance, channel video listing, playlist video listing, search results, and transcript fetching. The three discovery tools (search_videos, list_channel_videos, list_playlist_videos) are cleanly separated by their input source, so an agent can easily pick the right one.
All five tools follow a consistent verb_noun snake_case pattern (get_credits, list_channel_videos, list_playlist_videos, search_videos, get_transcript). No deviations or mixed conventions.
Five tools is well-scoped for a transcript-fetching service, covering discovery, retrieval, and account status without redundancy. Every tool earns its place.
Core workflow (discover videos via search/channel/playlist, then fetch transcript) is fully covered, plus a credits check and a documented AI-fallback path. Minor gap: no dedicated video-details/metadata tool, though get_transcript partially compensates by accepting IDs/URLs.
Maintenance
Related MCP Connectors
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
Fetch the transcript of any YouTube video (plain text or timestamped segments, in any available caption language), search YouTube for videos and channels, list a channel's uploads, Shorts, playlists and community posts, search inside one channel, and list every video in a playlist. Hosted Streamable HTTP server from getyoutubetranscript.com; sign in with OAuth or an API key. Credit-based: one credit per successful call.
Fetch YouTube transcripts with timestamps, search history, and export data for AI models.
YouTube transcript API: batch video captions, timestamps, metadata and SRT/VTT subtitles.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video captions and subtitles through a simple interface.11,237 npm603MIT
- FlicenseBqualityNot gradedmaintenanceEnables extraction and processing of YouTube video transcripts from individual videos, channels, and playlists. Supports transcript search, batch processing, multiple output formats (JSON, text, SRT, VTT), and bulk operations across multiple videos.1134 npm-
- AlicenseAqualityBmaintenanceAn MCP server (stdio + HTTP/SSE) that fetches video transcripts/subtitles via yt-dlp, with pagination for large responses. Supports YouTube, Twitter/X, Instagram, TikTok, Twitch, Vimeo, Facebook, Bilibili, VK, Dailymotion. Whisper fallback — transcribes audio when subtitles are unavailable (local or OpenAI API). Works with Cursor and other MCP host824MIT
- AlicenseAqualityDmaintenanceEnables fetching, searching, and summarizing YouTube video transcripts with multi-language support.4MIT