YouTube MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CACHE_DB_PATH | No | SQLite database for cache + quota | ./data/cache.db |
| TRANSCRIPT_MODE | No | Comma-separated transcript modes | provided_text |
| YOUTUBE_API_KEY | Yes | YouTube Data API v3 key | |
| GOOGLE_CLIENT_ID | No | OAuth client ID (future caption support) | |
| GOOGLE_REDIRECT_URI | No | OAuth redirect URI | |
| GOOGLE_CLIENT_SECRET | No | OAuth client secret | |
| CACHE_TTL_VIDEO_HOURS | No | TTL for video detail cache | 12 |
| MAX_DAILY_QUOTA_UNITS | No | Soft daily quota budget | 9000 |
| CACHE_TTL_SEARCH_HOURS | No | TTL for search result cache | 6 |
| CACHE_TTL_CHANNEL_HOURS | No | TTL for channel/profile cache | 24 |
| PUBLIC_TRANSCRIPT_ADAPTER_ENABLED | No | Enable public transcript adapter | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| youtube.healthcheckC | Server readiness, dependency status, API reachability, and schema version |
| youtube.auth.statusA | Show whether API key and OAuth are configured |
| youtube.quota.statusA | Show estimated YouTube API quota usage by endpoint and day |
| youtube.cache.statusA | Show cache size, freshness, hit rate, and stale records |
| youtube.channel.resolveA | Resolve channel URL, handle, custom URL, channel ID, or video URL to canonical channel ID |
| youtube.channel.get_profileB | Fetch channel title, description, statistics, thumbnails, and branding metadata |
| youtube.channel.get_uploadsC | Fetch recent uploads through the channel uploads playlist |
| youtube.video.get_detailsC | Fetch video metadata, statistics, duration, and thumbnails |
| youtube.video.batch_get_detailsB | Batch video lookup by IDs or URLs with cache-aware quota handling |
| youtube.video.searchC | Search YouTube by keyword with filters for region, duration, recency, and order |
| youtube.video.performance_snapshotC | Return views, engagement rate, views per day, and packaging metrics for a video |
| youtube.thumbnail.getB | Return all available thumbnail URLs and dimensions for a video |
| youtube.strategy.channel_auditB | Channel audit with upload cadence, top videos, outliers, title patterns, and thumbnail availability |
| youtube.niche.findC | Rank niche opportunities from seed topics using search demand and competition proxies |
| youtube.transcript.getC | Retrieve transcript using approved modes (provided_text supported; OAuth captions planned) |
| youtube.transcript.analyzeC | Analyze user-provided transcript for hook, structure, CTAs, and retention signals |
| youtube.packaging.analyze_titleC | Score a title by clarity, curiosity, specificity, length, and detected formula |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CodingWithShahzaib/youtube-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server