Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

YouTube MCP

de granitebpsversión 1.1.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.granitebps/youtube-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

Independent, unofficial project for YouTube metadata, transcripts, comments, and search.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Marketing y redes sociales
  • Debes completar: YOUTUBE_API_KEY

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": [
        "-y",
        "@granitebps/youtube-mcp"
      ],
      "env": {
        "YT_PROVIDER": "your-value",
        "YOUTUBE_API_KEY": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add youtube --env YT_PROVIDER=your-value --env YOUTUBE_API_KEY=your-value -- npx -y @granitebps/youtube-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": [
        "-y",
        "@granitebps/youtube-mcp"
      ],
      "env": {
        "YT_PROVIDER": "your-value",
        "YOUTUBE_API_KEY": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "youtube": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@granitebps/youtube-mcp"
      ],
      "env": {
        "YT_PROVIDER": "your-value",
        "YOUTUBE_API_KEY": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • YT_PROVIDER env
    Video info/comments/search: "innertube" (default, unofficial, no key) or "api" (official YouTube Data API v3). Transcripts always use unofficial youtube-transcript-plus.
  • YOUTUBE_API_KEY secreto env
    Your own YouTube Data API v3 key (BYOK). Required when YT_PROVIDER is "api"; not used for transcripts.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub granitebps, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Marketing y redes socialesi

  • Más estrellas que el 0% de los otros 2987 servidores de esta categoría
  • Publicado en el registro más recientemente que el 64% de los otros 2987 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 2987 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro YouTube MCP?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: YOUTUBE_API_KEY

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (1.1.1) llegó al registro hace 18 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

An MCP server retrieving transcripts of YouTube videos

Se ejecuta en tu computadora★ 495MITActualizado hace 10 días
Instalar

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

Se ejecuta en tu computadora★ 244MITActualizado hace 10 días
Instalar

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

Se ejecuta en la nube★ 137MITActualizado hace 10 días
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

YouTube MCP

YouTube MCP lets an MCP client read YouTube video metadata, caption transcripts, comments, and search results. By default it needs no YouTube API key or account; an optional official YouTube Data API provider serves metadata, comments, and search with an API key.

Supports both stdio (local) and Streamable HTTP (VPS/remote) transports.

Access model

This is an independent, unofficial open-source project. It is not affiliated with, endorsed by, or sponsored by YouTube or Google.

  • The default innertube provider serves metadata, comments, and search through youtubei.js, using an unofficial/internal YouTube interface without a YouTube Data API key. Unofficial access may change, break, be restricted, or be blocked.
  • Select YT_PROVIDER=api and supply your own YOUTUBE_API_KEY to use the official YouTube Data API v3 for those three tools.
  • Transcript tools always use youtube-transcript-plus, regardless of YT_PROVIDER. Transcript retrieval remains unofficial and does not use the official Data API path or your API key.

Users are responsible for deciding whether an access method suits their use and for complying with applicable service terms and law. See access methods and service terms for the tool/backend mapping, BYOK setup, limitations, and software licenses.

Features

ToolDescription
search_youtubeSearch videos with filters for upload date and popularity
get_video_infoVideo metadata: title, channel, description, duration, views, likes, upload date, tags
get_video_commentsComment threads with author info, likes, and the replies YouTube includes
get_video_transcriptTranscripts (manual + auto-generated captions) with timestamps
get_transcript_languagesLists available manual and auto-generated caption languages
get_server_infoServer version, active provider, and the backend serving each tool

Requirements

  • Node.js 22 or newer. CI checks Node 22.21.0 and Node 24.

No YouTube API key required by default. The default innertube provider uses youtubei.js (an unofficial/internal YouTube interface) for video info, comments, and search. Transcripts always use youtube-transcript-plus. Neither needs an API key or authentication. See Providers for the optional official API.

Quick start

Your MCP client can run the published package without a clone:

npx -y @granitebps/youtube-mcp

The server uses stdio. Keep stdout reserved for MCP traffic.

Run from a cloned repository

To develop the server or use a clone directly:

git clone https://github.com/granitebps/youtube-mcp.git

cd youtube-mcp npm ci npm run build

Point your MCP client at the compiled entry point:

node /absolute/path/to/youtube-mcp/dist/index.js

Run npm run build after each source change. Do not use src or npm run dev as the client's stdio command; build output on stdout can corrupt MCP messages.

Client configuration

Each example starts with the npm package, followed by the local equivalent. Replace /absolute/path/to/youtube-mcp with your clone's path. Settings from Configuration can be added as environment variables.

Claude

Add the npm package to Claude Code:

claude mcp add youtube -- npx -y @granitebps/youtube-mcp

For a local build:

claude mcp add youtube -- node /absolute/path/to/youtube-mcp/dist/index.js

Claude Code uses local scope by default. Add --scope user before youtube to make the server available across projects.

Claude Desktop reads the same server from claude_desktop_config.json (on macOS, ~/Library/Application Support/Claude/claude_desktop_config.json). Restart the app after editing the file.

{

"mcpServers": { "youtube": { "command": "npx", "args": ["-y", "@granitebps/youtube-mcp"] } } }

For a local build, replace command and args with:

{

"command": "node", "args": ["/absolute/path/to/youtube-mcp/dist/index.js"] }

Codex

Add the npm package to ~/.codex/config.toml, or to .codex/config.toml in a trusted project:

[mcp_servers.youtube]

command = "npx" args = ["-y", "@granitebps/youtube-mcp"]

For a local build:

[mcp_servers.youtube]

command = "node" args = ["/absolute/path/to/youtube-mcp/dist/index.js"]

Restart Codex after editing the file.

OpenCode

Add the npm package to opencode.json or opencode.jsonc:

{

"$schema": "https://opencode.ai/config.json", "mcp": { "youtube": { "type": "local", "command": ["npx", "-y", "@granitebps/youtube-mcp"], "enabled": true } } }

For a local build, replace the command array with:

{

"command": ["node", "/absolute/path/to/youtube-mcp/dist/index.js"] }

Cursor

Add the npm package to .cursor/mcp.json in a project, or to ~/.cursor/mcp.json for global use:

{

"mcpServers": { "youtube": { "command": "npx", "args": ["-y", "@granitebps/youtube-mcp"] } } }

For a local build, replace command and args with:

{

"command": "node", "args": ["/absolute/path/to/youtube-mcp/dist/index.js"] }

GitHub Copilot (VS Code)

Add to your VS Code settings.json:

{

"mcp": { "servers": { "youtube": { "command": "npx", "args": ["-y", "@granitebps/youtube-mcp"] } } } }


VPS deployment (Streamable HTTP)

For remote deployment, the server runs as a persistent HTTP service using the Streamable HTTP transport (the current MCP standard, replacing the deprecated SSE transport).

1. Deploy to your VPS
# On your VPS

git clone https://github.com/granitebps/youtube-mcp.git cd youtube-mcp npm ci npm run build

Create .env (optional, for HTTP mode)

cp .env.example .env

Uncomment TRANSPORT=http, PORT, HOST as needed

YouTube often blocks datacenter IPs. If get_video_info returns ACCESS_BLOCKED with "Sign in to confirm you're not a bot", set YT_PROVIDER=api and YOUTUBE_API_KEY to serve metadata, comments, and search through the official API. See Providers.

2. Run with HTTP transport
# Using --http flag

node dist/index.js --http

Or using environment variable

TRANSPORT=http PORT=3000 node dist/index.js

Or using npm script

npm run start:http

The server will listen on http://0.0.0.0:3000/mcp.

3. Set up Nginx reverse proxy with TLS
server {

listen 443 ssl; server_name mcp.yourdomain.com;

ssl_certificate /etc/letsencrypt/live/mcp.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mcp.yourdomain.com/privkey.pem;

location /mcp { proxy_pass http://127.0.0.1:3000/mcp; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;

Required for SSE streaming

proxy_set_header Connection ''; proxy_buffering off; proxy_cache off; chunked_transfer_encoding on; } }

Get a free TLS certificate:

sudo apt install certbot python3-certbot-nginx

sudo certbot --nginx -d mcp.yourdomain.com

4. Keep it running with systemd

Create /etc/systemd/system/youtube-mcp.service:

[Unit]

Description=YouTube MCP Server After=network.target

[Service] Type=simple User=your_user WorkingDirectory=/path/to/youtube-mcp ExecStart=/usr/bin/node dist/index.js --http Restart=always RestartSec=5 Environment=TRANSPORT=http Environment=PORT=3000 Environment=HOST=127.0.0.1

[Install] WantedBy=multi-user.target

sudo systemctl daemon-reload

sudo systemctl enable youtube-mcp sudo systemctl start youtube-mcp sudo systemctl status youtube-mcp

5. Connect MCP clients to your VPS
GitHub Copilot (VS Code) — Remote
{

"mcp": { "servers": { "youtube": { "type": "http", "url": "https://mcp.yourdomain.com/mcp" } } } }

Claude Desktop — Remote
{

"mcpServers": { "youtube": { "type": "streamable-http", "url": "https://mcp.yourdomain.com/mcp" } } }


Usage Examples

Once connected, you can ask your AI agent things like:

  • *"Get info about this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ"*
  • *"Show me the top comments on video ID abc123"*
  • *"Get the transcript of this video in English"*
  • *"Summarize the transcript of https://youtu.be/xyz789"*
  • *"Search for Node.js tutorials uploaded this week, sorted by views"*
  • *"Find the most popular React videos from the last month"*

Tool Response Format

All tools return:

  • content: short human-readable text for chat-style MCP clients
  • structuredContent: JSON-shaped data for agents that need reliable fields

The server is intentionally JSON-first, text-second. Agents should prefer structuredContent when they need to filter, transform, or chain tool results.

Example shape from get_video_info:

{

"content": [ { "type": "text", "text": "📹 Example title\n\nChannel: Example channel\n..." } ], "structuredContent": { "videoId": "dQw4w9WgXcQ", "title": "Example title", "description": "Example description", "channelName": "Example channel", "channelId": "UC123", "uploadedAt": "Sep 14, 2017", "duration": "3m 33s", "durationSeconds": 213, "viewCount": "123456", "likeCount": "7890", "commentCount": null, "tags": ["music", "pop"], "thumbnailUrl": "https://..." } }

Values YouTube did not provide are null, never placeholders such as "0", "N/A" or "Unknown".

Errors

Failures return isError: true. The text starts with a code (❌ [ACCESS_BLOCKED] ...) and _meta["youtube-mcp/error"] carries the details:

{

"isError": true, "content": [{ "type": "text", "text": "❌ [ACCESS_BLOCKED] YouTube requires sign-in to access video C7OQHIpDlvA: Sign in to confirm you’re not a bot" }], "_meta": { "youtube-mcp/error": { "code": "ACCESS_BLOCKED", "message": "...", "retryable": false, "upstream": { "playabilityStatus": "LOGIN_REQUIRED", "reason": "Sign in to confirm you’re not a bot", "accessKind": "login_required" } } } }

The error is in _meta, not structuredContent, because MCP SDK clients validate any structuredContent against the tool's output schema, even on error results.

CodeMeaning
INVALID_INPUTNot a YouTube URL or 11-character video ID, or an invalid language code
ACCESS_BLOCKEDYouTube refused this client: HTTP 429/403, CAPTCHA, consent page, sign-in or bot check. upstream.accessKind is rate_limited, forbidden, login_required, consent_required, or quota_exceeded (official API quota used up). Says nothing about whether the video exists or has captions

| VIDEO_UNAVAILABLE | YouTube reports the video as ERROR, UNPLAYABLE, private or offline. upstream.reason is

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx