youtube-signal-mcp
Provides tools for retrieving YouTube video transcripts, video metadata, and recent channel videos, as well as monitoring channels for new uploads.
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., "@youtube-signal-mcp Summarize this video and list key points: https://youtu.be/abc123"
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.
youtube-signal-mcp
유튜브 영상의 자막과 채널 최신 영상 목록을 AI 에이전트(Claude Code, Codex, Cursor 등)가 도구로 꺼내 쓰게 해 주는 MCP 서버입니다. CLI로도 쓸 수 있습니다.
API 키, 로그인, 영상 다운로드가 전부 없습니다. 유튜브가 공개로 주는 자막·RSS·oembed만 씁니다.
요약은 이 서버가 하지 않고, 서버가 자막을 넘기면 에이전트(모델)가 합니다. 그래서 키가 필요 없습니다.
채널을 등록해 두면 "지난번 이후 새로 올라온 영상"만 자막과 함께 돌려줍니다. 산업 동향 카드나 주간 브리프를 만들 때 이 기능을 씁니다.
설치 (Claude Code 기준, 3단계)
uv가 없으면 설치합니다. https://docs.astral.sh/uv/getting-started/installation/터미널에서 한 줄:
claude mcp add youtube-signal -e YT_LANGS=ko,en -- uvx --from git+https://github.com/alibabagini-cyber/youtube-signal-mcp youtube-signal-mcpClaude Code를 다시 열고 이렇게 물어봅니다.
https://www.youtube.com/watch?v=XXXXXXXXXXX 이 영상 요약해줘 @TechTechPotato 채널 최근 영상 5개 한 줄씩 정리해줘
claude mcp list에 youtube-signal이 보이면 연결된 것입니다.
다른 클라이언트(Codex, Cursor, Claude Desktop)는 examples/mcp-config.json을 그 프로그램의
MCP 설정 파일에 붙여 넣으면 됩니다. 형식은 전부 같습니다.
Related MCP server: youtube-mcp
에이전트가 쓰는 도구
도구 | 하는 일 | 입력 |
| 영상 자막을 글로 | URL 또는 11자 영상 ID, 언어 우선순위( |
| 제목·채널명·썸네일 | URL 또는 ID |
| 채널 최신 영상 약 15개 |
|
| 지난 호출 이후 새 영상만 + 자막 | 채널 목록(비우면 channels.json) |
프롬프트(에이전트에게 시킬 일의 틀)도 세 개 들어 있습니다. Claude Code에서는 /youtube-signal:로 시작하는
슬래시 명령으로 뜹니다.
프롬프트 | 결과물 |
| 한 줄 결론, 순서대로 요약, 챕터 목록, 숫자·고유명사와 나온 시각 |
| 산업 신호 카드 3~7개. 신호 한 문장, 나온 시각, 사실/주장/추측 구분, 왜 중요한지 |
| 채널 최신 5편을 한 줄씩, 그리고 공통 흐름 |
industry_signals는 기본이 반도체/메모리 쪽으로 잡혀 있는데, industry 인자로 바꾸면 됩니다.
CLI로 쓰기
uvx --from git+https://github.com/alibabagini-cyber/youtube-signal-mcp youtube-signal transcript "https://youtu.be/XXXXXXXXXXX" -l ko,en -t
uvx --from git+https://github.com/alibabagini-cyber/youtube-signal-mcp youtube-signal channel @Asianometry -n 5
uvx --from git+https://github.com/alibabagini-cyber/youtube-signal-mcp youtube-signal watch @Asianometry @TechTechPotato --max-new 2자주 쓰면 uv tool install git+https://github.com/alibabagini-cyber/youtube-signal-mcp 한 번 하고
youtube-signal …로 부르면 됩니다.
채널 감시 세팅
~/.youtube-signal-mcp/channels.json을 만듭니다. 예시는examples/channels.example.json.[ {"channel": "@Asianometry", "languages": ["en"]}, {"channel": "@softdragon", "languages": ["ko", "en"]} ]youtube-signal watch를 돌리면 새 영상만 나옵니다. 본 영상 ID는 같은 폴더seen.json에 쌓입니다.채널을 처음 넣은 날은 최신
--max-new개(기본 2)만 가져오고 나머지 과거분은 "본 것"으로 표시합니다. 과거 영상까지 전부 긁어오는 도구가 아닙니다.cron 예: 매일 아침 8시
0 8 * * * youtube-signal watch > ~/yt_new_$(date +\%F).json
환경변수
이름 | 뜻 | 기본 |
| 자막 언어 우선순위 |
|
| channels.json, seen.json 위치 |
|
| 자막 요청에 쓸 프록시(https://user:pass@host:port) | 없음 |
꼭 알아두기
자막이 없는 영상은 못 읽습니다. 자동 생성 자막은 오타가 있으니 숫자는 영상에서 한 번 확인하세요.
클라우드 서버나 VPN에서 돌리면 유튜브가 자막 요청을 막는 경우가 있습니다. 집·사무실 PC에서는 거의 문제 없고, 막히면
YT_PROXY_URL을 씁니다.한국어 영상은
YT_LANGS=ko,en으로 두세요. 기본값en이면 영어 자막을 먼저 찾고, 없으면 있는 언어 아무거나 가져옵니다.유튜브가 가끔 404·500을 잠깐 냅니다. 3번까지 자동으로 다시 시도합니다.
개발자용
git clone https://github.com/alibabagini-cyber/youtube-signal-mcp
cd youtube-signal-mcp
uv run youtube-signal channel @Asianometry -n 3
uv run youtube-signal-mcp # stdio MCP 서버youtube_signal_mcp/core.py가 전부이고 server.py(MCP)와 cli.py는 그걸 감싼 겉면입니다.
의존성은 mcp, youtube-transcript-api 둘뿐입니다.
MIT
Available Tools
4 toolsget_transcriptA
Fetch a YouTube video's captions as text.
url: any YouTube URL (watch, youtu.be, shorts, live) or an 11-char video id. languages: comma-separated preference, e.g. "ko,en". Falls back to any available. timestamps: prefix each line with mm:ss. max_chars: cut the text after this many characters (0 = no cut).
Inputs: url (required), languages, max_chars, timestamps. Returns: result
get_video_infoB
Title, channel name and thumbnail of a YouTube video (oembed, no key).
Inputs: url (required). Returns: result
list_channel_videosB
Latest videos (up to ~15) of a channel. channel = @handle, UC... id, or channel URL.
Inputs: channel (required), limit. Returns: result
watch_channelsA
Return videos published since the last call and mark them seen.
channels: comma-separated @handles / UC ids. Empty = read channels.json from the state dir (env YT_STATE_DIR, default ~/.youtube-signal-mcp). On a channel's first run only the newest max_new_per_channel are returned.
Inputs: channels, languages, with_transcript, max_new_per_channel. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
get_transcript and get_video_info are clearly distinct (content vs metadata). list_channel_videos and watch_channels both retrieve channel videos, but one is a static listing and the other is stateful incremental monitoring, so an agent could briefly confuse them despite clear descriptions.
All tools follow a consistent verb_noun snake_case pattern: get_* for single-resource fetches, list_* for one-shot listing, watch_* for ongoing monitoring. No mixed conventions.
Four tools is well-scoped for a YouTube signal server: single-video transcript/metadata and channel-level listing/monitoring. Each tool serves a distinct need without bloat.
The set covers the core signal workflow: discover new videos via watch_channels/list_channel_videos, then fetch transcript or metadata. Minor gaps exist (no pagination beyond 15, no watchlist management API), but agents can work around them via channels.json.
Maintenance
Related MCP Connectors
YouTube for AI agents: transcripts, comments, video stats, channel monitor, Shorts captions.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
Fetch YouTube transcripts, monitor channels and track keyword matches from your AI assistant.
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
Related MCP Servers
- AlicenseCqualityCmaintenanceEnables AI agents to search, analyze, and extract insights from YouTube videos including transcripts, visual frames, and benchmarks without requiring API keys. Supports semantic search across playlists, sentiment analysis, and visual content indexing with automatic fallback chains for reliable access.41199 npm35MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to fetch transcripts, metadata, and download videos/audio from YouTube without API keys.33MIT
- AlicenseAqualityDmaintenanceEnables AI agents to search, watch, summarize, clip, and extract transcripts from YouTube videos, all without needing an API key or leaving the chat.927 npm61Apache 2.0
- AlicenseAqualityBmaintenanceAllows AI agents to fetch, search, and summarize YouTube video transcripts without an API key, including chapter summaries.4MIT