Unofficial Apple Music for macOS
Pide una playlist. Obtén una real, reproduciéndose en Apple Music — sin cuenta, nada almacenado.
Documentación
Servidor MCP no oficial de Apple Music
Deja que Claude reproduzca tu música. Descarga, arrastra, haz doble clic. Así de fácil es la instalación.
Una sola solicitud. Una lista de reproducción real, en reproducción, sin las versiones explícitas.
⬇ Descargar para Apple Silicon
·
⬇ Descargar para Intel
¿No sabes cuál? Menú Apple → Acerca de esta Mac. "Apple M1/M2/M3…" es Apple Silicon.
notarizado por Apple · sin terminal · sin cuenta de desarrollador ·
todas las descargas y sumas de verificación
Pide música en lenguaje natural
"Crea una lista de reproducción de cumpleaños de Hogwarts para mi hijo. Solo bandas sonoras, nada de miedo."
"Ya me cansé de The Heist. ¿Qué me recomiendas probar ahora?"
"Más parecido a ese disco del coro de Eric Ericson, pero sin la mitad navideña."
Claude hace el trabajo en la app de Música que ya tienes. La lista que crea es una lista real. Se sincroniza con tu teléfono.
| Listas de reproducción | Crearlas, añadirles canciones, reordenarlas, renombrarlas, organizarlas en carpetas, eliminarlas |
| Tu biblioteca | Buscarla, explorarla, calificar canciones, marcar favoritos, ver lo que has reproducido |
| Reproducción | Reproducir, pausar, saltar, buscar, aleatorio, repetir, volumen, AirPlay |
| El catálogo completo | Buscar en todo Apple Music, reproducir, añadir a tu biblioteca |
Reproducir o añadir música que no posees requiere una suscripción a Apple Music. Es una regla de Apple, no de este servidor. Todo lo demás funciona sin ella.
Instalación
Necesitas macOS 12 o posterior y la app de Música iniciada con tu cuenta de Apple. Reproducir o añadir música del catálogo requiere macOS 14 o posterior.
- Descarga la app para Apple Silicon, o la versión para Intel.
- Descomprímela. Arrastra UnofficialAppleMusicMCP.app a tu carpeta de Aplicaciones.
- Haz doble clic una vez.
Eso es toda la instalación. Sin Python, sin Homebrew, sin Terminal. La app incluye todo lo que necesita.
Apple notarizó estas versiones, así que la app se abre sin problemas. Sin advertencia de "desarrollador no identificado", sin trucos de clic derecho, sin visitas a Ajustes del Sistema.
Arrástrala a Aplicaciones primero. Si la abres desde tu carpeta de Descargas, macOS la ejecuta desde una copia temporal que desaparece al salir, y el asistente en segundo plano termina apuntando a un archivo que ya no existe.
La ventana de configuración te hace tres preguntas. Puedes omitir cualquiera de ellas.
| Pregunta | Qué ocurre | Por qué |
|---|---|---|
| ¿Instalar el asistente en segundo plano? | Añade un pequeño programa que se inicia al iniciar sesión | Esto permite que el permiso pertenezca a la app en lugar de a tu terminal |
| ¿Configurar tus apps de IA? | Añade una entrada a Claude Desktop, Claude Code, Cursor, Windsurf, Codex o VS Code | Para que puedan encontrarla. Tus otras herramientas permanecen intactas, y hace una copia de seguridad de cada archivo primero |
| ¿Permitir acceso a Música? | Muestra el cuadro de permisos estándar de macOS | Aprobarlo aquí significa que el permiso recae en esta app |
Reinicia las apps de IA que elegiste y listo.
¿Quieres compilarla tú mismo? Fírmala. Consulta Desde el código fuente. macOS vincula el permiso de Música a una firma. Una app sin firmar parece una app nueva en cada compilación, por lo que pedirá permiso cada vez.
Por qué pide tan poco
El software puede acceder a lo que le permitas. Eso importa más de lo habitual aquí, porque este software recibe órdenes de una IA.
El servidor de Apple Music más capaz que encontré necesita un permiso de macOS llamado Accesibilidad. El nombre engaña. No tiene nada que ver con lectores de pantalla ni tecnología de asistencia. Permite que una app controle otra: escribir teclas, hacer clic en botones, leer lo que hay en tu pantalla.
macOS no lo limita a una sola app. Lo concedes para todo o no lo concedes.
Así que un servidor de música con ese permiso también puede escribir en tu correo. Y recibe instrucciones de un modelo que lee texto que nadie ha verificado: nombres de canciones, títulos de listas, lo que sea que acaba de buscar. Un título de lista con trampa se convierte en una pulsación de tecla.
Este fork eliminó ese código. Pide tres cosas en su lugar:
| Obtiene | No obtiene |
|---|---|
| Control de la app de Música, y nada más. Revócalo en Ajustes del Sistema cuando quieras | El permiso de Accesibilidad. No queda código que pudiera usarlo |
| Una conexión a Apple Music, para añadir canciones a tu biblioteca | Ningún navegador, tus cookies, tus pestañas |
| Un programa en segundo plano, iniciado al iniciar sesión | Los permisos de tu terminal, ni nada más en tu Mac |
Esa es la lista completa, y un conjunto de pruebas hace fallar la compilación si algo de eso vuelve a aparecer.
Aun así reproduce todo el catálogo de Apple Music. La mayoría de los servidores pagan por ello con el permiso anterior. Este usa el MusicKit propio de Apple, firmado con la identidad de la app: un cuadro de aprobación, sin cuenta de desarrollador y sin contraseña ni clave almacenada en tu Mac.
"Seguro" es el objetivo, no un certificado. Nadie independiente ha auditado esto. Las afirmaciones que merecen confianza son las que una prueba puede verificar, y esas se enumeran a continuación.
Por qué una app en lugar de un comando
macOS culpa al padre. Cuando tu app de IA lanza un programa auxiliar, el permiso recae en la app de IA, no en el auxiliar. Por eso la configuración habitual entrega "controlar Música" a todo tu terminal y a todo lo que ejecutes desde él.
Esta app se divide en dos en su lugar:
Claude Desktop ──stdio──▶ shim ──unix socket (0600)──▶ helper ──▶ Music.app
no permissions owns the grant
El adaptador habla con Claude y no puede tocar Música. El auxiliar posee el permiso y lo inicia el propio macOS. Tienes una fila en Ajustes del Sistema que puedes desactivar, y tu terminal no recibe nada. docs/PERMISSIONS.md tiene los detalles.
Lo que nunca hará
| Sin Accesibilidad | Sin pulsaciones de teclas falsas, sin clics falsos, sin leer ventanas de otras apps |
| Sin navegador | Sin Playwright, sin Chrome controlado desde la app |
| Sin leer tu navegador | Nunca toca las cookies de Safari ni ejecuta JavaScript en tus pestañas |
| Sin abrir enlaces | Lee enlaces de Apple Music, nunca los entrega a un navegador |
| Sin shell | Ejecuta exactamente un programa: osascript, con tiempo de espera |
| Sin contraseñas almacenadas | No hay nada en ~/.config que valga la pena robar |
| Sin APIs privadas | Solo api.music.apple.com y la API pública de búsqueda de Apple |
Cada fila es una prueba en tests/test_capability_invariants.py,
que se ejecuta como su propio trabajo de CI. Eliminar un subsistema es un evento único. Mantenerlo eliminado es una propiedad.
Para desarrolladores
Un fork endurecido de epheterson/applemusic-mcp. El proyecto original hace más y siempre lo hará: Windows y Linux, los reproductores web de Chrome y Safari, y la cola Up Next, que vivía dentro del reproductor web y no podía sobrevivir a su eliminación. Este fork los cambia por un radio de impacto menor y un instalador que tus familiares pueden usar.
Con pip, pipx o uvx
La rueda incluye el mismo asistente MusicKit firmado que la app, así que es una instalación completa, no reducida.
pipx install secure-applemusic-mcp-for-osx # or: uv tool install …
Cada versión también tiene la rueda adjunta con sumas de verificación, si prefieres verificar un archivo primero.
No hay ventana de configuración en esta ruta, así que dos pasos son tuyos.
1. Añádelo a tu cliente MCP. Para Claude Desktop, en
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"unofficial-apple-music": {
"command": "secure-applemusic-mcp",
"args": ["serve"]
}
}
}
Para Claude Code: claude mcp add unofficial-apple-music -- secure-applemusic-mcp serve.
Otros clientes usan el mismo comando en su propio archivo de configuración. Usa la ruta completa si no está en el PATH de tu cliente, ya que las apps con interfaz gráfica a menudo no heredan un shell
PATH. which secure-applemusic-mcp imprime qué pegar.
2. Aprueba Apple Music una vez. Reinicia el cliente y pídele que ejecute
config(action='signin'). Aparece un aviso nativo y no se almacena nada. Hasta que lo hagas, todo funciona excepto añadir música que no posees.
La rueda es solo para macOS y cubre ambos chips. pip se niega a instalarla en otros sistemas en lugar de darte una versión sin MusicKit.
Desde el código fuente
git clone https://github.com/jaminben/secure-applemusic-mcp-for-osx
cd secure-applemusic-mcp-for-osx
./install.sh --scoped --sign "My Local Signing Cert" # or plain ./install.sh
tools/make-signing-cert.sh # one-off local signing cert
SIGN_ID="Apple Music MCP Self-Signed" make app # build a signed .app
install.sh crea un entorno virtual 0700 privado desde el checkout en el que estás.
Nada se canaliza desde la red a un shell. Un simple
./install.sh omite el paquete y configura el servidor stdio más simple sin alcance.
Sin el asistente MusicKit incluido, un checkout del código fuente recurre a un token opcional de desarrollador de Apple (login --dev), que también desbloquea metadatos de catálogo más ricos, listas y recomendaciones.
Compartir una versión que hayas creado
La versión
está notarizada, así que se abre en cualquier Mac sin nada que hacer clic. Solo envíales la correcta: -arm64 para Apple Silicon, -x86_64 para Intel.
Tu propia versión es diferente. La autofirma no está notarizada, macOS la rechaza en la primera apertura y el viejo truco del clic derecho ya no funciona. Tu amigo necesitaría:
Ajustes del Sistema → Privacidad y seguridad → desplázate hacia abajo → Abrir de todos modos
La autofirma sigue siendo útil, porque le da a la app una identidad estable y el permiso de Música sobrevive a las recompilaciones.
Para entregar la tuya tan limpia como la versión oficial, fírmala con un certificado de Developer ID Application y notarízala. make release ejecuta toda la secuencia, incluido el sellado del ticket en el paquete. (Un zip hecho antes del sellado aún necesita la red para validarse, que es la razón habitual por la que una app "notarizada" se rechaza en la máquina de otra persona).
SIGN_ID="Developer ID Application: Your Name (TEAMID)" make release
Las credenciales de notarización están documentadas al principio de
tools/notarize.sh. Necesita una cuenta de desarrollador de Apple de pago ($99/año). Nada más cambia en la app.
Seguimiento del proyecto original
MIT, © Eric Pheterson, conservado en su totalidad. Bifurcado en 0acf697; el historial original se conserva en git y en CHANGELOG-upstream.md.
Tomamos las correcciones de seguridad y funcionalidad del proyecto original para los módulos que conservamos, e ignoramos las confirmaciones de funciones que tocan subsistemas eliminados. Las eliminaciones son grandes, así que haz cherry-pick por archivo en lugar de fusionar:
git fetch upstream --tags
git log --oneline fork-base..upstream/main -- src/applemusic_mcp/applescript.py
Las pruebas de capacidad son la red de seguridad para un cherry-pick que podría reintroducir una capacidad eliminada.
Desinstalación
Arrastra la app a la Papelera y pega esto en Terminal:
launchctl bootout gui/$(id -u)/io.github.jaminben.secure-applemusic-mcp
rm -f ~/Library/LaunchAgents/io.github.jaminben.secure-applemusic-mcp.plist
tccutil reset AppleEvents io.github.jaminben.secure-applemusic-mcp
Elimina la entrada unofficial-apple-music de la configuración de Claude Desktop; hay una copia de seguridad junto a ella. Para borrar también la caché y el registro de auditoría, elimina
~/.config/applemusic-mcp y ~/.cache/applemusic-mcp. Desde una instalación desde el código fuente:
./install.sh --uninstall.
Nunca le des el permiso de Accesibilidad. No puede usarlo. Si algo te lo pide, es un error. Por favor, repórtalo.
Seguridad
SECURITY.md tiene el modelo de amenazas, qué es y qué no es accesible, y los riesgos que quedan: la propia app de Música no está en un sandbox, la inyección de prompts es real y este servidor no tiene sandbox propio.
Tres problemas heredados del proyecto original están corregidos aquí: una verificación de enlaces de Apple Music que podía engañarse, una protección contra path traversal en el recurso exports:// que no hacía nada, y operaciones destructivas que actuaban sobre una suposición de subcadena.
CHANGELOG.md tiene los detalles
y DISCLOSURE.md rastrea cómo se informaron al proyecto original.
Preguntas
¿Necesito una cuenta de desarrollador de Apple, una clave API o un archivo .p8?
No. El MusicKit de Apple firma cada solicitud usando la firma de la propia app más tu aprobación única. No hay clave que crear, pegar o almacenar. El token de desarrollador opcional solo aumenta el límite de velocidad de Apple para trabajos masivos como importar una lista enorme.
¿Necesito una suscripción a Apple Music?
No para tu propia biblioteca, tus listas de reproducción o la reproducción local. Sí para reproducir o
agregar cualquier cosa del catálogo de Apple.
¿Funciona en Windows o Linux? No. Controla directamente la app de Música de Mac. Usa upstream si necesitas esos sistemas.
¿Con qué apps de IA funciona? Claude Desktop, Claude Code, Cursor, Windsurf, Codex y VS Code. La ventana de configuración encuentra las que tienes y las configura por ti.
¿Se almacena o envía algo a algún lugar? No se almacena ninguna contraseña, porque no hay una. La app se comunica con Apple y con nada más. Sin seguimiento, sin servicios de terceros, sin cuenta con este proyecto.
¿Qué me pedirá macOS? Dos cosas: permiso para controlar la app de Música y permiso para usar Apple Music. Nunca pide Accesibilidad, nunca controla un navegador y nunca envía clics falsos.
¿Cómo la actualizo? Descarga el último zip, reemplaza la app, reinicia tu app de IA. Los enlaces de descarga anteriores siempre apuntan a la versión más reciente.
¿Esto está hecho por Apple? No. Es un proyecto independiente, no afiliado, respaldado ni respaldado por Apple. "Apple Music" y "MusicKit" son marcas comerciales de Apple.
Otros servidores MCP de Apple Music
Análisis completo con fuentes en docs/COMPARISON.md. La versión corta:
| Mejor para | ¿Necesita cuenta de desarrollador? | Instalación | |
|---|---|---|---|
| kennethreitz/mcp-applemusic | Algo pequeño que puedas leer de una sentada | no | clonar + editar JSON |
| epheterson/applemusic-mcp | La mayoría de funciones; Windows/Linux; cola Up Next | no | pip/uvx + editar JSON |
| Cifero74/mcp-apple-music | La API REST oficial | sí | asistente + editar JSON |
| este fork | Cualquiera que no quiera abrir Terminal | no | doble clic |
Vale la pena saberlo si estás eligiendo: el servidor de kennethreitz envía los parámetros de las herramientas directamente a AppleScript sin escaparlos, así que una comilla en un nombre de pista o lista de reproducción rompe la cadena. Reportado con una solución como issue #8.