Skip to main content
Glama

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 MCP Server

Configuración

1. Google Cloud Console

  1. Crear un proyecto

  2. Activar las siguientes 3 APIs

    • YouTube Analytics API

    • YouTube Reporting API

    • YouTube Data API v3

  3. Configurar la pantalla de consentimiento de OAuth (tipo de usuario = externo, añadir tu cuenta de Google como usuario de prueba)

  4. En Credenciales > ID de cliente de OAuth > Tipo de aplicación = Aplicación de escritorio, crear y descargar el JSON

  5. Colocar el JSON descargado con el nombre client_secret.json en la raíz de este repositorio

    No commitear jamás client_secret.json ni token.json, que se genera tras la primera autenticación. Ya está en .gitignore, pero ten cuidado de no hacer git add -f por 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 install

3. 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-job

La 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 start

Para 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-reports

Los 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

get_channel_summary

start_date, end_date

Reproducciones, tiempo de visualización y variación de suscriptores de todo el periodo

list_top_videos

start_date, end_date, limit

Vídeos con más reproducciones y sus cifras básicas

get_video_stats

video_id, start_date, end_date

Cifras detalladas del vídeo especificado

get_retention_curve

video_id, start_date(opcional), end_date(opcional)

Curva de retención (en tramos del 10%) + punto de mayor abandono

get_traffic_sources

video_id o start_date+end_date

Desglose de las fuentes de tráfico

get_reach

start_date, end_date

Impresiones de miniaturas y CTR (agregado desde los CSV acumulados en local)

get_comments

video_id, limit

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_reach solo 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_a1 no está confirmada. get_reach tiene 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 npm start (stdio) en local

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.

A
license - permissive license
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
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with comprehensive YouTube analytics and channel management capabilities, including channel performance, video analytics, audience insights, and content strategy tools.
    39
    1
  • 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
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    6
    21
    MIT

View all related MCP servers

Related MCP Connectors

  • YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.

  • Agent-callable creator intelligence: 952+ scored YouTube creators across 180 niches.

  • Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…

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

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