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를 쓰세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
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에서 이 저장소를 읽어 오지 않았어요
117ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 60개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: CAPTAPI_API_KEY, Authorization
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.5.2)은 오늘 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 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.