Skip to main content
Glama
MSKKK007

Youtube MCP

by MSKKK007

YouTube MCP Connector for Claude.ai

Production remote MCP server that lets Claude.ai use read-only YouTube tools over HTTPS:

  • search_videos

  • get_trending_videos

  • get_channel_videos

  • get_video_details

  • get_engagement_stats

  • get_transcript

  • search_transcript

The service uses the official YouTube Data API v3 for search, metadata, trending, and channel uploads. Transcript retrieval is best-effort: it tries public InnerTube caption tracks first, then YouTube watch-page caption discovery. It does not bypass CAPTCHA, blocks, or rate limits.

Local Setup

npm install
cp .env.example .env

Set at minimum:

YOUTUBE_API_KEY=your_google_api_key
AUTH_MODE=none

Run locally:

npm run dev

Health checks:

curl http://localhost:3000/health
curl http://localhost:3000/ready

Build and test:

npm test
npm run build

Related MCP server: youtube-research

Production Environment

Minimum Railway test variables:

YOUTUBE_API_KEY=...
AUTH_MODE=none

Redis is recommended, but the app can boot without it and will use an in-process no-op cache.

Full production variables:

NODE_ENV=production
YOUTUBE_API_KEY=...
AUTH_MODE=oauth
AUTH_ISSUER=https://YOUR_AUTH0_DOMAIN/
AUTH_AUDIENCE=https://youtube-claude-mcp
AUTH_JWKS_URL=https://YOUR_AUTH0_DOMAIN/.well-known/jwks.json
AUTH_REQUIRED_SCOPE=youtube:read
REDIS_URL=...

Default cache TTLs:

TRANSCRIPT_CACHE_TTL_SECONDS=604800
VIDEO_DETAILS_CACHE_TTL_SECONDS=900
TRENDING_CACHE_TTL_SECONDS=600
CHANNEL_VIDEOS_CACHE_TTL_SECONDS=600

Auth0 Setup

  1. Create or reuse an Auth0 API.

  2. Set the API identifier to the same value as AUTH_AUDIENCE.

  3. Add scope youtube:read.

  4. Use the Auth0 issuer URL as AUTH_ISSUER.

  5. Use the tenant JWKS endpoint as AUTH_JWKS_URL.

  6. Configure Claude.ai custom connector OAuth advanced settings with the appropriate Auth0 client details.

The /mcp endpoint requires a valid Authorization: Bearer <token> when AUTH_MODE=oauth.

Railway Deployment

  1. Push the repository to GitHub.

  2. Create a Railway project from the GitHub repository.

  3. Railway should use the checked-in Dockerfile via railway.json.

  4. Add service variables:

YOUTUBE_API_KEY=...
AUTH_MODE=none
  1. Deploy and open /health.

  2. Add Railway Redis later if you want shared caching, then set REDIS_URL.

  3. Switch to Auth0 by setting AUTH_MODE=oauth and the Auth0 variables.

Render Deployment

  1. Create a Render Redis instance.

  2. Create a Render Web Service from this repository.

  3. Select Docker deployment.

  4. Add the production environment variables.

  5. Deploy.

  6. Verify:

curl https://YOUR_RENDER_URL/health
curl https://YOUR_RENDER_URL/ready
curl -i https://YOUR_RENDER_URL/mcp

Unauthenticated /mcp should return 401.

Claude.ai Connector

  1. Open Claude.ai settings.

  2. Go to Customize, then Connectors.

  3. Add a custom connector.

  4. Use:

https://YOUR_RENDER_URL/mcp
  1. Configure OAuth advanced settings if production auth is enabled.

  2. Enable the connector in a chat.

Demo prompts:

  • Search YouTube for 5 recent MCP server tutorials.

  • What are the most popular videos in Pakistan right now?

  • Show the latest videos from @GoogleDevelopers.

  • Get views, likes and duration for this YouTube URL.

  • Calculate its engagement rate.

  • Get the transcript and summarize it.

  • Where in the transcript do they mention authentication?

Operational Notes

  • Restrict and rotate the YouTube API key in Google Cloud where practical.

  • Do not log API keys, bearer tokens, or full authorization headers.

  • Search calls are quota-expensive; prefer channel uploads and cached metadata where possible.

  • Redis failures degrade cache behavior but do not fail normal tool calls.

  • Transcript failures can happen when captions are disabled, unavailable, region-restricted, or blocked by YouTube.

  • CAPTCHA or bot-block responses are surfaced as errors; the service does not attempt bypasses.

Troubleshooting

  • Startup fails with YOUTUBE_API_KEY is required: set the server-side API key.

  • Startup fails in production with REDIS_URL is required: attach Render Redis and set its URL.

  • /mcp returns 401: token is missing, expired, malformed, or signed by the wrong issuer.

  • /mcp returns 403: token is valid but lacks youtube:read.

  • Transcript tool returns unavailable: the video may not have public captions.

  • YouTube quota exceeded: wait for quota reset, request a quota increase, or reduce search usage.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to access and manage YouTube channel data through the YouTube Data API v3 and YouTube Analytics API. Provides tools for reading analytics, fetching video metadata, searching uploads, and updating video SEO directly from Claude.
    9
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables YouTube integration with Claude Code, including video search, metadata retrieval, transcript fetching, channel exploration, and trending videos.
    8
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to interact with YouTube Data API for searching videos, channels, and playlists, and retrieving details and playlists.
    38
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables bringing YouTube to Claude Code with transcripts, search, metadata, channel info, playlists, comments, trending videos, engagement analytics, chapter extraction, SponsorBlock integration, and most-replayed heatmaps.
    38

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/MSKKK007/youtube-claude-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server