youtube-mcp-server
youtube-mcp-server
Un servidor MCP remoto que expone la YouTube Data API v3 como herramientas, mediante Streamable HTTP, de modo que se pueda añadir a claude.ai como conector personalizado.
Sin dependencias. Sin paso de compilación. node src/server.js es todo el proyecto.
Herramientas
Herramienta | Qué hace | Coste de cuota |
| Los vídeos más populares de un país, opcionalmente filtrados por una categoría | 1 unidad |
| Búsqueda por palabras clave de vídeos, canales o listas de reproducción, con estadísticas incluidas | 1 llamada de búsqueda + 1 unidad |
| Las subidas recientes de un canal, más sus totales de suscriptores y visualizaciones | 3 unidades |
| Estadísticas completas de hasta 50 vídeos en una sola llamada | 1 unidad |
| Comentarios de primer nivel con el recuento de Me gusta y de respuestas | 1 unidad |
Las transcripciones se omiten deliberadamente. captions.download requiere OAuth y permiso de edición sobre el vídeo, así que una clave de API solo puede obtener los subtítulos de los vídeos que poseas. Las bibliotecas de scraping no oficiales están, según numerosos informes, bloqueadas desde los rangos de IP de la nube, que es exactamente donde se ejecuta este servidor.
Related MCP server: mcp-server-youtube
Cuota
Un proyecto dispone de 10.000 unidades al día en el bucket general, y search.list está en un bucket aparte con un límite de 100 llamadas al día. Eso condicionó el diseño de las herramientas: youtube_channel_videos usa channels.list → playlistItems.list → videos.list en lugar de search.list?channelId=, de modo que explorar un canal cuesta 3 unidades generales en lugar de una de las únicas cien búsquedas diarias.
Ejecutar en local
cp .env.example .env # add your YOUTUBE_API_KEY
export $(grep -v '^#' .env | xargs)
npm startcurl localhost:3000/health
curl -s localhost:3000/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | head -c 400Pruebas
npm testEjecuta el handshake completo de MCP, ambos modos de transporte, las cinco herramientas y las rutas de error contra una API de YouTube simulada. No requiere clave de API ni conexión de red.
Desplegar en Railway
Sube este repositorio a GitHub.
Railway → New Project → Deploy from GitHub repo → elige el repositorio.
Variables → añade
YOUTUBE_API_KEY.Settings → Networking → Generate Domain.
Comprueba que
https://<your-domain>/healthdevuelve"apiKeyConfigured": true.
Railway establece PORT por su cuenta; el servidor se vincula a 0.0.0.0 y lee esa variable.
Añadir a claude.ai
Customize → Connectors → Add custom connector → https://<your-domain>/mcp
No se necesitan campos OAuth — el servidor no tiene autenticación por defecto. Para restringir el acceso, define MCP_AUTH_TOKEN y añade Bearer <token> en la cabecera authorization de las Request del conector.
Variables de entorno
Variable | Requerida | Por defecto | Notas |
| sí | — | Google Cloud Console, con la YouTube Data API v3 habilitada |
| no | 3000 | La establece Railway |
| no |
| Ruta en la que escucha el endpoint de MCP |
| no | — | Si se define, toda solicitud debe incluir |
| no | la de Google | Solo se usa para dirigir la suite de pruebas a un stub |
Notas de diseño
Sin estado. Cada POST es autocontenido — sin Mcp-Session-Id, sin mapa de sesiones —, así que un reinicio o una segunda réplica nunca produce "No valid session ID provided".
La negociación de contenido coincide con el SDK de referencia: un frame SSE cuando el cliente envía Accept: text/event-stream, y un cuerpo JSON plano en caso contrario.
GET y DELETE en /mcp devuelven 405, que es lo que la especificación de Streamable HTTP espera de un servidor sin flujo iniciado por el servidor y sin sesión que cerrar.
Sin validación de la cabecera Origin y sin protección contra DNS rebinding. Esas defensas están pensadas para servidores MCP vinculados a localhost; si se dejan activas en un despliegue público, rechazan las solicitudes de la propia Anthropic, que es una causa habitual de los timeouts de initialize.
Los fallos de las herramientas se devuelven como contenido isError: true en lugar de errores JSON-RPC, de modo que Claude puede leer qué ha fallado y ajustar su enfoque, en vez de que la llamada muera en la capa de transporte.
Los resultados se truncan a 120k caracteres, por debajo del tope de ~150k que claude.ai aplica a los resultados de herramientas.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents. No signup.
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
Personal YouTube AI knowledge base powered by RAG. Query your subscribed YouTube channels.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with YouTube through the YouTube Data API, allowing users to search for videos, playlists, and channels, generate video titles using AI, and manage YouTube content through natural language commands.22
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search videos, read channels, browse playlists, fetch comments, and get transcripts from YouTube using the YouTube Data API v3 and InnerTube API for captions.2GPL 3.0
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to search videos, channels, and playlists, retrieve video metadata, transcripts, and comments via the YouTube Data API v3.71
- FlicenseNot gradedqualityBmaintenanceEnables searching and retrieving video transcripts, metadata, channel info, playlists, comments, trending videos, and engagement analytics from YouTube through natural language.57
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/BismaNwaz/-youtube-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server