MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
作者提供的说明(英文原文)
Public social media data: profiles, posts, comments, transcripts and ad libraries, 30+ platforms.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
CAPTAPI_API_KEY, CAPTAPI_BASE_URL, Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"captapi": {
"command": "npx",
"args": [
"-y",
"@captapi/mcp"
],
"env": {
"CAPTAPI_API_KEY": "your-value",
"CAPTAPI_BASE_URL": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http captapi https://api.captapi.com/mcp --header 'Authorization: Bearer {api_key}'claude mcp add captapi --env CAPTAPI_API_KEY=your-value --env CAPTAPI_BASE_URL=your-value -- npx -y @captapi/mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"captapi": {
"url": "https://api.captapi.com/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"captapi": {
"command": "npx",
"args": [
"-y",
"@captapi/mcp"
],
"env": {
"CAPTAPI_API_KEY": "your-value",
"CAPTAPI_BASE_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"captapi": {
"type": "http",
"url": "https://api.captapi.com/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"captapi": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@captapi/mcp"
],
"env": {
"CAPTAPI_API_KEY": "your-value",
"CAPTAPI_BASE_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
CAPTAPI_BASE_URL envAuthorization 机密 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
youtube_transcriptYouTube's published captions with timestamps — not speech-to-text. Flat 1 credit; 404 is free. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_audio_transcriptSpeech-to-text for YouTube audio. Use it when a video has no captions — or when you want a transcript of what was actually spoken rather than YouTube's published captions. Priced per started minute of audio. Costs 2 credits/min of audio. Empty results and failures are never charg
youtube_summarizeAI summary from YouTube's published captions — same source as /transcript. Flat 3 credits; caption-miss 404 is free. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_video_detailsYouTube video metadata + stats. Always includes degraded / degradedReason — retry when degraded is true. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_commentsGet comments on any YouTube video — text, author, likes, and truncated publishedTimeApprox from the relative label, with cursor pagination (nextCursor + hasMore). Flat 2 credits per call; 0 when the video has comments turned off (commentsDisabled: true). Costs 2 credits. Empty re
youtube_channel_detailsYouTube channel stats — ISO country, createdAt date-only, real banner or null, quote-aware SEO tags, absolute links. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_searchYouTube search with cursor pagination — typed hits, ids, canonical URLs, filters (2 credits/page, 0 when a page finds nothing). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_channel_videosChannel uploads with cursor pagination — exact publishedAt from reel_item_watch (same as channel-shorts). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_playlist_videosPaginated playlist contents — cursor/nextCursor/hasMore, same row shape as channel-videos. Flat 2 credits/page. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_playlistPlaylist metadata only — title, channel{}, totalVideos, thumbnailUrl. No videos[]. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_shorts_transcriptTranscript for a YouTube Short — rejects long-form videos (≤3 min only). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_shorts_summarizeAI summary of a YouTube Short — rejects long-form videos (≤3 min only). Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_shorts_detailsYouTube Short metadata — same schema as Video Details, with isShort:true; long-form videos get HTTP 422. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_shorts_commentsComments on a YouTube Short — rejects long-form videos (≤3 min only). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_channel_shortsChannel Shorts with cursor pagination — same row shape as channel-videos (exact publishedAt). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_trending_shortsYouTube Shorts recommendation sequence — fixed window per call (no cursor), not a global chart. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_channel_streamsChannel Live tab only — liveStatus per row; 0 credits when hasLiveTab is false. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_hashtag_searchDefault ~10 credits (limit 10; 1/result). Videos from youtube.com/hashtag/{name} — nested channel{}, viewCountIsApproximate. Not keyword search. Costs ~10 credits (1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fr
youtube_comment_repliesReplies under a top-level comment — parentReplyCount + cursor. Nested reply ids return 404. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_channel_playlistsChannel playlists with cursor pagination — id, title, totalVideos, thumbnailUrl. Flat 2 credits/page. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_community_postsCommunity posts — channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_community_post_detailsOne community post — list schema + commentCount trio + isEdited. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
youtube_video_sponsorsSponsorBlock community segments — free while the CC BY-NC-SA commercial-use exception is pending. Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_transcriptTranscript Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_summarizeSummarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_video_detailsGet everything about one TikTok video from its URL — caption, view/like/comment/share/save counts, creator, sound, hashtags, and thumbnail. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_commentsTikTok comments — clean schema plus authorName, stable authorId/authorSecUid and commentLanguage for listening loops. Unresolvable videos are 404 at 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always
tiktok_channel_detailsResolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_profile_regionFind out where a TikTok creator is likely based and what language they use — country, language, stable ids, and core profile stats. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_audience_demographicsAudience country + language mix for a TikTok creator — engagement sample, not a follower census. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_search_suggestionsGet the autocomplete terms TikTok suggests in its search bar for a keyword — the real phrases people search, ranked, so you can find trending queries and long-tail keyword ideas. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache h
tiktok_channel_postsLatest videos from a TikTok profile, cursor-paginated, with isPinned and caption mention text. Flat 2 credits; failures are 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_comment_repliesReplies under a TikTok comment — same authorId/authorSecUid/commentLanguage shape as comments. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_user_followersList a TikTok user's followers — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_user_followingsList who a TikTok user follows — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_music_postsList TikTok videos that use a specific sound — caption, author, exact engagement, canonical hashtags, and mentions, with cursor pagination. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_top_searchTikTok Top/General search — videos and photo carousels when TikTok includes them, with contentType + images[]. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_search_by_hashtagDefault ~7 credits (limit 10; 0.7/result). Videos from TikTok's /tag/{name} challenge feed — not keyword or username search. Cursor + hasMore. Costs ~7 credits (0.7/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fre
tiktok_search_usersSearch TikTok users — distinct creators only, id + secUid, per-counter isApproximate flags, cursor pagination. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_song_detailsTikTok sound metadata — usageCount, artists[{id,secUid,handle}], audio{bpm,loudness,beats}, commerce rights (1 credit; 2 via the fallback path). Costs 1 credit (2 via fallback path). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default a
tiktok_trending_feedFor You by default; pass orderBy/period/page for Creative Center popular videos (like/hot/comment/repost) with totalCount. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_popular_hashtagsRelated TikTok hashtags — Creative Center chart when it answers (asOf = the chart's data date, stale when over 3 days old), otherwise a disclosed niche fallback. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hi
tiktok_liveCheck whether a TikTok creator is live right now and get the stream URLs (CMAF/DASH + FLV, HLS when TikTok exposes it) — one GET with an @handle, 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh
tiktok_live_infoIdentical to TikTok Live (isLive, creator.id/secUid, streamQualities hls/cmaf). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
tiktok_popular_creatorsCreative Center creators + createTime / bioLinkRisk / ttSeller hydrate for partnership vetting. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
instagram_transcriptTurn any Instagram Reel's speech into text — the full transcript plus timestamped segments, ready for search, subtitles, or AI pipelines. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
instagram_summarizeGet an AI summary of any Instagram Reel — a short paragraph plus key points, without watching the video. Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
instagram_detailsGet an Instagram post, Reel or carousel — caption, publish date, likes, comments, views, media URLs, author, per-slide children, and promo codes / disclosure words from the caption. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache
instagram_commentsDefault ~9 credits (limit 10; 0.9/result). Session-paged Instagram comments — a logged-out 2-row preview of a larger thread is 503 SESSION_UNAVAILABLE at 0 credits. Costs ~9 credits (0.9/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache h
instagram_channel_detailsInstagram profile stats — fixed key set (null fillers), fbid, bioLinks, isBusinessAccount, approx flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
instagram_channel_postsDefault ~3 credits (limit 10; 0.3/result). Latest posts from a public Instagram profile — carousel children[], mediaCount, isPinned, caption promo codes, user{} in one call. Costs ~3 credits (0.3/result). Empty results and failures are never charged. Pass cache=true for a free 24
instagram_channel_reelsDefault ~3 credits (limit 10; 0.3/result). Latest Reels from a public Instagram profile — isPinned, optional since date filter, pass userId to skip resolve; ceil(n×0.3) credits; nextCursor + hasMore. Costs ~3 credits (0.3/result). Empty results and failures are never charged. Pas
instagram_reels_searchNative tag feed first, slower fallback paths on a miss. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
instagram_trending_reelsCache-first trending Reels. Feed outage → labelled country hashtag-clips stand-in (listing field), never a silent swap. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Successful calls bill even on cache hits.
instagram_tagged_postsPosts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
instagram_reels_by_audio_idDefault ~14 credits (limit 10; 1.4/result). Is this Instagram sound trending? Reels that use it + isTrendingInClips / trendRank / rich music{}. Costs ~14 credits (1.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always f
instagram_hashtag_searchHashtag Explore: native grid first, fallback path only on miss. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
instagram_profile_searchResolve a brand or @handle to one public Instagram profile — stable id, bio, links, and stats (not niche discovery). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
instagram_embedClassic Instagram embed snippet — blockquote.instagram-media + embed.js. Drop html into your page. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
instagram_highlightsPersistent Story Highlight albums for a public profile — id, title, cover, owner. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 CDCStream 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 117 毫秒内响应(HTTP 200)
无需登录
已读取 60 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:CAPTAPI_API_KEY, Authorization
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.5.2)于今天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Captapi's hosted Model Context Protocol server gives Claude, Cursor, VS Code and other MCP clients read access to public social media data through one API key. Each Captapi REST endpoint is exposed as one MCP tool that returns JSON.
This repository holds documentation and the registry manifest only. It contains no server source code.
https://api.captapi.com/mcpPOST)Authorization: Bearer or x-api-key: io.github.CDCStream/captapiPublic data only: nothing behind a login. For LinkedIn, only pages visible without signing in.
As of October 2026 the server lists 178 tools. Tool names follow _ , for example youtube_transcript, tiktok_comments or instagram_profile.
Platforms: TikTok, YouTube, Facebook, Instagram, GitHub, LinkedIn, Reddit, X (Twitter), Spotify, Threads, Rumble, Pinterest, Twitch, Google Maps, Truth Social, Kwai, SoundCloud, Bluesky, Snapchat, Kick, Amazon shop pages, and link-in-bio pages (Linktree, Linkme, Linkbio, Pillar, Komi).
Tool categories:
analytics_post, analytics_compare)account_*)Run tools/list against the endpoint for the current list with exact input schemas. Listing tools does not need a key.
Sign up at captapi.com, then create a key at captapi.com/dashboard/api-keys. New accounts get 100 free credits after email verification; no credit card is needed.
Each tool call uses the credits of the matching endpoint, listed on its page under captapi.com/apis. Calls that fail are not charged.
Keep your key out of shared config files and version control.
Replace capt_live_xxxxxxxxxxxxxxxx with your key.
claude mcp add --transport http captapi https://api.captapi.com/mcp \
--header "Authorization: Bearer capt_live_xxxxxxxxxxxxxxxx"
~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
{
"mcpServers": { "captapi": { "url": "https://api.captapi.com/mcp", "headers": { "Authorization": "Bearer capt_live_xxxxxxxxxxxxxxxx" } } } }
Claude Desktop's config file starts local (stdio) servers, so use the @captapi/mcp npm package, which calls the same API. Open Settings → Developer → Edit Config and add:
{
"mcpServers": { "captapi": { "command": "npx", "args": ["-y", "@captapi/mcp"], "env": { "CAPTAPI_API_KEY": "capt_live_xxxxxxxxxxxxxxxx" } } } }
Requires Node.js. Restart Claude Desktop after saving.
Point the client at https://api.captapi.com/mcp and send the key in a header. Either form works:
Authorization: Bearer capt_live_xxxxxxxxxxxxxxxx
x-api-key: capt_live_xxxxxxxxxxxxxxxx
Raw check with curl:
curl -s https://api.captapi.com/mcp \
-H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "Authorization: Bearer capt_live_xxxxxxxxxxxxxxxx" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"account_balance","arguments":{}}}'
The server is stateless: no session ID is needed, and GET on the endpoint returns 405. Without a key, initialize and tools/list work, and tools/call returns an error result asking for a key.
server.json is a copy of the manifest published to the official MCP Registry as io.github.CDCStream/captapi.
See SECURITY.md.
The documentation and configuration in this repository are MIT licensed. See LICENSE. Use of the Captapi API is governed by the Terms of Service and Acceptable Use Policy.