mcp-youtube-channel-transcript-extractor
YouTube Channel Stats Extractor MCP Server
Apify에서 제공하는 Mamba Labs YouTube Channel Stats Extractor 액터용 MCP 서버입니다.
회사 도메인 또는 YouTube 핸들을 구독자 수와 채널 메타데이터가 포함된 채널로 확인합니다.
기능
회사 도메인 또는 YouTube 핸들을 해당 회사의 YouTube 채널로 확인합니다. 구독자 수, 안정적인 UC 채널 ID, 채널 이름, 생성 날짜와 설명을 Clay에 바로 사용할 수 있는 하나의 플랫한 행으로 반환합니다. 구독자 수는 대략 천 명을 넘어가면 YouTube가 페이지와 공식 API 모두에서 반올림하며, 행에는 그 사실이 표시됩니다. 선택적으로 트랜스크립트 가져오기가 가능하며, 현재 YouTube에 의해 게이트되어 있습니다. 캡션 트랙 목록은 읽을 수 있지만, 캡션 콘텐츠 엔드포인트는 출처 증명 토큰 없이는 빈 본문을 반환합니다. 이 경우 행은 자막이 없는 동영상으로 보고하는 대신 not_extractable로 보고합니다. API 키가 필요 없습니다. 읽기 전용이며, APIFY_TOKEN이 필요하고 호출당 Apify 크레딧을 소비합니다.
Related MCP server: YouTube MCP
빠른 시작
MCP 클라이언트 구성에 다음을 추가하세요:
{
"mcpServers": {
"mamba-youtube-channel-stats": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-youtube-channel-transcript-extractor"],
"env": { "APIFY_TOKEN": "your-apify-token" }
}
}
}사전 요구 사항
Node.js 18 이상
다음에서 Apify API 토큰을 받으세요: console.apify.com/account/integrations
이 액터는 이벤트당 과금되며 호출당 Apify 크레딧을 소비합니다. 요금은 액터 페이지에서 확인할 수 있습니다.
예시 프롬프트
stripe.com의 YouTube 구독자 수는 몇 명인가요?
hubspot.com의 YouTube 채널 ID를 찾아주세요.
gitlab.com은 YouTube 채널을 운영하나요? 그리고 채널은 언제 생성되었나요?
도구 및 입력
도구: get_youtube_channel_stats
입력 | 유형 | 의미 |
| string | 회사 도메인만 입력합니다(예: shopify.com). 이 값 또는 핸들을 제공하세요. 도메인이면 액터가 전체 검색을 수행하고, 핸들이면 바로 건너뜁니다 |
| string | 선택 사항입니다. 검색 정확도를 높이며, ID 게이트가 발견된 프로필을 대조하는 기준이 되므로 이 값을 제공하면 잘못된 일치가 줄어듭니다. |
| string | 선택 사항입니다. @shopify와 같은 YouTube 핸들 또는 전체 채널 URL입니다. 이 값을 제공하면 검색을 건너뛰고 바로 채널로 이동합니다. |
| boolean | "true"(기본값)이면 프로필 페이지를 가져와 개수를 추출합니다. "false"로 설정하면 프로필 URL만 확인하게 되며, 더 저렴하고 필요 |
| boolean | "false"(기본값)이면 성공적인 조회를 7일 동안 캐시하고 재사용합니다. "true"로 설정하면 새로 가져오도록 강제합니다. Clay 호환을 위해 문자열로 전송 |
| boolean | "true"로 설정하면 채널의 가장 최근 동영상들에 대한 전체 타임스탬프 트랜스크립트를 가져와 동영상당 한 행으로 반환합니다. 기본값은 "false" b |
| string | 트랜스크립트가 켜져 있을 때 채널의 최근 동영상 중 몇 개의 트랜스크립트를 가져올지 지정합니다. 기본값은 5입니다. 각 동영상은 한 번의 추가 fetch와 한 번의 추가 |
출력 읽기
모든 행에는 플랫폼별 _status 필드가 있으며, 이 필드를 먼저 읽어야 합니다. 용어는 Mamba Labs 소셜 제품군 전체에서 동일합니다:
상태 | 의미 |
| 가져와서 파싱했으며 값이 있습니다. |
| 확인해 보았지만 해당 프로필이 없습니다. |
| 프로필은 존재하지만 값이 우리에게 전달되지 않습니다. |
| 플랫폼이 우리를 거부했으며, 나중에 다시 시도할 가치가 있습니다. |
| 실제 프로필을 찾았지만 다른 사람의 것입니다. |
| 이 플랫폼을 요청하지 않았습니다. |
false와 null은 결코 서로 바꿔 쓸 수 없습니다. false는 확인해 보았고 답이 '아니요'라는 뜻입니다. null은 확인할 수 없었다는 뜻입니다. 존재하지 않는 회사를 필터링하려면 false로 필터링하세요. null 행은 부재가 아니라 알 수 없음을 의미하기 때문입니다.
전체 액터 문서
apify.com/mambalabs/youtube-channel-transcript-extractor
Mamba Labs GTM Suite
Mamba Labs는 하나의 플랫하고 Clay에 바로 사용할 수 있는 출력 규칙을 공유하는 GTM 강화 액터 제품군을 구축합니다. 따라서 해당 행은 정리 단계 없이 company_domain으로 조인할 수 있습니다. 전체 제품군: apify.com/mambalabs
라이선스
MIT
Available Tools
1 toolget_youtube_channel_statsGet YouTube Channel StatsAIdempotent
Resolve a company domain, or a YouTube handle, to that company's YouTube channel. Returns the subscriber count, the stable UC channel id, channel name, creation date and description, as one flat Clay ready row. Subscriber counts are rounded by YouTube above roughly a thousand subscribers, on the page and in its official API alike, and the row flags that. Optional transcript pulling is available and is CURRENTLY GATED by YouTube: the caption track list is readable and the caption content endpoint returns an empty body without a proof of origin token, which the row reports as not_extractable rather than as a video having no captions. A company with no channel reports youtube_status not_found. Read youtube_status before any count. Use it to look up one known company channel per call; it does not search YouTube, list a channel's videos, or return video detail, and the package name mentions transcripts only because transcript pulling is an option. No API key needed. Read only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | No | Optional. A YouTube handle such as @shopify, or a full channel URL. Supplying it skips discovery and goes straight to the channel. | |
| skipCache | No | When "false" (default) a successful lookup is cached for seven days and reused. Set "true" to force a fresh fetch. Sent as a string for Clay compatibility. | |
| company_name | No | Optional. Improves search accuracy and is what the identity gate checks a discovered profile against, so supplying it reduces wrong matches. | |
| company_domain | No | Bare company domain, for example shopify.com. Supply this or a handle. With a domain the actor runs full discovery; with a handle it skips straight to the fetch. | |
| max_charge_usd | No | Optional spending cap for this call, in USD, passed to the actor as max_charge_usd. The run stops before any charge that would take it past this amount and keeps every row already charged. Leave empty to rely only on the maximum charge per run set on your Apify account. | |
| includeTranscripts | No | When "true", full timestamped transcripts are pulled for the most recent videos on the channel and returned as one row per video. Default is "false" because transcripts are the expensive half of this actor and most buyers want channel stats only. Sent as a string for Clay compatibility. | |
| transcriptVideoCount | No | How many of the channel's most recent videos to pull transcripts for, when transcripts are on. Default 5. Each video is one extra fetch and one extra billable transcript event, so this is the dial that sets the cost of a transcript run. | |
| includeFollowerCounts | No | When "true" (default) the profile page is fetched and the counts are extracted. Set "false" to resolve the profile URL only, which is cheaper and needs no proxy. Sent as a string for Clay compatibility. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is otherwise unusually candid — YouTube's subscriber rounding, the transcript gating and the not_extractable vs. no-captions distinction, credit consumption, and the APIFY_TOKEN requirement are all disclosed. However, it asserts 'Read only' while the annotations declare readOnlyHint=false, an outright conflict on the safety profile. Flagged as an annotation contradiction, which caps this score.
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?
Purpose and return shape are front-loaded, and the caveats (rounding, gating, status field, cost) follow in descending priority. It runs long at roughly nine sentences, and the aside about the package name is borderline, but almost every sentence carries information an agent needs.
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?
With 8 optional parameters and no output schema, the description does the heavy lifting: it names the return fields, the flat-row shape, the youtube_status signal, and the not_found case, plus auth and billing. It stops short of enumerating all possible youtube_status values or how a missing domain+handle is handled, which keeps it from a 5.
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%, so the baseline is 3, but the description adds genuine semantics beyond it: transcripts are CURRENTLY GATED by YouTube and the row reports not_extractable rather than no-captions, which materially changes how an agent should interpret includeTranscripts/transcriptVideoCount results. It also explains the cost framing of a transcript run rather than leaving it to the schema.
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?
Opens with a precise verb+resource: resolve a domain or handle to a company's YouTube channel, then lists the returned fields (subscriber count, UC id, name, creation date, description). It also explicitly fences the scope — 'it does not search YouTube, list a channel's videos, or return video detail' — so an agent knows exactly what this tool is and is not.
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?
Gives direct usage guidance: 'Use it to look up one known company channel per call', with explicit exclusions (no search, no video listing, no video detail) and a sequencing rule ('Read youtube_status before any count'). The domain-vs-handle choice and its consequence (full discovery vs. straight to fetch) is stated inline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.1.1- Changed
get_youtube_channel_stats2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / max_charge_usdAdded value: +{ + "description": "Optional spending cap for this call, in USD, passed to the actor as max_charge_usd. The run stops before any charge that would take it past this amount and keeps every row already charged. Leave empty to rely only on the maximum charge per run set on your Apify account.", + "minimum": 0, + "type": "number" +}
1 tool update
v1.0.0- First observed
get_youtube_channel_stats
TDQS
Scored across 1 tool
With only one tool there is nothing to confuse it with, and the description clearly enumerates what it does (domain/handle → channel stats) and what it does not do (search, video listing, video detail). The only mild internal blur is that the tool name advertises transcripts while the body frames them as a gated option, but that is a scoping note, not a tool-selection ambiguity.
The single tool follows a clean snake_case verb_noun pattern (get_youtube_channel_stats). No mixing of conventions or vague verb styles is present to break predictability.
One tool is thin for a server that also implies transcript extraction and channel resolution; resolving, stats, and transcript pulling are collapsed into a single overloaded call. It is not mis-scoped enough to be wrong, but it sits at the borderline of too few.
Channel lookup and stats are covered, but the headline transcript capability is effectively unusable (caption content gated, reported as not_extractable), and there is no video listing, video detail, or multi-channel/batch operation. An agent can still retrieve channel stats, so gaps are notable rather than fatal.
Maintenance
Related MCP Connectors
YouTube video metadata, transcripts and channel data by URL or @handle. No API key. Pay per result.
Find the contact email of YouTube channels from the link, the @handle or the channel_id. Resolves th
YouTube search, whole channels, video stats, comments and full transcripts with timestamps.
YouTube data for AI agents: channels, videos, transcripts, comments, search. Video research.
Related MCP Servers
- AlicenseAqualityCmaintenanceChecks username availability and retrieves account information across major social media platforms including YouTube, TikTok, Threads, X (Twitter), and Instagram, perfect for brand name qualification and competitive research.5262 npmMIT
- AlicenseAqualityCmaintenanceProvides production-grade tools for YouTube channel resolution, video metadata extraction, transcripts, and playlist management. It features a quota-aware, AI-friendly design that supports structured searching and listing of public YouTube data.72MIT
- FlicenseNot gradedqualityDmaintenanceEnables YouTube data crawling and AI-powered summarization of videos, including channel metadata retrieval, time-range queries, and automatic transcription with multi-language support.-
- FlicenseAqualityDmaintenanceEnables AI assistants to analyze YouTube channels, videos, transcripts, and content strategy through structured tool calls.1711 npm-