Skip to main content
Glama
alibabagini-cyber

youtube-signal-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YT_LANGSNo자막 언어 우선순위 (subtitle language priority)en
YT_PROXY_URLNo자막 요청에 쓸 프록시(https://user:pass@host:port) (proxy for subtitle requests)
YT_STATE_DIRNochannels.json, seen.json 위치 (location of channels.json and seen.json)~/.youtube-signal-mcp

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_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).

get_video_infoB

Title, channel name and thumbnail of a YouTube video (oembed, no key).

list_channel_videosB

Latest videos (up to ~15) of a channel. channel = @handle, UC... id, or channel URL.

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.

Prompts

Interactive templates invoked by user choice

NameDescription
summarize_videoPlain summary of one video: what it says, in order, with timestamps.
industry_signalsTurn one video into an industry-signal card (fact, source stamp, why it matters).
channel_digestDigest of a channel's newest uploads: one line per video, then the common thread.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues