yt-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YOUTUBE_API_KEY | Yes | Your Google Cloud API key with YouTube Data API v3 enabled |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| find_channelA | Resolve a channel handle, URL, id or name to a channel with its stats. Useful on its own to confirm which channel a name refers to before searching. |
| search_channel_videosA | Search one channel's videos by keyword, e.g. the latest iPhone review on MKBHD. Costs 100 YouTube quota units per 50 results. When you want recent uploads and have no keyword, use list_channel_videos instead — it is 100x cheaper. |
| list_channel_videosA | List a channel's uploads newest first, optionally within a date range. Example: everything MKBHD posted in the last year, via published_after='1y'. |
| get_video_transcriptA | Get a video's transcript as timestamped lines you can quote and cite. Every line starts with a Markdown link that seeks to that moment, so quoting a timestamp back keeps claims traceable and clickable — e.g. "at [03:15] he says the battery is 17% larger than last year". Reproduce those links verbatim rather than rewriting them as plain text. Narrow long videos with start_seconds and end_seconds. Reads public caption tracks, so it costs no API quota. |
| get_video_detailsA | Get a video's full description, extracted links, tags and engagement counts. The links list is what the creator cited in the description — sources, products, sponsors and their own other videos. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool targets a distinct action: channel resolution, keyword search, recent listing, transcript retrieval, and metadata/details. The only potential confusion is between search_channel_videos and list_channel_videos, but their descriptions clearly separate keyword-based search from recent-upload listing.
All five tools follow a consistent verb_noun pattern with snake_case: find_channel, search_channel_videos, list_channel_videos, get_video_transcript, get_video_details. The verbs are appropriate and predictable for their functions.
Five tools is a well-scoped surface for a YouTube research/retrieval server. Each tool covers a distinct part of the workflow without excessive overlap or unnecessary additions.
The core read-oriented workflow is covered: resolve a channel, find/list videos, fetch transcripts, and get detailed metadata. Minor gaps exist, such as no direct cross-YouTube search or playlist support, but common video research tasks are fully supported.