youtube-mcp
youtube-mcp
Servidor MCP que permite analizar el canal de YouTube de @ザビエル-zav directamente desde Claude.
El objetivo es poder responder a preguntas como «¿Cuál de los vídeos de la semana pasada tuvo mejor CTR?» obteniendo datos reales.
Está hecho en Node.js (sin Python). Envuelve YouTube Analytics API / Reporting API / Data API v3 con
las bibliotecas oficiales para Node (googleapis, google-auth-library) y las expone como herramientas
mediante el SDK oficial de TypeScript para MCP (@modelcontextprotocol/sdk).
APIs utilizadas y su uso
Datos deseados | API | Método de obtención |
Reproducciones, tiempo de visualización, retención media, variación de suscriptores, fuentes de tráfico, audiencia | YouTube Analytics API | Devuelve JSON al instante al hacer la solicitud |
Impresiones de miniaturas, CTR de impresiones | YouTube Reporting API (Bulk Reports) | Registrar un trabajo con antelación → se genera un CSV diario → descargarlo y leerlo |
Título, descripción y comentarios de los vídeos | YouTube Data API v3 | Devuelve JSON al instante al hacer la solicitud |
Solo el CTR tiene un método de obtención fundamentalmente distinto (informe masivo), por lo que se sigue una vía aparte:
registro del trabajo con register-reach-job.js → acumulación periódica de CSV en local con download-reports.js.
Related MCP server: youtube-organic-mcp
Configuración
1. Google Cloud Console
Crear un proyecto
Activar las siguientes 3 APIs
YouTube Analytics API
YouTube Reporting API
YouTube Data API v3
Configurar la pantalla de consentimiento de OAuth (tipo de usuario = externo, añadir tu cuenta de Google como usuario de prueba)
En Credenciales > ID de cliente de OAuth > Tipo de aplicación = Aplicación de escritorio, crear y descargar el JSON
Colocar el JSON descargado con el nombre
client_secret.jsonen la raíz de este repositorioNo commitear jamás
client_secret.jsonnitoken.json, que se genera tras la primera autenticación. Ya está en.gitignore, pero ten cuidado de no hacergit add -fpor error.
2. Node.js y paquetes de dependencias
Se necesita Node.js 18 o superior (si no está instalado, instala la versión LTS desde nodejs.org.
El instalador incluye npm, por lo que normalmente no hace falta configurar el PATH por separado como en Python).
npm install3. Registro del trabajo del informe de alcance (CTR) — ejecutar con máxima prioridad
Reporting API empieza a generar datos a partir del «día en que se registra el trabajo», y los datos pasados solo se pueden recuperar hasta 30 días antes del momento del registro. Cuanto más se retrase el registro, más datos de CTR pasados se perderán, así que ejecuta esto antes que cualquier otra tarea.
npm run register-reach-jobLa primera vez se abrirá el navegador y se pedirá autenticación (a partir de entonces se renueva automáticamente con token.json).
4. Inicio del servidor MCP
npm startPara usarlo desde Claude Desktop, regístralo en claude_desktop_config.json de la siguiente manera.
{
"mcpServers": {
"youtube-analytics": {
"command": "node",
"args": ["/absolute/path/to/youtube-mcp/server.js"]
}
}
}5. Descarga del informe de alcance (de varias horas a 2 días después del registro)
npm run download-reportsLos CSV se acumulan en data/reach/<report_type>/. Los informes desaparecen en YouTube a los 60 días
(30 días para los datos pasados), por lo que debes seguir ejecutándolo periódicamente (a ser posible una vez al día).
En Windows puedes usar el Programador de tareas, y en Mac/Linux registrarlo en cron.
La herramienta get_reach lee estos CSV locales.
Lista de herramientas públicas
Nombre de la herramienta | Argumentos | Lo que devuelve |
|
| Reproducciones, tiempo de visualización y variación de suscriptores de todo el periodo |
|
| Vídeos con más reproducciones y sus cifras básicas |
|
| Cifras detalladas del vídeo especificado |
|
| Curva de retención (en tramos del 10%) + punto de mayor abandono |
|
| Desglose de las fuentes de tráfico |
|
| Impresiones de miniaturas y CTR (agregado desde los CSV acumulados en local) |
|
| Lista de comentarios (por relevancia) |
La salida no es JSON crudo, sino una tabla de texto con cifras redondeadas y un máximo de unas 20 entradas (para reducir el consumo de contexto del lado de Claude).
Limitaciones conocidas
Los datos de Analytics API tienen un desfase de hasta unos 2 días respecto a lo que muestra YouTube Studio. Puede que no se puedan obtener «las cifras de ayer».
get_reachsolo ve los CSV ya descargados en local. No aparecen datos de los periodos en los que no se ejecutódownload-reports.js.La estructura exacta de columnas de
channel_reach_basic_a1/channel_reach_combined_a1no está confirmada.get_reachtiene un fallback que lee adivinando los nombres de columna por palabras clave, pero conviene comprobarlo una vez con las cabeceras del CSV realmente descargado.No se incluyen alcances de escritura (solo lectura). No existe ninguna vía para modificar o eliminar vídeos por error.
Ramas según el destino de despliegue
Dónde se quiere usar | Lo que se necesita |
Aplicación Claude Desktop | Basta con iniciar |
claude.ai (Web/móvil) | Hay que publicarlo como servidor MCP remoto accesible por HTTPS |
Si también quieres usarlo desde el móvil, lo más rápido es cambiar StdioServerTransport por StreamableHTTPServerTransport
(@modelcontextprotocol/sdk/server/streamableHttp.js) y compartir el entorno de hosting existente.
This server cannot be deployed
Maintenance
Related MCP Connectors
Your YouTube channels’ private analytics for AI assistants: revenue, views, retention. Read-only.
AI YouTube analyst in Claude for creators: audit, fix, decide what to make next, grow subs.
YouTube for AI agents: transcripts, comments, video stats, channel monitor, Shorts captions.
YouTube research for AI assistants: channel and video stats, transcripts and comments, outlier videos that beat their channel's average, viral title formats, keyword ideas, similar thumbnails and channels, YouTube rankings and competitor tracking.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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 npm1MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to access YouTube organic analytics, including channel stats, video performance, watch time, and audience engagement, via the YouTube Data API v3 and Analytics API v2.635 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to retrieve YouTube channel overviews, Studio analytics, video performance, traffic source breakdowns, and comments for sentiment analysis using natural language prompts.81MIT
- FlicenseAqualityCmaintenanceEnables Claude to retrieve YouTube transcripts, search videos and channels, fetch metadata and playlists, analyze engagement, and access trending content via natural language.1514 npm-