Skip to main content
Glama
Builderstar

youtube-music-cli-mcp

by Builderstar

[!IMPORTANT] Esta es una bifurcación (fork) no oficial de involvex/youtube-music-cli que añade un servidor MCP local stdio. No está afiliada con el proyecto original, YouTube ni Google. La bifurcación personalizada se compila desde el código fuente y no es el paquete npm anunciado por el proyecto original.

Consulta mcp/README.md para la instalación de MCP, herramientas, permisos y configuración del cliente.

🎵 youtube-music-cli

Un potente reproductor de música con interfaz de usuario de terminal (TUI) para YouTube Music

License: MIT

CaracterísticasInstalaciónUsoPluginsDocumentación


Características

  • 🎨 Hermosa TUI - Interfaz de terminal enriquecida construida con React e Ink

  • 🔍 Búsqueda - Encuentra canciones, álbumes, artistas y listas de reproducción

  • 📋 Gestión de cola - Construye y gestiona tu cola de reproducción

  • ❤️ Favoritos - Marca pistas como favoritas con f y míralas con Shift+F

  • 🔀 Aleatorio y repetición - Múltiples modos de reproducción

  • 🎚️ Control de volumen - Ajuste fino del volumen

  • 💡 Sugerencias inteligentes - Descubre pistas relacionadas

  • 🎨 Temas - Temas oscuro, claro, medianoche, matrix

  • 🔌 Sistema de plugins - Extiende la funcionalidad con plugins

  • ⌨️ Basado en teclado - Navegación eficiente estilo vim

  • 🖥️ Modo inmersivo - TUI de Windows a pantalla completa con visualizador de audio y efectos disco

  • 💾 Descargas - Guarda pistas/listas/artistas con Shift+D

  • 🏷️ Etiquetado de metadatos - Etiqueta automáticamente título/artista/álbum con carátula opcional

  • ⚡️ Completado de shell - ymc completions <bash|zsh|powershell|fish> emite scripts que puedes cargar o guardar para que la CLI (también disponible como ymc) complete subcomandos y banderas con tabulación

Apoya el proyecto original

Si encuentras youtube-music-cli útil, considera apoyar el desarrollo del proyecto original:

Tu apoyo ayuda a mantener este proyecto vivo y en mejora.

Hoja de ruta

Visita SUGGESTIONS.md para ver el backlog completo y usa docs/roadmap.md para entender el enfoque de implementación actual (crossfade + reproducción sin interrupciones) y los próximos pasos planificados para ecualizador/mejoras. El documento de hoja de ruta también explica cómo tomar trabajo para que los revisores y contribuyentes permanezcan alineados.

Requisitos previos

Requerido:

  • mpv - Reproductor multimedia para reproducción de audio

  • yt-dlp - Extracción de audio de YouTube

Instalación de requisitos previos

# With Scoop
scoop install mpv yt-dlp

# With Chocolatey
choco install mpv yt-dlp
brew install mpv yt-dlp
# Ubuntu/Debian
sudo apt install mpv
pip install yt-dlp

# Arch Linux
sudo pacman -S mpv yt-dlp

# Fedora
sudo dnf install mpv yt-dlp

Instalación

Node.js (Recomendado)

Requiere Node.js 18+ instalado.

npm install -g @involvex/youtube-music-cli

Bun

bun install -g @involvex/youtube-music-cli

Homebrew

brew tap involvex/youtube-music-cli https://github.com/involvex/youtube-music-cli.git
brew install youtube-music-cli

Lanzamientos de GitHub

https://github.com/involvex/youtube-music-cli/releases

Script de instalación (bash)

curl -fssl https://raw.githubusercontent.com/involvex/youtube-music-cli/main/scripts/install.sh | bash

Script de instalación (PowerShell)

iwr https://raw.githubusercontent.com/involvex/youtube-music-cli/main/scripts/install.ps1 | iex

Desde el código fuente

git clone https://github.com/involvex/youtube-music-cli.git
cd youtube-music-cli

# With bun (recommended for development)
bun install
bun run build
bun link

# With npm
npm install
npm run build
npm link

Uso

Modo interactivo

Inicia la TUI:

youtube-music-cli

Comandos CLI

# Play a specific track
youtube-music-cli play <video-id|youtube-url>

# Search for music
youtube-music-cli search "artist or song name"

# Play a playlist
youtube-music-cli playlist <playlist-id>

# Get suggestions based on current track
youtube-music-cli suggestions

# Playback control
youtube-music-cli pause
youtube-music-cli resume
youtube-music-cli skip
youtube-music-cli back

Modo inmersivo (Windows)

Inicia un reproductor visual a pantalla completa con reproducción real, controles de cola y visualización de audio. Requiere mpv y yt-dlp (igual que la reproducción normal).

# Standard immersive mode
youtube-music-cli --win32

# Search and play immediately
youtube-music-cli --win32 --search "artist song"

# With disco mode enabled
DISCO_MODE=true youtube-music-cli --win32

# Standalone Windows binary (Bun compile)
bun run build:win32
dist/ymc-win32.exe

Atajos de teclado en modo inmersivo:

Key

Action

/ or S

Abrir superposición de búsqueda

Tab

Cambiar tipo de búsqueda (vista de consulta)

Ctrl+A

Editar filtro de artista

Ctrl+L

Editar filtro de álbum

= / +

Subir volumen (+5%, vista de reproductor)

-

Bajar volumen (-5%, vista de reproductor)

+

Aumentar límite de resultados de búsqueda (vista de consulta)

-

Disminuir límite de resultados de búsqueda (vista de consulta)

Shift+D

Descargar resultado de búsqueda seleccionado

Space

Reproducir / Pausar

F

Alternar favorito (pista actual o búsqueda)

L

Menú de biblioteca (listas de reproducción, favoritos)

P

Abrir selector de listas de reproducción guardadas

E

Reproducir todos los favoritos

Shift+S

Alternar aleatorio

R

Ciclar repetición (desactivado → todo → una)

,

Abrir superposición de ajustes (Ctrl+, también en WT)

M

Crear mezcla desde resultado de búsqueda (vista de resultados)

D

Alternar modo disco

/

Navegar listas (superposiciones)

/

Pista anterior / siguiente

Enter

Seleccionar / reproducir (superposiciones)

Esc

Atrás / cerrar superposición

Q

Salir del modo inmersivo

Ctrl+C

Forzar salida

El pie de página muestra el estado de aleatorio/repetición/disco en una línea y los atajos priorizados en la siguiente. El favorito aleatorio está disponible desde el menú de biblioteca (L). Haz clic derecho en el icono de la bandeja del sistema para Ajustes o Salir (usa assets/icon.ico).

Las teclas multimedia globales (Alt+Teclas multimedia) también funcionan cuando la terminal no está enfocada en Windows con el runtime de Bun.

Solución de problemas de reproducción inmersiva

  • La información de la pista se muestra pero el tiempo no avanza / no hay audio: Pulsa Space para reanudar. El modo inmersivo inicia automáticamente la última sesión; si mpv fue pausado externamente (compartir pantalla, pérdida de foco), la interfaz ahora se sincroniza con PAUSED — pulsa Space de nuevo.

  • Compartir pantalla (Discord, Teams, OBS): Los espectadores remotos a menudo no oyen el audio de tu PC a menos que actives "compartir sonido del ordenador" / captura de audio del sistema. Es una limitación de captura de Windows, no que el reproductor enrute el audio solo hacia ti.

  • Requiere Bun para funciones nativas de Win32: Los atajos globales y el título de consola nativo usan @bun-win32/* a través de Bun. Ejecuta con bun run dev:win32 o el binario compilado ymc-win32.exe.

Completado de shell

Genera ayudas de completado de shell a través del alias ligero ymc que viene con la CLI. Ejecuta ymc completions <bash|zsh|powershell|fish> para imprimir el script de completado para tu shell, luego cárgalo o persístelo en tu perfil:

# Bash
source <(ymc completions bash)
ymc completions bash >> ~/.bash_completion

# Zsh
source <(ymc completions zsh)

# PowerShell
ymc completions powershell | Out-File -Encoding utf8 $PROFILE
Invoke-Expression (ymc completions powershell)

# Fish
ymc completions fish > ~/.config/fish/completions/ymc.fish

Si instalaste la CLI globalmente con un alias o nombre de script, asegúrate de que ymc apunte al mismo binario antes de generar los completados para que el script coincida con tu ruta de instalación.

Opciones

Flag

Short

Description

--theme

-t

Tema: dark, light, midnight, matrix

--volume

-v

Volumen inicial (0-100)

--shuffle

-s

Activar modo aleatorio

--repeat

-r

Modo de repetición: off, all, one

--headless

Ejecutar sin TUI

--win32

Modo inmersivo a pantalla completa (solo Windows)

--help

-h

Mostrar ayuda

Ejemplos

# Launch with matrix theme at 80% volume
youtube-music-cli --theme=matrix --volume=80

# Search and play in headless mode
youtube-music-cli search "lofi beats" --headless

# Play with shuffle enabled
youtube-music-cli play dQw4w9WgXcQ --shuffle

Atajos de teclado

Global

Key

Action

?

Mostrar ayuda

/

Buscar

p

Gestor de plugins

Shift+F

Vista de favoritos

g

Sugerencias

,

Ajustes

Esc

Volver

q

Salir

Reproducción

Key

Action

Space

Reproducir / Pausar

n /

Siguiente pista

b /

Pista anterior

Shift+→

Avanzar 10s

Shift+←

Retroceder 10s

=

Subir volumen

-

Bajar volumen

f

Alternar favorito

s

Alternar aleatorio

r

Ciclar modo de repetición

Navegación

Key

Action

/ k

Mover arriba

/ j

Mover abajo

Enter

Seleccionar

Esc

Atrás

Descargas

Key

Action

Shift+D

Descargar canción/artista/lista de reproducción seleccionada o vista de lista de reproducción

Plugins

¡Extiende youtube-music-cli con plugins!

Gestión de plugins

Modo TUI: Pulsa p para abrir el gestor de plugins.

Modo CLI:

# List installed plugins
youtube-music-cli plugins list

# Install from default repository
youtube-music-cli plugins install adblock

# Install from GitHub URL
youtube-music-cli plugins install https://github.com/user/my-plugin

# Enable/disable
youtube-music-cli plugins enable my-plugin
youtube-music-cli plugins disable my-plugin

# Update
youtube-music-cli plugins update my-plugin

# Remove
youtube-music-cli plugins remove my-plugin

Plugins disponibles

Plugin

Description

adblock

Bloquear anuncios y contenido patrocinado

lyrics

Mostrar letras sincronizadas

scrobbler

Hacer scrobble a Last.fm

discord-rpc

Integración con Discord Rich Presence

notifications

Notificaciones de escritorio para cambios de pista

Desarrollo de plugins

Consulta la Guía de desarrollo de plugins y la Referencia de la API de plugins.

# Start from a template
cp -r templates/plugin-basic my-plugin
cd my-plugin

# Edit plugin.json and index.ts
# Install for testing
youtube-music-cli plugins install /path/to/my-plugin

Configuración

La configuración se almacena en ~/.youtube-music-cli/config.json:

{
	"theme": "dark",
	"volume": 70,
	"shuffle": false,
	"repeat": "off",
	"streamQuality": "high",
	"downloadsEnabled": false,
	"downloadDirectory": "D:/Music/youtube-music-cli",
	"downloadFormat": "mp3"
}

Calidad de transmisión

Quality

Description

low

64kbps - Ahorra ancho de banda

medium

128kbps - Equilibrado

high

256kbps+ - Mejor calidad

Ajustes de descarga

  • Habilita/deshabilita descargas en Ajustes (,).

  • Establece tu directorio de descargas en Ajustes → Carpeta de descargas.

  • Elige el formato en Ajustes → Formato de descarga (mp3 o m4a).

  • Las descargas se guardan como:

    • <downloadDirectory>/<artist>/<album>/<title>.mp3 (o .m4a)

  • Los archivos MP3/M4A se etiquetan con metadatos (title, artist, album) e incluyen carátula cuando está disponible.

Solución de problemas

mpv no encontrado

Asegúrate de que mpv esté instalado y en tu PATH:

mpv --version

Al iniciar, la CLI ahora verifica mpv y yt-dlp. En terminales interactivas puede solicitar ejecutar un comando de instalación automáticamente (con confirmación explícita primero).

Sin audio

  1. Comprueba que el volumen no esté silenciado (= para subir)

  2. Verifica que yt-dlp funcione: yt-dlp --version

  3. Prueba con otra pista

Problemas de renderizado de la TUI

Si el renderizado se ve mal, intenta redimensionar la ventana de tu terminal o reiniciar la aplicación.

El plugin no carga

  1. Comprueba que la sintaxis de plugin.json sea válida

  2. Verifica que el plugin esté habilitado: youtube-music-cli plugins list

  3. Revisa los registros para ver errores

Contribuciones

¡Las contribuciones son bienvenidas!

  1. Haz un fork del repositorio

  2. Crea una rama de características: git checkout -b feature/my-feature

  3. Haz tus cambios

  4. Ejecuta las pruebas: bun run test

  5. Haz commit: git commit -m 'feat: add my feature'

  6. Haz push: git push origin feature/my-feature

  7. Abre una Pull Request

Desarrollo

# Install dependencies
bun install

# Run in development mode
bun run dev

# Build
bun run build

# Lint and format
bun run lint:fix
bun run format

# Type check
bun run typecheck

Pila tecnológica

  • Runtime: Node.js 18+ / Bun

  • Framework de UI: Ink (React para CLI)

  • Lenguaje: TypeScript

  • Audio: mpv + yt-dlp

  • API: YouTube Music Innertube API

Licencia

MIT © Involvex


DocumentaciónReportar errorSolicitar función

Hecho con ❤️ para los amantes de la música

-
license - not tested
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 Connectors

  • YouTube MCP — wraps the YouTube Data API v3 (BYO API key)

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.

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/Builderstar/youtube-music-cli-mcp-fork'

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